Импулсен ривърб с деконволюция – Част 2 – реверберации с импулсния спектър

Качено от mic на Thu, 03/29/2018 - 21:15

Превод от: Impulse based reverb through deconvolution – Part 2 – using the impulse response to produce reverberations

Това е втората статия в поредицата от статии за деконволюирането на някакъв звук с реверберация за да получим импулсния спектър на естествената реверберация и след това да използваме този импулсен спектър като един изкуствен ривърб. В предишната статия създадохме един импулсен спектър на някакъв примерен ривърб. В тази статия ще вземем някакъв кратък звук - един удар по един барабан – и ще го реверберираме с импулсния спектър, който създадохме преди. По-нататък, ще вземем реверберирания удар по барабана и ще претендираме, че не знаем импулсния спектър. Ще се опитаме да намерим импулсния спектър и ще видим колко добре ще се справим. Спомни си, че е възможно да се запише естествената реверберация на някакъв кратък звук, като например един удар по барабаните, в една стая или зала и да се използва деконволюция на този естествен ривърб за да се получи един изкуствен ривърб.

Един кратък удар по един барабан може би изглежда по следния начин.

Един изкуствен сигнал, който представлява един удар по барабаните

Това разбира се е един фалшив удар по барабаните. Един истински удар по някакъв барабан може да е по дълъг от 50 милисекунди (ms). На практика, една вълна записана при стандартната пробна честота от 44.1 KHz също така ще има прекалено много проби и ще е трудно да се създаде една интуитивна графика за нея. Така, това е просто една синусоида, която затихва, при пробната честота 2000 Hz. Ще си представим обаче, че това е записа на един удар по един барабан.

Можем да вземем този удар по барабана и да го пуснем през същите операции както в предишната статия – един дилей с два изхода, два всичкопропускащи филтри на Шрьодер и един напредващ гребенов филтър. Можем и просто да използваме импулсния спектър на ривърба и да направим една конволюция на двата сигнала.

Конволюция на удара по барабана с импулсния спектър на ривърба

Обикновено работя с филтри с ограничени импулсни спектри, които са симетрични спрямо средата и често забравям, че импулсният спектър трябва да се обърне обратно както в тази графика за да се приложи по правилен начин. Началните върхове на импулсния спектър (които са най близо до оригиналния сигнал) трябва да стигнат до сигнала първи. При симетричните филтри това не е важно – те са симетрични – но тук е необходимо.

Крайният резултат ще бъде както в следната графика (оригиналният сигнал е включен; обърни внимание на промяната в мащаба на вертикалната ос). Вероятно не е това, което очаквахме. Върховете при около 100 ms вероятно са прекалено големи. Това обаче е правилният резултат. С този определен сигнал и с дадените параметри на ривърба, ще получим наслагващи се повторения на удара по барабана при около 100 ms, които подсилват върховете на сигнала.

Един удар по един барабан след реверберацията

Можем да разложим този резултат, като следваме стъпките от предишната статия. Първо, ето резултата от ранните отражения – един дилей с два изхода, един със забавяне от 43 ms затихване равно на 0.7 и втория със забавяне равно на 67 ms и затихване от 0.5 (при пробната честота 2000 Hz, забавянията са 86 проби и 134 проби). Оригиналният сигнал е махнат от следната графика.

Един удар по един барабан след многоизходния дилей с два изхода

Следното е резултата от пускането на оригиналния сигнал през един всичкопропускащ филтър на Шрьодер със забавяне от 3.7 ms (7 проби) и затихване равно на 0.7. Едно забавяне равно на 83 ms (166 проби) се използва преди филтъра.

Един удар по барабаните след един забавен всичкопропускащ филтър на Шрьодер

Ако вземем изхода от първия всичкопропускащ филтър и го пуснем през втория вскичкопропускащ филтър, ще получим следната графика. Вторият всичкопропускащ филтър има забавяне от 1.23 ms (3 проби) и затихване равно на 0.65. Като че ли няма кой знае каква промяна в сигнала, но това трябва да се очаква при този сигнал и при малката стойност на забавянето.

Един удар по един барабан след едно забавяне и два всичкопропускащи филтъра на Шрьодер

Накрая, вземаме изхода от втория всичкопропускащ филтър и го пускаме през един гребенов филтър. Гребеновият филтър има забавяне от 11 ms (23 проби) и затихване равно на 0.7. Пак, няма много разлики между тази картинка и предишната, но естествено няма да видим толкова много, колкото когато работим с импулси. Този гребенов филтър обаче дава допълнителните върхове в крайния сигнал по-долу.

Един удар по барабаните след два всичкопропускащи филтри и един гребенов филтър

Самият краен сигнал е сумата от оригиналния сигнал, двата изхода на дилея и изхода от гребеновия филтър. Следващата ни задача е да вземем крайния сигнал и, като претендираме, че не знаем точното определение на филтрите, да създадем съответния импулсен спектър.

authors: mic

Добави нов коментар

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.