Инициализируйте импульсный отклик помещения, используя время реверберации (T60)

Я делаю реверберацию речи с использованием неотрицательной матричной факторизации.

Чтобы быть точным, я работаю над этим документом Нассера (paris.cs.illinois.edu/pubs/nasser-icassp2015.pdf), который включает получение оптимального решения для импульсного отклика помещения (уравнение 10). Итак, для этого мне нужно сначала инициализировать H. Он упомянул в статье, что "каждая строка H была инициализирована одинаково с использованием линейно затухающей оболочки"(раздел 4, в конце страницы 3). Мне нужно инициализировать импульсный отклик (H) так, чтобы его время реверберации (T60) составляло 300 мс. Пусть длина H равна 10.

Это то, что я пытался, но это произвольное решение.

x=1:10;
h = exp(-x/2);
H = repmat(h,600,1);

Это даст мне размерность 600 * 10. Но я не понимаю, как использовать T60 для инициализации в MATLAB. Пожалуйста, скажите мне!

1 ответ

Хммм. Если вы пытаетесь создать эффект реверберации, то H должен быть просто вектором, мне кажется, у вас есть матрица с 10 столбцами. При создании эффекта реверберации вы обычно получаете импульсный отклик и объединяете его с вашим звуковым сигналом. В этом случае h кажется довольно произвольным, и я не знаю, даст ли он вам количество нужной вам реверберации. Однако, если вы хотите использовать h в качестве импульсного отклика для реверберации, все, что вам нужно сделать, - это свернуть ваш аудиосигнал с импульсным откликом.

[x, fs] = audioread('myaudio.wav');
y = conv(x,h);

Если у вас был импульсный отклик от записи и импульсный отклик из комнаты, где была сделана запись, вы можете применить деконволюцию, чтобы удалить реверберацию, используя функцию деконвекции в Matlab.

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

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

http://www.umiacs.umd.edu/~ramani/cmsc828d_audio/AllenBerkley79.pdf

Если вы заинтересованы в слепой деконволюции, это может вас заинтересовать.

https://www.academia.edu/1370250/Predictive_deconvolution_and_kurtosis_maximization_for_speech_dereverberation

Небольшое предостережение, деконволюция и реверберация в комнате - очень сложное дело. Приведенная выше модель источника изображения, хотя и интересна и эффективна, на самом деле не отражает сложность реверберации и реверберации. Есть несколько вещей, которые могут повлиять на звук (стоячие волны и т. Д.). Я не могу гарантировать вам, что простое вычисление RT60 с использованием только затухающего экспоненциального вектора и деконволюции даст потрясающие результаты. Тем не менее, зато выстрел и много веселья!

Другие вопросы по тегам