|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Система обработки аудиоинформации. Подсистема фильтрации и обработки сигналаСистема обработки аудиоинформации. Подсистема фильтрации и обработки сигнала218 Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Факультет «Информатика и вычислительная техника» Кафедра «Программное обеспечение» ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к дипломной работе на тему: «Система обработки аудиоинформации. Подсистема фильтрации и обработки сигнала» Дипломник студент группы 10-19-1…………………………………Суханов М.А. Руководитель д.т.н, профессор...……………………………………….Мурынов А.И. Консультант по экономической части к.э.н., доцент…..Радыгина И.И. Консультант по безопасности и экологичности проекта ….Якименко Г.Ф. Нормоконтроль………………………………………… Соболева В.П. Рецензент зав.кафедрой «Мультимедиа и Интернет-технологии» УдГУ.Широков В.А. Заведующий кафедрой «Программное обеспечение» д.т.н., профессор……………………………………………Мурынов А.И. ИЖЕВСК 2006 РЕФЕРАТ Пояснительная записка к дипломной работе на тему «Система обработки аудиоинформации. Подсистема фильтрации и обработки сигнала» оформлена на 159 листах, содержит 48 рисунков, 21 таблицу. Целью работы является разработка подсистемы фильтрации и обработки сигнала в составе системы обработки аудиоинформации для внесения необходимых изменений в исходный звуковой сигнал до начала кодирования Работа включает в себя изучение структуры звуковых файлов различных форматов и реализация возможностей чтения этих форматов для последующей обработки, разработку алгоритмов, позволяющих преобразовывать исходный звуковой сигнал с целью изменения характеристик звучания и программную реализацию разработанных алгоритмов. Для написания соответствующего программного обеспечения были изучены материалы и публикации в области цифровой обработки аудиоинформации, теории звука, звуковых преобразований и эффектов. В результате проделанной работы было разработано программное обеспечение, предназначенное для изменения характеристик исходного звукового сигнала с целью изменения характеристик его звучания. Были разработаны и программно реализованы следующие алгоритмы обработки и фильтрации звукового сигнала: изменение основных параметров цифрового звука (частота дискретизации, битрейт, число каналов), редактирование структуры звукового сигнала, изменение темпа звука и уровня громкости, эффекты возрастающей и затухающей громкости, эха и реверберации Полученный в результате работы подсистемы измененный звуковой сигнал используется в подсистеме кодирования данных. На сегодняшний день существуют готовые программные продукты для редактирования звуковых сигналов. Однако, все эти программные продукты являются коммерческими и обладают закрытым исходным кодом. Данная разработка обладает открытым кодом и позволяет производить редактирование структуры звукового сигнала, изменять характеристики его звучания и применять звуковые эффекты. Разработанное программное обеспечение является исследовательским, оно направлено на изучение и анализ методов обработки аудиоинформации. С его помощью уже были получены экспериментальные данные, использованные в данной работе. Конечным программным продуктом может являться оболочка, представляющая в значительной мере автоматизированный интерфейс для проведения преобразования звуковых сигналов. СОДЕРЖАНИЕ
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ ПО - программное обеспечение. ОС - операционная система. ЭВМ - электронно-вычислительная машина. ПК - персональный компьютер. ВВЕДЕНИЕЗвуковая волна (звуковые колебания) - это передающиеся в пространстве механические колебания молекул вещества. Тело, создающее возмущение (колебания) воздуха, называют источником звука. Привычное для всех нас понятие «звук» означает всего лишь воспринимаемый слуховым аппаратом человека набор звуковых колебаний.Звуковые колебания, а также вообще все колебания, как известно из физики, характеризуются амплитудой (интенсивностью), частотой и фазой. В соответствии с теорией математика Фурье, звуковую волну можно представить в виде спектра входящих в нее частот. Частотные составляющие спектра - это синусоидальные колебания (так называемые чистые тона), каждое из которых имеет свою собственную амплитуду и частоту. Таким образом, любое, даже самое сложное по форме колебание (например, человеческий голос), можно представить суммой простейших синусоидальных колебании определенных частот и амплитуд. И наоборот, сгенерировав различные колебания и наложив их друг на друга (смикшировав, смешав), можно получить различные звуки.«Обычный» аналоговый звук представляется в аналоговой аппаратуре непрерывным электрическим сигналом. Компьютер оперирует с данными в цифровом виде. Это означает, что и звук в компьютере представляется в цифровом виде.Цифровой звук - это способ представления электрического сигнала посредством дискретных численных значений его амплитуды. Оцифровка сигнала включает в себя два процесса - процесс дискретизации (осуществление выборки) и процесс квантования. Процесс дискретизации - это процесс получения значений величин преобразуемого сигнала в определенные промежутки времени. Квантование - процесс замены реальных значений сигнала приближенными с определенной точностью. Таким образом, оцифровка - это фиксация амплитуды сигнала через определенные промежутки времени и регистрация полученных значений амплитуды в виде округленных цифровых значений Записанные значения амплитуды сигнала называются отсчетами. Основные параметры цифрового звука:- частота дискретизации: определяется интервалом времени, через которое происходит измерение значения амплитуды аналогового сигнала;- битрейт: разрядность квантования; количество бит, которым описывается одна секунда звукового сигнала;- число каналов: число источников звука, через которые воспроизводятся звуковые сигналы.Под обработкой звука следует понимать различные преобразования звуковой информации с целью изменения каких-то характеристик звучания. К обработке звука относятся способы создания различных звуковых эффектов, фильтрация, а также методы очистки звука от нежелательных шумов, изменения тембра и т.д. Все это огромное множество преобразований сводится, в конечном счете, к следующим основным типам: амплитудные, частотные, фазовые и временные преобразования. Стоит привести несколько практических примеров использования указанных видов преобразований при создании реальных звуковых эффектов: - echo (эхо). Реализация повторения звукового сигнала с помощью временных преобразований таким образом, чтобы человеческое ухо воспринимало полученный сигнал как эхо;- reverberation (повторение, отражение): придание звучанию объемности, характерной для большого зала, где каждый звук порождает соответствующий, медленно угасающий отзвук; - изменение темпа: замедление или ускорение скорости воспроизведения звукового сигнала;- изменение общего уровня громкости: увеличение или уменьшение общего уровня громкости.;- эффект возрастания громкости: плавное увеличение громкости от нулевого уровня в начале фрагмента до максимального в конце;- эффект затухания громкости: плавное уменьшение громкости от максимального уровня в начале фрагмента до нулевого в конце.Обработка сигнала - это сложная и, главное, ресурсоемкая процедура. Она сравнительно недавно стала проводиться в цифровых устройствах - раньше различные эффекты звучания и другие достигались путем обработки звука в аналоговых приборах. В аналоговой аппаратуре звук в виде электрических колебаний проходит через различные тракты (блоки электрических элементов), чем достигается изменение фазы, спектра и амплитуды сигнала. Однако такой способ обработки имеет массу недостатков. Возможность же использования цифровых устройств имеет неоспоримые преимущества. Качество обработки сигналов в них намного меньше зависит от качества аппаратуры. Кроме того, для различных манипуляций со звуком не требуется постоянная смена оборудования. И, самое главное, поскольку обработка ведется программным путем, для нее открываются просто невероятные возможности, которые ограничены лишь мощностью компьютеров (а она увеличивается с каждым днем) и фантазией человека.1. РАЗРАБОТКА СИСТЕМЫ ОБРАБОТКИ АУДИОИНФОРМАЦИИ 1.1. Обоснование целесообразности разработки системы обработки аудиоинформации 1.1.1. Назначение системыСистема обработки аудиоинформации реализует обработку звуковых сигналов. Система предназначена для обработки звуковых сигналов, записанных в звуковых файлах различных форматов. Обработка позволяет внести необходимые изменения в исходный звуковой файл: редактирование его структуры, основных параметров, позволяет применить различные эффекты к файлу. Система также позволяет осуществить кодирование исходного файла с целью уменьшения занимаемого им размера без явной потери качества. 1.1.2. Характеристика функциональной структуры системыФункциональная схема системы приведена на рис. 1.1.Обработка аудиофайлов состоит из следующих этапов:1) ввод звуковых сигналов в подсистему обработки и фильтрации сигнала, результатом работы которой является измененный звуковой сигнал, записанный в файле и статистические данные, полученные при анализе звукового сигнала;2) ввод отредактированного звукового сигнала в подсистему кодирования данных, результатом которой является файл со сжатым звуковым сигналом.Результатом работы системы является измененный и/или сжатый звуковой файл.Функциональная схема системы обработки аудиоинформации Рис. 1.1 1.1.3. Обоснование цели создания системыОбработка сигнала - это сложная и, главное, ресурсоемкая процедура. Она сравнительно недавно стала проводиться в цифровых устройствах - раньше различные эффекты звучания и другие достигались путем обработки звука в аналоговых приборах. В аналоговой аппаратуре звук в виде электрических колебаний проходит через различные тракты (блоки электрических элементов), чем достигается изменение фазы, спектра и амплитуды сигнала. Однако такой способ обработки имеет массу недостатков. Во-первых, страдает качество обработки, ведь каждый аналоговый элемент имеет свою погрешность, а несколько десятков элементов могут критически повлиять на точность и качество желаемого результата. А во-вторых, и это, пожалуй, самое главное, почти каждый отдельный эффект достигается путем использования отдельного устройства, когда каждое такое устройство может стоить очень дорого. Возможность же использования цифровых устройств имеет неоспоримые преимущества. Качество обработки сигналов в них намного меньше зависит от качества аппаратуры, главное - это качественно оцифровать звук и иметь возможность качественно его воспроизводить, и тогда качество обработки ложится уже только на программный механизм. Кроме того, для различных манипуляций со звуком не требуется постоянная смена оборудования. И, самое главное, поскольку обработка ведется программным путем, для нее открываются просто невероятные возможности, которые ограничены лишь мощностью компьютеров (а она увеличивается с каждым днем) и фантазией человека.К преобразованию звука прибегают в основном с целью изменения каких-то характеристик звука.Принципиально, целью обработки звука является придание существующему звуку каких-то новых качеств или устранение нежелательных. Звуковые эффекты относятся к тем преобразованиям звука, которые придают звучанию новые формы или полностью изменяют звуковую информацию. Аппаратную реализацию звуковые эффекты находят в цифровых сигнальных процессорах (DSP). Любой более или менее приличный MIDI-синтезатор имеет встроенный эффект-процессор той или иной сложности (эффект-процессор представляет собой один или несколько DSP). Сложные эффект-процессоры "умеют" накладывать на звуковой сигнал сразу несколько различных эффектов, причем, отдельно для каждого канала, позволяя регулировать параметры эффектов в режиме реального времени. Однако стоимость таких эффект-процессоров чрезвычайно высока (как и стоимость любого другого высокопроизводительного микропроцессора), поэтому профессиональные DSP устанавливаются только на качественной музыкальной аппаратуре. На более или менее дешевых звуковых платах часто устанавливается DSP с упрощенным набором возможностей: наложение одного или нескольких эффектов на все каналы одновременно. Аппаратный эффект-процессор - это, безусловно, хорошо, но обработать звук на высоком уровне можно и программным способом.Оцифрованный аудио сигнал «в чистом виде» (например, в форме одной из рассмотренных выше вариаций ИКМ) является достаточно точной, но не самой компактной формой записи исходного аналогового сигнала. объем памяти, требуемый для ее хранения в исходном цифровом виде, оказывается очень внушительным. Поэтому хранение относительно больших объемов аудио данных, гарантирующее достаточно хорошее качество звучания, требует применения разных «ухищрений», позволяющих уплотнить данные.1.1.4. Обоснование состава автоматизируемых задачРеализация системы обработки аудиоинформации позволит интегрировать в едином интерфейсе все этапы обработки аудиоинформации: 1) редактирование структуры звукового файла; 2) изменение параметров цифрового звука (частота дискретизации, битрейт, число каналов); 3) редактирование темпа звука; 4) изменение общего уровня громкости; 5) эффекты возрастающей и затухающей громкости, эха и реверберации; 6) кодирование (сжатие) аудиоданных. Редактирование структуры файла необходимо для изменения отдельных частей файла, это позволит удалять, копировать и вставлять части звукового сигнала. Изменение параметров цифрового звука необходимо, например, для уменьшения размера звукового файла, когда не так важно качество звучания. Редактирование темпа позволит замедлить и ускорить скорость воспроизведения звукового сигнала. Применение эффектов позволит придать звуку необходимые характеристики звучания. 1.2. Аналитический обзор Тема программного обеспечения очень широка, поэтому здесь мы только вкратце обсудим основные представители программ для обработки звука. Основные возможности таких программ это, как минимум, обеспечение возможности записи (оцифровки) аудио и сохранение на диск. Развитые представители такого рода программ позволяют намного больше: запись, многоканальное сведение аудио на нескольких виртуальных дорожках, обработка специальными эффектами (как встроенными, так и подключаемыми извне - об этом позже), очистка от шумов, имеют развитую навигацию и инструментарий в виде спектроскопа и прочих виртуальных приборов, управление/управляемость внешними устройствами, преобразование аудио из формата в формат, генерация сигналов, запись на компакт диски и многое другое. Некоторые из таких программ: Cool Edit Pro (Syntrillium), Sound Forge (Sonic Foundry), Nuendo (Steinberg), Samplitude Producer (Magix), Wavelab (Steinberg). 1.2.1. Cool Edit Pro 2.0Редактирование и сведение аудио на 128 дорожках, 45 встроенных DSP-эффектов, включая инструменты для мастеринга, анализа и реставрации аудио, 32-битная обработка, поддержка аудио с параметрами 24 бит / 192 КГц, мощный инструментарии для работы с петлями (loops), поддержка DirectX, а также управление SMPTE/MTC, поддержка работы с видео и MIDI и прочее.1.2.2. Sound Forge 6.0aМощные возможности не деструктивного редактирования, многозадачная фоновая обработка заданий, поддержка файлов с параметрами до 32 бит / 192 КГц, менеджер предустановок, поддержка файлов более 4 Гб, работа с видео, большой набор эффектов обработки, восстановление после зависаний, предпрослушивание примененных эффектов, спектральный анализатор и прочее.1.2.3. Вывод по аналитическому обзоруВ наборе программ пользователя, занимающегося обработкой звука, имеется множество разных инструментов, так было раньше и так будет впредь - универсальных комбайнов для работы со звуком не бывает. Однако, не смотря на все разнообразие ПО, в программах часто используются схожие механизмы для обработки звука (например, процессоры эффектов и прочие). На каком-то этапе разработки аудио ПО, производители поняли, что удобнее сделать в своих программах возможность подключения внешних инструментов, чем каждый раз создавать заново инструменты для каждой отдельной программы. Так что многие программы, относящиеся к той или иной группе ПО, позволяют подключать так называемые «плагины» - внешние подключаемые модули, расширяющие возможности обработки звука. Это стало возможным в результате появления нескольких стандартов на интерфейс между программой и подключаемым модулем. На сегодняшний день существуют два основных стандарта на интерфейс: DX и VST. Существование стандартов позволяет подключать один и тот же плагин к совершенно разным программам, не заботясь о возникновении конфликтов и неполадок. Говоря о самих плагинах, надо сказать, что это просто огромное семейство программ. Обычно, один плагин является механизмом, реализующим какой-то конкретный эффект, например, реверберацию или низкочастотный фильтр. Но все вышеперечисленные средства для редактирования аудиоданных имеют закрытый исходный код.1.3. Основные требования к системе 1.3.1. Основные цели создания системы и критерии эффективности ее функционированияСоздание системы обработки аудиоинформации позволит получить преобразованный звуковой сигнал с заданными характеристиками звучания, а также сжатие измененного звукового файла для уменьшения занимаемого им размера без значительной потери качества звучания. Для оценки эффективности работы системы обработки аудиоинформации можно использовать качество получаемых на выходе звуковых сигналов. Для определения качества кодирования звуковых данных можно использовать оценку размера полученных закодированных звуковых файлов и исходных. 1.3.2. Функциональное назначение системыАвтоматизация процесса обработки аудиоинформации подразумевает реализацию в системе определенных средств и функций. Следует выделить функциональных особенности, которыми должна обладать система: 1) возможность открытия и анализа файлов форматов Microsoft Wave, MP3 и Electronic Music; 2) отображение структуры звукового сигнала, записанного в файле, в графическом виде с возможностью изменения масштаба; 3) обеспечение возможности основных операций редактирования: выделение части сигнала, ее удаление, копирование и вставку. Обеспечение возможности вставки звукового сигнала из другого файла; 4) возможность изменения основных параметров цифрового звука: частоты дискретизации, битрейта, числа каналов; 5) изменение темпа(скорости) звукового сигнала, уровня громкости; 6) применение звуковых эффектов к сигналу, с указанием необходимых для них параметров (для эффекта эха: количество откликов, время между откликами, громкость отклика относительно предыдущего; для эффекта реверберации: количество отражений, задержка отраженного сигнала, громкость отражения относительно предыдущего; для эффектов возрастающей и затухающей громкости: громкость относительно текущей); 7) сжатие полученного сигнала для более компактного хранения с возможностью последующего извлечения. 1.3.3. Особенности системы и условия ее эксплуатацииСистема обработки аудиоинформации предназначена для работы с цифровыми звуковыми сигналами, записанными в файлах одного из следующих форматов: Microsoft Wave, MP3, Electronic Music. Объем информации, обрабатываемой системой, достаточно велик и может достигать нескольких десятков мегабайт. Эти особенности накладывают ограничения на использование непроизводительных и медленных алгоритмов. 1.3.4. Требования к функциональной структуреПостроение системы обработки аудиоинформации предполагает модульную структуру. Система включает в себя 2 подсистемы: подсистему обработки и фильтрации сигнала, подсистему кодирования данных. Общий интерфейс и возможность доступа ко всем модулям в составе каждой подсистемы должна обеспечивать оболочка. Таким образом, существует две оболочки. Первая реализует интерфейс для редактирования звукового сигнала, его параметров, применение к нему различных эффектов. Вторая реализует интерфейс для кодирования(сжатия) отредактированного звукового сигнала. Обмен между подсистемами происходит через звуковые файлы. 1.3.5. Требования к техническому обеспечениюЗадача обработки звуковых сигналов в системе обработки аудиоинформации связана с автоматическим анализом больших массивов аудио информации. Преобразования, проводимые в системе, должны проводиться в процессе интерактивного взаимодействия с пользователем, поэтому паузы на обработку не должны превышать нескольких минут. Исходя из этого, сформулированы требования к техническим характеристикам персонального компьютера, на котором будет функционировать система. Требования сведены в табл. 1.1. Таблица 1.1 Технические характеристики персонального компьютера
Система обработки аудиоинформации предназначена для обработки звуковых сигналов, записанных в звуковых файлах. Файлы должны быть одного из следующих форматов: Microsoft Wave (*.wav), MP3, Electronic music (*.em1) Основным видом информации, обрабатываемом в системе, является звуковая информация в цифровом представлении. Такой вид данных воспринимается человеком непосредственно, поэтому необходимо обеспечить возможность прослушивания преобразованных сигналов на различных этапах обработки, а также их графическую визуализацию. 1.3.7. Требования к программному обеспечениюСистему обработки аудиоинформации целесообразно разрабатывать для функционирования под управлением операционной системой семейства Windows, так как ОС данного класса наиболее широко распространены в современном мире. Платформами для разработки выбраны среды для разработки приложений Borland Delphi 7 (подсистема обработки и филбтрации сигнала) и Microsoft Visual C++ 2003 (подсистема кодирования данных). Эта среда поддерживают алгоритмические языки Pascal и C++ соответственно и обладают при этом возможностями быстрой разработки и проектирования визуальных интерфейсов.1.4. Основные технические решения проекта системы 1.4.1. Решение по комплексу технических средствКак уже отмечалось в п.п. 1.3.5, для достижения удобного пользователю режима функционирования системы необходимо следующая минимальная конфигурация персонального компьютера: частота процессора 900 МГц, объем оперативной памяти 128 Мб, монитор, поддерживающий разрешение 1024x768 точек. Также желательно наличие следующих периферийных технических средств: микрофон или другое записывающее устройство для получения исходных звуковых сигналов для их последующей обработки в системе, а также устройства вывода звуковых сигналов (колонки) для прослушивания полученных звуковых сигналов и оценки результатов работы системы. 1.4.2. Описание системы программного обеспеченияДля реализации и функционирования проекта необходимо общесистемное программное обеспечение ОС Windows XP, в основе которой лежит ядро, характеризуемое 32-разрядной вычислительной архитектурой и полностью защищенной моделью памяти, что обеспечивает надежную вычислительную среду. Разработка системы обработки аудиоинформации и ее подсистем будет вестись с использованием сред для разработки приложений Borland Delphi 7 и Microsoft Visual C++ 2003. Эти среды разработки включают в себя высокопроизводительный 32-битный компилятор, что позволяет оптимизировать создаваемый код, а также обширный набор средств, которые повышают производительность труда программистов и сокращают продолжительность цикла разработки. Многофункциональные интегрированные среды разработки включают компилятор, удовлетворяющий стандарта ANSI/ISO, встроенный дизайнер форм, богатый набор средств для работы с компонентами, менеджер проектов и отладчик. Удобство разработки и эффективность созданных в данных средах разработки программ делают их оптимальным выбором для построения исследовательской системы, какой является система обработки аудиоинформации. 2. РАЗРАБОТКА ПОДСИСТЕМЫ ОБРАБОТКИ И ФИЛЬТРАЦИИ СИГНАЛА 2.1. Описание постановки задачи обработки и фильтрации звукового сигнала 2.1.1. Характеристика задачиПри разработке подсистемы обработки и фильтрации звукового сигнала требуется выполнить следующие задачи: 1) изучение структуры звуковых файлов различных форматов и реализация возможностей чтения этих форматов для последующей обработки; 2) разработка алгоритмов, позволяющих преобразовывать исходный звуковой сигнал с целью изменения характеристик звучания; 3) программная реализация алгоритмов, позволяющих преобразовывать исходный звуковой сигнал с целью изменения характеристик звучания. Автоматизация процесса обработки и фильтрации звукового сигнала подразумевает реализацию в подсистеме определенных средств и функций. Следует выделить функциональных особенностей, которыми должна обладать подсистема: 1) возможность открытия и анализа файлов форматов Microsoft Wave, MP3 и Electronic Music; 2) отображение структуры звукового сигнала, записанного в файле, в графическом виде с возможностью изменения масштаба; 3) обеспечение возможности основных операций редактирования: выделение части сигнала, ее удаление, копирование и вставку. Обеспечение возможности вставки звукового сигнала из другого файла; 4) возможность изменения основных параметров цифрового звука: частоты дискретизации, битрейта, числа каналов; 5) изменение темпа (скорости) звукового сигнала, уровня громкости, обращение звукового сигнала; 6) применение звуковых эффектов к сигналу с указанием необходимых для них параметров. Перечислим реализуемые звуковые эффекты с указанием их параметров: - эффект эха: реализация повторения звукового сигнала с помощью временных преобразований таким образом, чтобы человеческое ухо воспринимало полученный сигнал как эхо (параметры: количество откликов, время между откликами, громкость отклика относительно предыдущего); - эффект реверберации: придание звучанию объемности, характерной для большого зала, где каждый звук порождает соответствующий, медленно угасающий отзвук; отличается тем, что на входной сигнал накладывается задержанный во времени выходной сигнал, а не задержанная копия входного (параметры: количество отражений, задержка отраженного сигнала, громкость отражения относительно предыдущего); - эффекты возрастающей и затухающей громкости: плавное увеличение громкости от нулевого уровня в начале фрагмента до максимального в конце и наоборот соответственно (параметр: величина громкости в процентах от текущей). Полученный измененный звуковой сигнал поступает в подсистему кодирования данных для уменьшения занимаемого им размера. 2.1.2. Вхоная информацияВходной информацией для подсистемы является цифровой звуковой сигнал, записанный в звуковом файле определенного формата. Формат входного звукового файла представлен в табл.2.1.Файл этого формата содержит заголовок, описывающий общие параметры файла, и один или более фрагментов, каждый из которых представляет собой волновую форму или вспомогательную информацию. Таблица 2.1 Структура звукового файла формата Microsoft RIFF/WAVE
Выходной информацией для данной задачи является измененный звуковой сигнал, записанный в файле, структура которого аналогична описанной в п.2.1.2. 2.1.4. Математическая постановка задачиСпектр - один из важнейших инструментов анализа и обработки звука. Французский математик Фурье (1768-1830) и его последователи доказали, что любую, обязательно периодическую функцию, в случае ее соответствия некоторым математическим условиям можно разложить в тригонометричес-кий ряд Фурье:
218 Рис. 2.1Основные параметры цифрового звука:- частота дискретизации: определяется интервалом времени, через кото-рое происходит измерение значения амплитуды аналогового сигнала;- битрейт: разрядность квантования; количество бит, которым описывает-ся одна секунда звукового сигнала;- число каналов: число источников звука, через которые воспроизводятся звуковые сигналы.Звуковые сигналы поступают на вход системы в цифровом виде - в виде звуковых файлов, структура которых описана в п.2.1.2.Задача обработки и фильтрации заключается в извлечении и обработки необходимых данных из файла.С помощью заголовка звукового файла можно прочитать и изменить описанные основные параметры звукового сигнала, записанного в файле.Для изменения звукового сигнала и применения к нему эффектов необходимо прочитать и отредактировать звуковые данные из основной части файла.Математическое представление звуковых эффектов и их параметров:Эффект реверберации. На рис. 2.2 представлен исходный звуковой сигнал, а на рис. 2.3 применение к исходному сигналу эффекта реверберации с указанием параметров На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени.Исходный сигнал218 Рис.2.2Эффект реверберацииT - время между отражениями;h1 - громкость исходного звукового сигнала;h2 - громкость отраженного сигнала.Рис. 2.3В данном случае h1=h2, то есть громкость отраженного сигнала равна громкости исходного сигнала.Количество отражений в данном случае равно 1.Эффект эха. На рис. 2.4 представлен исходный звуковой сигнал, а на рис. 2.5 применение к исходному сигналу эффекта эха с указанием параметров На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени.Исходный сигнал218 Рис. 2.4Эффект эхаT - время между откликами;h1 - громкость исходного звукового сигнала;h2 - громкость отклика.Рис.2.5.В данном случае h2=h1/2, то есть громкость отклика в два раза меньше громкости исходного сигнала .Количество откликов в данном случае равно 1.Изменение темпа. На рис. 2.6 представлен исходный звуковой сигнал. На рис. 2.7 представлен измененный звуковой сигнал с уменьшенным в два раза темпом, на рис. 2.8 - с увеличенным в два раза темпом. На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени. Исходный сигнал Увеличение темпа218 218 Рис. 2.6 Рис. 2.7Уменьшение темпа218 Рис. 2.8 Изменение общего уровня громкости На рис. 2.9 представлен исходный звуковой сигнал. На рис. 2.10 представлен измененный звуковой сигнал с уменьшенной в два раза громкостью, на рис. 2.11 - с увеличенной в два раза громкостью. На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени. Исходный сигнал Уменьшение громкости218 218 Рис. 2.9 Рис. 2.10Увеличение громкости218 Рис. 2.11Эффекты возрастающей и затухающей громкости. На рис. 2.12 представлен исходный звуковой сигнал, а на рис. 2.13 и рис. 2.14 применение к исходному сигналу эффекта возрастающей и затухающей громкости соответственно. На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени. Исходный сигнал Возрастание громкости218 218 Рис. 2.12 Рис.2.13 Затухание громкости218 Рис. 2.14 Обращение звукового сигнала. На рис. 2.15 представлен исходный звуковой сигнал, а на рис. 2.16 - обращенный. Исходный сигнал Обращенный сигнал218 Рис. 2.15 Рис. 2.162.2. Описание алгоритма создания эффекта реверберации 2.2.1. Назначение и характеристика алгоритма создания эффекта реверберацииДанный алгоритм применяется к исходному звуковому сигналу для создания эффекта реверберации: придание звучанию объемности, характерной для большого зала, где каждый звук порождает соответствующий, медленно угасающий отзвук. Получается путем добавления к исходному сигналу затухающей серии его задержанных во времени копий. Это имитирует затухание звука в помещении, когда за счет многократных отражений от стен, потолка и прочих поверхностей звук приобретает полноту и гулкость, а после прекращения звучания источника затухает не сразу, а постепенно. При этом время между последовательными отзвуками ассоциируется с величиной помещения, а их интенсивность - с его гулкостью.2.2.2. Используемая информацияПри реализации данного алгоритма используются массивы информации, сформированные из входных данных. Массивы содержат информацию о величине амплитуды звукового сигнала в определенные моменты времени. Количество пар массивов определяется числом каналов.A = {A1,A2,…,An} - массив амплитуд звукового сигнала.T = {T1,T2,…,Tn} - массив со значениями времени, где n зависит от частоты дискретизации, битрейта и размера файла.Ti - Ti-1 определяется частотой дискретизации.При реализации алгоритма учитываются следующие параметры эффекта реверберации, которые подаются в качестве параметров на вход алгоритма:To - время между отражениями;Гр - громкость отражения относительно предыдущего в процентах;Kол - количество отражений.2.2.3. Результаты решенияВ результате реализации алгоритма формируются новые массивы амплитуд и значений времени A' и T'. Структура выходного файла при этом соответствует описанной в п.2.1.2. 2.2.4. Математическое описание алгоритма создания эффекта реверберацииДля получения выходных массивов A' и T' необходимо предварительно получить Кол пар дополнительных массивов А(А1,А2,…,Акол) и Т(Т1,Т2,…,Ткол) с отражениями, а затем совместить их: m - размерности получаемых массивов A' и T' m = n + n*Кол; T1i = Ti + 1*То; T2i = Ti + 2*То; … ТКолi = Ti + Кол*То; A1i = Гр/100*Ai; A2i = Гр/100*A1i; … Aкол = Гр/100*A[кол-1]i Описание используемых обозначений приведено в п.2.2.2. Затем все полученные массивы амплитуд и времен объединяются в один общий массив (A' и T' соответственно). 2.2.5. Алгоритм создания эффекта реверберации1. i::=1;2. MaxValue::=MaxValue*256;3. i::=i+1;4. Если i?(AudioData.nBlockAlign/AudioData.nChannels),то переход к п.2 иначе к п.5;5. MaxValue::=MaxValue/2 - 1;6. TempAudio.nChannels ::= AudioData.nChannels; 7. TempAudio.nSamplesPerSec := AudioData.nSamplesPerSec;8. TempAudio.nBitsPerSample := AudioData.nBitsPerSample;9. DelaySmp := Round(Delay*AudioData.nSamplesPerSec/1000);10. Channel :: =0;11. Если Channel > (AudioData.nChannels-1),то переход к п. 38 иначе к п.1212. i :: = Start;13. Если i > (Start+Count-1), то переход к п. 37 иначе к п.14;14. j :: = Number;15. Если j < 0, то переход к п.21 иначе к п.16;16. Если (i - Start) < (DelaySmp*j), то переход к п.17 иначе к п.18;17. Smp ::= 0;18. Прочитать из файла значение Smp;19. SmpBuf [j] ::= Smp;20. j ::= j+1; переход к п.15;21. Mult ::= Volume;22. j::=1;23. Если j>Number, то переход к п.30 иначе к п.24;24. k::=1;25. Если k>Number, то переход к п.28 иначе к п.26;26. SmpBuf[k-1] := SmpBuf[k-1] + Round(SmpBuf[k]*Mult);27. k::=k+1; переход к п.25;28. Mult ::= Mult*Volume;29. j::=j+1; переход к п.23;30. Smp := Round(SmpBuf[0]/(Number+1));31. Если |Smp|>MaxValue, то переход к п.32 иначе к п.35;32. Если Smp<0, то переход к п.33 иначе к п.34;33. Smp::= - MaxValue;34. Smp::=MaxValue;35. Запись Smp в TempAudio;36. i::=i+1; переход к п.13;37. Сhannel ::= Channel+1; переход к п.11;38. AudioData ::= TempAudio;39. Конец.2.2.6. Требования к контрольному примеруКонтрольный пример должен содержать примеры применения эффекта реверберации с различными параметрами. 2.2.7. Список условных обозначенийAudioData - совокупность значений амплитуд и времен;Start - указатель на место в массиве данных,с которого начинать обработку;Count - количество элементов массивов, которые необходимо обработать;Number - количество отражений;Delay - время между отражениями;Volume - громкость отклика относительно предыдущего;TempAudio - получаемая совокупность значений амплитуд и времен;SmpBuf - хранит выборку аудиоданных;Mult - коэффициент для получения значения амплитуды отражения;Smp - текущая амплитуда;Channel - количество каналов;MaxValue - макс. значение амплитуды в обрабатываемом фрагменте;DelaySmp = Ti - Ti-1.2.3. Описание алгоритма создания эффекта эха 2.3.1. Назначение и характеристика алгоритма создания эффекта эхаДанный алгоритм применяется к исходному звуковому сигналу для создания эффекта эха: реализация повторения звукового сигнала с помощью временных преобразований таким образом, чтобы человеческое ухо воспринимало полученный сигнал как эхо. При этом слух перестает субъективно воспринимать отражения, как призвуки основного сигнала, и начинает воспринимать их как повторения. Эхо обычно реализуется так же, как и естественное - с затуханием повторяющихся копий. 2.3.2. Используемая информацияПри реализации данного алгоритма используются массивы информации, сформированные из входных данных. Массивы содержат информацию о величине амплитуды звукового сигнала в определенные моменты времени. Количество пар массивов определяется числом каналов (ЧК).A = {A1,A2,…,An} - массив амплитуд звукового сигнала;T = {T1,T2,…,Tn} - массив со значениями времени;n зависит от частоты дискретизации (ЧД), битрейта (Б) и размера файла;Ti - Ti-1 определяется частотой дискретизации;При реализации алгоритма учитываются следующие параметры эффекта эха, которые подаются в качестве параметров на вход алгоритма:To - время между откликами;Гр - громкость отклика относительно предыдущего в процентах;Kол - количество откликов.2.3.3. Результаты решенияВ результате реализации алгоритма формируются новые массивы амплитуд и значений времени A' и T'. Структура выходного файла при этом соответствует описанной в п.2.1.2. 2.3.4. Математическое описание алгоритма создания эффекта эхаДля получения выходных массивов A' и T' необходимо предварительно получить Кол пар дополнительных массивов А(А1,А2,…,Акол) и Т(Т1,Т2,…,Ткол) с откликами, а затем совместить их: m - размерности получаемых массивов A' и T'; m = n + n*Кол + То; T1i = Tn + Ti + То; T2i = 2*Tn + Ti + 2*То; … ТКолi =Кол*Тn + Ti + Кол*То; A1i = Гр/100*Ai; A2i = Гр/100*A1i; … Aколi = Гр/100*A[кол-1]i Описание используемых обозначений приведено в п.2.3.2. Затем все полученные массивы амплитуд и времен объединяются в один общий массив (A' и T' соответственно). 2.3.5. Алгоритм создания эффекта эха1. i::=1;2. MaxValue::=MaxValue*256;3. i::=i+1;4. Если i?(AudioData.nBlockAlign/AudioData.nChannels),то переход к п.2 иначе к п.5;5. MaxValue::=MaxValue/2 - 1;6. TempAudio.nChannels ::= AudioData.nChannels; 7. TempAudio.nSamplesPerSec := AudioData.nSamplesPerSec;8. TempAudio.nBitsPerSample := AudioData.nBitsPerSample;9. DelaySmp := Round(Delay*AudioData.nSamplesPerSec/1000);10. Channel :: =0;11. Если Channel > (AudioData.nChannels-1),то переход к п.31 иначе к п.12;12. i ::= Start;13. Если i > (Start+Count-1), то переход к п.30 иначе к п.14;14. Прочитать Smp;15. SummSmp ::= Smp; Mult::=Volume;16. j ::= 1;17. Если j > Number, то переход к п.23 иначе к п.18;18. Если (i - Start) < (DelaySmp*j), то переход к п.19 иначе к п.20; |
РЕКЛАМА
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |