Система обработки аудиоинформации. Подсистема фильтрации и обработки сигнала
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
>
Interval текущий обрабатываемый временной интервал;
Count текущее количество отметок времени;
NewCount новое количество отметок времени.
- Описание алгоритма изменения громкости звука
- Назначение и характеристика алгоритма изменения громкости звука
Данный алгоритм применяется для увеличения или уменьшения громкости (амплитуды) звукового сигнала.
- Используемая информация
При реализации данного алгоритма используются массивы информации, сформированные из входных данных. Массивы содержат информацию о величине амплитуды звукового сигнала в определенные моменты времени. Количество пар массивов определяется числом каналов (ЧК).
A = {A1,A2,тАж,An} массив амплитуд звукового сигнала;
T = {T1,T2,тАж,Tn} массив со значениями времени, где n зависит от частоты дискретизации (ЧД), битрейта (Б) и размера файла;
Ti Ti-1 определяется частотой дискретизации.
При реализации алгоритма учитываются следующие параметры, которые подаются в качестве параметров на вход алгоритма: величина новой громкости звукового сигнала в процентах от текущей (Гр).
- Результаты решения
В результате реализации алгоритма формируется новый массив значений амплитуд A, массив с временем T остается неизменным. Структура выходного файла при этом соответствует описанной в п.2.1.2.
- Математическое описание алгоритма изменения громкости звука
Для получения выходного массива A используются следующие формулы:
A1 = А1 * Гр/100;
A2 = А2 * Гр/100;
тАж
An = An * Гр/100.
Описание используемых обозначений приведено в п.2.5.2.
- Алгоритм изменения громкости звука
- MaxValue ::= 1;
- i ::= 0;
- (AudioData.nBlockAlign/AudioData.nChannels),.5.4;">Если i > (AudioData.nBlockAlign/AudioData.nChannels), то переход к п.5 иначе к п.4;
- MaxValue ::= MaxValue * 256;
- MaxValue ::= MaxValue/2 1;
- Channel ::=0;
- (AudioData.nChannels">Если Channel > (AudioData.nChannels 1), то переход к п.19 иначе к п.8;
- Volume ::= 1; i ::= Start;
- Если i > (Start+Count-1), то переход к п.18 иначе к п.10;
- Прочитать Value из файла;
- Value ::= ]Value*Volume[;
- Если |Value|>MaxValue, то переход к п.13 иначе к п.16;
- Если Value<0, то переход к п.14 иначе к п.15;
- Value ::= -MaxValue; переход к п.16;
- Value ::= MaxValue;
- Записать Value в файл;
- i ::= i+1; переход к п.9;
- Channel ::= Channel+1; переход к п.7;
- Конец.
- Требования к контрольному примеру
Контрольный пример должен содержать примеры изменения громкости звука: увеличение и уменьшение амплитуды звукового сигнала.
- Список условных обозначений
AudioData совокупность значений амплитуд и времен;
Start указатель на место в массиве данных,с которого начинать обработку;
Count количество элементов массивов, которые необходимо обработать;
Number количество отражений;
Delay время между отражениями;
Volume громкость отклика относительно предыдущего;
TempAudio получаемая совокупность значений амплитуд и времен;
SmpBuf хранит выборку аудиоданных;
Mult коэффициент для получения значения амплитуды отражения;
Smp текущая амплитуда;
Channel количество каналов;
MaxValue макс. значение амплитуды в обрабатываемом фрагменте;
DelaySmp = Ti Ti-1.
- Описание алгоритма создания эффекта возрастающей громкости
- Назначение и характеристика алгоритма изменения громкости звука
Данный алгоритм применяется для плавного увеличения громкости от нулевого уровня в начале фрагмента до максимального в конце.
- Используемая информация
При реализации данного алгоритма используются массивы информации, сформированные из входных данных. Массивы содержат информацию о величине амплитуды звукового сигнала в определенные моменты времени. Количество пар массивов определяется числом каналов (ЧК).
A = {A1,A2,тАж,An} массив амплитуд звукового сигнала;
T = {T1,T2,тАж,Tn} массив со значениями времени, где n зависит от частоты дискретизации (ЧД), битрейта (Б) и размера файла;
Ti Ti-1 определяется частотой дискретизации.
- Результаты решения
В результате реализации алгоритма формируется новый массив значений амплитуд A, массив с временем T остается неизменным. Структура выходного файла при этом соответствует описанной в п.2.1.2.
- Математическое описание алгоритма создания эффекта возрастающей громкости
Для получения выходного массива A используются следующие формулы:
A1 = А1 * 1/n;
A2 = А2 * 2/n;
тАж
An = An.
Описание используемых обозначений приведено в п.2.6.2.
- Алгоритм создания эффекта возрастающей громкости
- MaxValue ::= 1;
- i ::= 0;
- (AudioData.nBlockAlign/AudioData.nChannels),.5.4;">Если i > (AudioData.nBlockAlign/AudioData.nChannels), то переход к п.5 иначе к п.4;
- MaxValue ::= MaxValue * 256;
- MaxValue ::= MaxValue/2 1; FinalVolume ::= Volume;
- Channel ::=0;
- (AudioData.nChannels">Если Channel > (AudioData.nChannels 1), то переход к п.20 иначе к п.8;
- Volume ::= 1; i ::= Start;
- Если i > (Start+Count-1), то переход к п.19 иначе к п.10;
- Прочитать Value из файла;
- Value ::= ]Value*Volume[;
- Если |Value|>MaxValue, то переход к п.13 иначе к п.16;
- Если Value<0, то переход к п.14 иначе к п.15;
- Value ::= -MaxValue; переход к п.16;
- Value ::= MaxValue;
- Записать Value в файл;
- Volume ::= Volume + FinalVolume/Count;
- i ::= i+1; переход к п.9;
- Channel ::= Channel+1; переход к п.7;
- Конец.