Разработка программы для редактирования аудио файлов

Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 23:28, курсовая работа

Описание работы

Целью данного курсового проекта является написание программы которая позволяла бы воспроизводить и обрезать MP3 и WAV файлы, а также изменять громкость и скорость воспроизведения дорожки, вырезанного фрагмента WAV файла.
Для реализации данного проекта был выбран язык C#, как один из лучших и простых объектно-ориентированных языков программирования на данный момент.

Содержание работы

ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ 4
1.1ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ 4
1.2 ПОСТАНОВКА ЗАДАЧИ 9
2 ПРОЕКТИРОВАНИЕ 10
2.1 ВЫБОР ОПЕРАЦИОННОЙ СИСТЕМЫ 10
2.2 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ 10
2.3 ВЫБОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРОМЕЖУТОЧНОГО УРОВНЯ 10
2.4 ВЫБОР ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ 11
3 РАЗРАБОТКА 12
3.1 ВЫБОР АРХИТЕКТУРЫ СИСТЕМЫ 12
3.2 ПОСТРОЕНИЕ ДИАГРАММ ПРЕЦЕДЕНТОВ 12
3.3 РАЗРАБОТКА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ 14
3.4 РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА 18
3.5 РАЗРАБОТКА АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ 19
3.6 РАЗРАБОТКА АЛГОРИТМОВ РАБОТЫ ПРОГРАММЫ 25
3.6.1 Метод TrimWavFile класса AudioProcessing 26
3.6.2 Метод TrimMp3 класса AudioProcessing 27
3.6.3 Метод ChangeVolume класса AudioProcessing 28
3.6.4 Метод speedUpX1_2 класса AudioProcessing 29
3.6.5 Метод speedDownX1_2 класса AudioProcessing 29
4 ТЕСТИРОВАНИЕ ПРОГРАММЫ 31
4.1 ТЕСТИРУЕМЫЕ ФУНКЦИИ 31
4.2 ТЕСТИРОВАНИЕ 32
5 РУКОВОДСТВО ОПЕРАТОРА 34
5.1 НАЗНАЧЕНИЕ ПРОГРАММЫ 34
5.2 ТЕХНИЧЕСКИЕ СРЕДСТВА ДЛЯ ЗАПУСКА ПРОГРАММЫ 34
5.3 РАБОТА С ПРОГРАММОЙ 34
ВЫВОДЫ 37
ПЕРЕЧЕНЬ ССЫЛОК 38

Файлы: 1 файл

Пояснительная записка.docx

— 1.41 Мб (Скачать файл)


 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ 3

1 ПОСТАНОВКА ЗАДАЧИ 4

1.1Теоретическое введение 4

1.2 Постановка задачи 9

2 ПРОЕКТИРОВАНИЕ 10

2.1 Выбор операционной системы 10

2.2 Выбор языка программирования 10

2.3 Выбор программного обеспечения промежуточного уровня 10

2.4 Выбор инструментальных средств 11

3 РАЗРАБОТКА 12

3.1 Выбор архитектуры системы 12

3.2 Построение диаграмм прецедентов 12

3.3 Разработка вариантов использования 14

3.4 Разработка графического интерфейса 18

3.5 Разработка архитектуры приложения 19

3.6 Разработка алгоритмов работы программы 25

3.6.1 Метод TrimWavFile класса AudioProcessing 26

3.6.2 Метод TrimMp3 класса AudioProcessing 27

3.6.3 Метод ChangeVolume класса AudioProcessing 28

3.6.4 Метод speedUpX1_2 класса AudioProcessing 29

3.6.5 Метод speedDownX1_2 класса AudioProcessing 29

4 ТЕСТИРОВАНИЕ ПРОГРАММЫ 31

4.1 Тестируемые функции 31

4.2 Тестирование 32

5 РУКОВОДСТВО ОПЕРАТОРА 34

5.1 Назначение программы 34

5.2 Технические средства для запуска программы 34

5.3 Работа с программой 34

ВЫВОДЫ 37

ПЕРЕЧЕНЬ ССЫЛОК 38

ПРИЛОЖЕНИЯ 39

ПРИЛОЖЕНИЕ А 39

ПРИЛОЖЕНИЕ Б 43

 

 

 

 

 

ВВЕДЕНИЕ

 

На  сегодняшний день существует множество  различных программ для обработки  цифрового аудио и каждая из них  уникальна по-своему. Основные возможности таких программ это, как минимум, обеспечение возможности записи (оцифровки) аудио и сохранение на диск. Развитые представители такого рода программ позволяют намного больше: запись, многоканальное сведение аудио на нескольких виртуальных дорожках, обработка специальными эффектами (как встроенными, так и подключаемыми извне), очистка от шумов, имеют развитую навигацию и инструментарий в виде спектроскопа и прочих виртуальных приборов, управление/управляемость внешними устройствами, преобразование аудио из формата в формат, генерация сигналов, запись на компакт диски и многое другое.

Целью данного курсового проекта является написание программы которая позволяла бы воспроизводить и обрезать MP3 и WAV файлы, а также изменять громкость и скорость воспроизведения дорожки, вырезанного фрагмента WAV файла.

Для реализации данного проекта был  выбран язык C#, как один из лучших и простых объектно-ориентированных языков программирования на данный момент.

Для достижения цели курсовой работы поставлены следующие задачи:

    • Изучить литературу по данной теме
    • Выбрать библиотеку для работы с аудио
    • Написать классы позволяющие воспроизводить и обрабатывать WAV и MP3 файлы

1 ПОСТАНОВКА ЗАДАЧИ

 

    1. Теоретическое введение

 

      1. Формат WAV

 

WAVE или WAV является короткой формой Wave Audio File Format (реже именуемой как Аудио для Windows). Этот формат является стандартом для хранения аудио потока на ПК. Он является сферой приложения формата RIFF для хранения аудио в «цепочках», это очень напоминает форматы 8SVX и AIFF, используемые компьютерами Amiga и Macintosh соответственно. Это также основной формат на системах Windows для хранения обычного несжатого звука. Как правило, для этого применяется кодирование методом линейной импульсно-кодовой модуляции.

Как WAV, так и AIFF совместимы с операционными системами Windows, Macintosh или Linux. Формат также учитывает некоторые отличия процессоров Intel, такие как порядок байтов от младшего к старшему. RIFF формат выполняет роль обертки для различных кодеков аудио сжатия.

Несмотря  на то, что WAV файл может содержать сжатое аудио, наиболее обычным его применением является хранение как раз несжатого аудио в формате линейной импульсно-кодовой модуляции (LPCM). Стандартным форматом Audio-CD, например, является аудио в формате LPCM, с 2 каналами, частотой дискретизации 44 100 Гц и 16 бит на сэмпл (минимальная часть аудио сигнала, содержащая амплитудное значение звуковой волны). Так как формат LPCM хранит несжатое аудио, которое абсолютно идентично оригиналу, это позволяет использовать его профессиональным пользователям и аудио экспертам для получения максимального качества звучания. WAV аудио файл также может быть изменен практически в любом аудио редакторе. WAV формат работает со сжатым звуком в системах семейства Windows через Audio Compression Manager (ACM). Любой ACM кодек может быть использован для сжатия WAV файла. Пользовательский интерфейс для ACM может быть доступен через множество программ, включая и стандартную программу для записи звука в некоторых версиях Windows.

Начиная с Windows 2000, появился заголовок WAVE_FORMAT_EXTENSIBLE, который позволял хранить многоканальные аудио данные, учитывал расположение динамиков, исключал неоднозначности в плане типов сэмпла и размеров контейнера в стандартном WAV формате. Также он поддерживал произвольные расширения формата чанка.

Также существует много несоответствий в  формате WAV: например, 8-битные данные являются без знаковыми, в то время как 16-битные – знаковыми.

WAV файлы могут содержать встроенные IFF «списки», которые могут содержать несколько «подчанков».

Будучи  форматом, производным от Resource Interchange File Format (RIFF), WAV-файлы могут быть иметь метаданные (тэги) в чанке INFO. В дополнение к этому, в WAV файлы может быть встроены метаданные стандарта Extensible Metadata Platform (XMP).

WAV файлы достаточно большие, что делает этот формат неудобным для обмена по сети Интернет, и это сильно подрывает его популярность. Однако, этот формат – как правило, чаще всего используется для сохранения первозданного вида для файлов высокого качества в таких случаях, где размер свободного дискового пространства не является ограничением. Он также используется в программах для редактирования аудио, где экономят время на сжатии и распаковке данных.

 

      1. Формат MP3

 

MP3 – это наиболее  популярный формат хранения и  передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.

В формате MP3 используется алгоритм сжатия с потерями, разработанный для существенного уменьшения размера данных, необходимых для воспроизведения записи и обеспечения качества воспроизведения звука очень близкого к оригинальному (по мнению большинства слушателей).

Для MP3 написано множество  отличных программ (кодировщиков, проигрывателей и т.д.), налажено производство аппаратных (стационарных, карманных и автомобильных) плееров, каждый современный телефон поддерживает MP3-мелодии (и даже имеет встроенный плеер для их удобного воспроизведения). По сравнению со многими другими форматами сжатия аудио MP3 обеспечивает лучшее качество звучания и сегодня по своей популярности занимает, пожалуй, второе место после Audio CD.

Высокая степень сжатия в MP3 достигается за счёт достаточно сложного алгоритма кодирования. Используются как математические методы компрессии, так и особенности человеческого слуха (психоакустическая модель): эффект маскировки слабого звука одной частоты более громким звуком такой же или соседней частоты, понижение чувствительности уха к тихому звуку сразу после громкого, невосприимчивость к звукам ниже определённого уровня громкости.

Рисунок 1.1 — пример графика частот MP3 файла

 

Поток звука при кодировании  разбивается на равные по участки (фреймы). Каждый из фреймов кодируется отдельно со своими параметрами и содержит заголовок, в котором эти параметры указаны. Сжатие может быть выполнено с разным качеством и соответственно размером конечного файла.

Степень сжатия характеризуется  битрейтом (bitrate) - количество передаваемой за единицу времени информации. Файлы MP3 обычно закодированы с битрейтом от 64 до 320 килобит в секунду (kbps или kb/s), а также с переменным битрейтом (VBR) - когда для каждого фрейма используется свой, оптимальный для данного участка, битрейт.

Исходный сигнал с помощью  фильтров разделяется на несколько  частотных диапазонов, для каждого диапазона определяется величина маскирующего эффекта от соседних диапазонов и предыдущего фрейма, несущественные сигналы игнорируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами можно пожертвовать, чтобы потери были ниже величины маскирующего эффекта. На этом работа психоакустической модели завершается, а итоговый поток дополнительно сжимается по алгоритму Хаффмана (аналогично RAR архиватору).

При битрейте 320 kbps применяется только итоговое сжатие, без психоакустического моделирования. Следует иметь в виду, что различные кодеки могут кодировать аудиосигнал по-разному, различия особенно проявляются на высоких частотах и низких битрейтах. В формате MP3 кодируется стереосигнал, при этом возможны несколько вариантов преобразования:

  • Стерео - двухканальное кодирование, при котором каналы исходного стереосигнала кодируются независимо друг от друга, но распределение бит между каналами в общем битрейте может варьироваться в зависимости от сложности сигнала в каждом канале.
  • Моно - одноканальное кодирование. Если закодировать двухканальный материал этим способом, различия между каналами будут полностью стёрты, так как два канала смешиваются в один, он кодируется и он же воспроизводится в обоих каналах стереосистемы. Единственным плюсом данного режима может являться только выходное качество по сравнению с режимом стерео при одинаковом битрейте, так как на один канал приходится вдвое большее количество бит, чем в режиме стерео.
  • Двухканальное стерео (англ. Dual Channel) - два независимых канала, например звуковое сопровождение на разных языках. Битрейт делится на два канала. Например, если заданный битрейт 192 кбит/c, то для каждого канала он будет равен только 96 кбит/c.
  • Объединённое стерео (англ. Joint Stereo, M/S Stereo) – один из самых оптимальных способов двухканального кодирования. Например, в одном из режимов «Объединённое стерео» левый и правый каналы преобразуются в их сумму (L+R) и разность (L−R). Для большинства звуковых файлов насыщенность канала с разностью (L−R) получается намного меньше канала с суммой (L+R). Также тут свою роль играет восприятие звука человеком, для которого различия в направлении звука намного менее примечательны. Поэтому объединённое стерео позволяет либо сэкономить на битрейте канала разности (L−R), либо улучшить качество на том же битрейте, поскольку на канал суммы (L+R) отводится большая часть битрейта. Современные кодеки используют различные схемы в разных фреймах (включая чистое стерео) в зависимости от исходного сигнала.

Одной из важнейших характеристик MP3-файла является битрейт - скорость потока обрабатываемых данных, или общее количество информации, передаваемой в единицу времени. Эта величина не зависит от того, содержит этот поток моно- или стереозвук.

Битрейт 128 Kbps с легкой руки Fraunhofer IIS был признан оптимальным для использования в интернете, а некоторые производители кодеров распространили мнение о том, что этой скорости вполне достаточно для кодирования музыки с качеством, близким к Audio CD. Однако это не так. На хорошей аппаратуре невосполнимые потери аудиоинформации становятся заметными.

Чем выше битрейт, тем больше места на диске потребуется для сохранения конечного MP3-файла, но и, как правило, тем выше будет качество закодированного сигнала. В целом же каждое значение битрейта имеет свою область применения.

Даже профессиональные эксперты с тонким музыкальным слухом порой не в состоянии отличить на хорошей аппаратуре звучание трека Audio CD и его образа, закодированного в MP3-файл с низким коэффициентом сжатия, например 4:1 (320 Kbps).

Ежели вы имеете дело только с компьютерными акустическими системами или недорогой бытовой радиоаппаратурой, то для кодирования и последующего прослушивания композиций вполне достаточно 160-192 Kbps. Для компрессии быстро устаревающей поп-музыки, а также для "выкладывания" музыкального архива в сети вполне подойдет и 128 Kbps. Значения битрейта ниже 128 Kbps не позволяют добиться должного качества звучания. Скорости 64-96 Kbps чаще всего используют для сжатия аудиоуроков иностранного языка, лекций, интервью и аудиотрансляций.

Основыные виды битрейтов:

  • CBR расшифровывается как Constant Bit Rate, то есть постоянный битрейт, который задаётся пользователем и не изменяется при кодировании произведения. Таким образом, каждой секунде произведения соответствует одинаковое количество закодированных бит данных (даже при кодировании тишины). CBR может быть полезен для потоков мультимедиа данных по ограниченному каналу; в таком случае кодирование использует все возможности канала данных. Для хранения данный режим кодирования не является оптимальным, так как он не может выделить достаточно места для сложных отрезков исходного произведения, при этом бесполезно тратя место на простых отрезках. Повышенные битрейты (выше 256 кбит/c) могут решить данную проблему, выделив больше места для данных, но зато и пропорционально увеличивая размер файла.
  • VBR расшифровывается как Variable Bit Rate, то есть изменяющийся битрейт или переменный битрейт, который динамически изменяется программой-кодером при кодировании в зависимости от насыщенности кодируемого аудиоматериала и установленного пользователем качества кодирования (например, тишина закодируется с минимальным битрейтом). Этот метод MP3-кодирования является самым прогрессивным и до сих пор развивается и улучшается, так как аудиоматериал разной насыщенности может быть закодирован с определённым качеством, которое обычно выше, чем при установке среднего значения в методе CBR. Плюс к тому, размер файла уменьшается за счёт фрагментов, не требующих высокого битрейта. Минусом данного метода кодирования является сложность предсказания размера выходного файла. Но этот недостаток VBR-кодирования незначителен в сравнении с его достоинствами. Также минусом является то, что VBR считает «незначительной» звуковой информацией более тихие фрагменты, таким образом получается, что если слушать очень громко, то эти фрагменты будут некачественными, в то время как CBR делает с одинаковым битрейтом и тихие, и громкие фрагменты.
  • ABR расшифровывается как Average Bit Rate, то есть усредненный битрейт, который является гибридом VBR и CBR: битрейт в кбит/c задаётся пользователем, а программа варьирует его, постоянно подгоняя под заданный битрейт. Таким образом, кодер будет с осторожностью использовать максимально и минимально возможные значения битрейта, так как рискует не вписаться в заданный пользователем битрейт. Это является явным минусом данного метода, так как сказывается на качестве выходного файла, которое будет немного лучше, чем при использовании CBR, но намного хуже, чем при использовании VBR. С другой стороны, этот метод позволяет наиболее гибко задавать битрейт (может быть любым числом между 8 и 320, против исключительно кратных 16 чисел метода CBR) и вычислять размер выходного файла.

Информация о работе Разработка программы для редактирования аудио файлов