Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Aleksey V. Vaneev                    2:5003/15.1    04 Nov 2001  11:02:05
 To : Alexander Rebrov
 Subject : FFT
 -------------------------------------------------------------------------------- 
 
 
  AR> Простенький эквалайзеp пpоще сделать чеpез moving average filter
 
 Да мне не нужен IIR или FIR фильтр (ты о нем, кстати?). Мне нужен именно
 FFT-фильтр. Плюс у него существенный есть - он фазы в сигнале не сдвигает.
 
  AR> Кстати, вpоде ты делал pевеpбеpатоp и аypалайзеp. е мог бы описать
  AR> алгоpитмы?
 
 Ревербератор:
 
 Сначала нужно реализовать delay-line (задержку обычную) желательно со встроенным
 ФВЧ и с параметром усиления сигнала. Далее просто сгруппировать штук 12 этих
 задержек по 6 на каждый канал. Причем если входной файл - стерео, то нужно
 обеспечить проникновение сигнала в обе ветви задержек. То есть если в
 стерео-файле активен только один канал, он все равно в какой-то степени должен
 присутствовать в обеих ветвях линий задержек. Далее нужно провести простые
 вычисления. Если мы задаем входной параметр "длина хвоста ревера" 1.5 секунд, то
 это означает, что сигнал ревера за 1.5 секунд должен уменьшится на 60 дб (это
 стандарт дефакто, если я ничего не путаю). Обычно длина задержки равна где-то
 20-40 мс и у ней имеется параметр "feedback" (обратная связь). Параметр
 "feedback" у каждой линии задержки нужно подобрать так, чтобы все такие линии
 вместе давали нужную характеристику спада общего уровня ревера. Естественно, при
 этом нужно учитывать длины задержек (которые выбираются случайным образом, или
 каким-либо образом моделируются). Вообще, если оставлять одну единственную
 линию, то получающийся сигнал ревера похож на "тарахтение", но когда таких линий
 много, сигнал получается "гладким", практически неотличимым от сложных отражений
 помещения.
 
 Еще в реверах часто присутствует параметр "pre-delay" - это время атаки сигнала 
 ревера (обычно от 0 до ~50 мс). Я сам с этим параметром, к сожалению, не
 разбирался, хотя он и очень существеннен для достижения реалистичности ревера.
 
 Как показывают опыты, для длин задержек лучше не выбирать простые числа - в этом
 случае получается очень неестественный "плоский" ревер - оно и понятно, ведь в
 этом случае не будет возникать резонансов и поглощений, когда как в реальных
 помещениях они существуют.
 
 Поголовно во всех реверах существует одна проблема - это песочный звук
 отрывистых сигналов - удары, щипки и пр. Hасколько я понимаю, никто толком эту
 проблему в цифровом исполнении так и не решил. Существует очевидное решение -
 увеличение числа линий задержек, например, до 100, но это слишком ресурсоемко.
 
 Я как-то пытался сделать "софтенер" для ревера, но не "добил" его. Идея в нем
 была простой - если уровень сигнала резко возрастает, нужно сначала его быстро и
 плавно уменьшить, а потом плавно вывести его до исходного. Получается подобие
 компрессора, но в отличие от него, граничный уровень выбирается алгоритмом
 автоматически (и в этом есть, похоже, сложности).
 
 Ауралайзер:
 
 Тут все просто - к сигналу с небольшой задержкой примешивается такой же, но с
 инвертированным правым или левым каналом. Перед примешиванием этот сигнал
 необходимо профильтовать - оставить диапазон частот, например, 1000-7000 Гц. И
 желательно пропускать его через стерео-задержку, у которой каналы имеют разную
 длину - это необходимо, чтобы при сведении общего сигнала в моно, не исчезали
 некоторые его компоненты. Естественно, нужно еще сбалансировать эту линию
 задержки - уменьшить громкость канала, длина задержки в котором меньше.
 
  e-mail: picoder@sbis.komi.ru
 
 --- GoldED+/W32 snapshot-2001.5.29
  * Origin: We're all God's people (2:5003/15.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 FFT   Aleksey V. Vaneev   03 Nov 2001 00:06:10 
 Re: FFT   Alexander Rebrov   03 Nov 2001 22:14:35 
 FFT   Aleksey V. Vaneev   04 Nov 2001 11:02:05 
 FFT   Alex Astafiev   05 Nov 2001 15:58:26 
 FFT   Aleksey V. Vaneev   06 Nov 2001 09:23:00 
 Re FFT   Alexander Rebrov   07 Nov 2001 21:12:49 
 Re FFT   Aleksey V. Vaneev   09 Nov 2001 22:37:01 
 Re: FFT   Alexander Rebrov   11 Nov 2001 23:43:36 
 FFT   Aleksey V. Vaneev   12 Nov 2001 10:37:59 
 Re: FFT   Alexander Rebrov   06 Nov 2001 12:36:07 
 FFT   Alex Astafiev   08 Nov 2001 14:49:10 
 FFT   Daniel Kamperov   09 Nov 2001 16:56:32 
 FFT   Ђ­¤аҐ©   04 Nov 2001 22:18:59 
 FFT   Evgenij Masherov   05 Nov 2001 11:20:02 
 FFT   Aleksey V. Vaneev   06 Nov 2001 09:17:48 
 FFT   Evgenij Masherov   06 Nov 2001 11:59:59 
 FFT   Alex Astafiev   06 Nov 2001 09:35:00 
 FFT   …ўЈҐ­Ё© Њ иҐа®ў   05 Nov 2001 22:30:36 
 FFT   Aleksey V. Vaneev   08 Nov 2001 17:27:00 
 FFT   Evgenij Masherov   09 Nov 2001 10:48:01 
 FFT   Aleksey V. Vaneev   09 Nov 2001 22:49:40 
 FFT   Evgenij Masherov   12 Nov 2001 11:03:58 
Архивное /ru.algorithms/27083be4f09c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional