Смекни!
smekni.com

Система обработки аудиоинформации Подсистема фильтрации и обработки сигнала (стр. 6 из 24)

h1 – громкость исходного звукового сигнала;

h2 – громкость отклика.

Рис.2.5.

В данном случае h2=h1/2, то есть громкость отклика в два раза меньше громкости исходного сигнала .

Количество откликов в данном случае равно 1.

Изменение темпа.

На рис. 2.6 представлен исходный звуковой сигнал. На рис. 2.7 представлен измененный звуковой сигнал с уменьшенным в два раза темпом, на рис. 2.8 – с увеличенным в два раза темпом. На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени.

Исходный сигнал Увеличение темпа

Рис. 2.6 Рис. 2.7

Уменьшение темпа

Рис. 2.8

Изменение общего уровня громкости

На рис. 2.9 представлен исходный звуковой сигнал. На рис. 2.10 представлен измененный звуковой сигнал с уменьшенной в два раза громкостью, на рис. 2.11 – с увеличенной в два раза громкостью. На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени.

Исходный сигнал Уменьшение громкости

Рис. 2.9 Рис. 2.10

Увеличение громкости

Рис. 2.11

Эффекты возрастающей и затухающей громкости.

На рис. 2.12 представлен исходный звуковой сигнал, а на рис. 2.13 и рис. 2.14 применение к исходному сигналу эффекта возрастающей и затухающей громкости соответственно. На оси абцисс откладывается время, а по оси ординат значение амплитуды (громкости) звукового сигнала в определенный момент времени.

Исходный сигнал Возрастание громкости

Рис. 2.12 Рис.2.13

Затухание громкости

Рис. 2.14

Обращение звукового сигнала. На рис. 2.15 представлен исходный звуковой сигнал, а на рис. 2.16 – обращенный.

Исходный сигнал Обращенный сигнал

Рис. 2.15 Рис. 2.16

2.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 иначе к п.12

12. 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. Назначение и характеристика алгоритма создания эффекта эха

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