DSP - Ефект на почистване на филтъра

Внедрявам ефект "пречистване на филтъра" (не знам дали се нарича така). Това, което правя, е основно да създам нискочестотен филтър и да го накарам да се „движи“ в определен честотен диапазон.

За да изчисля честотата на прекъсване на филтъра в даден момент, използвам предоставена от потребителя линейна функция, която дава стойности между 0 и 1.

Първият ми опит беше директно да картографирам стойностите, върнати от линейната функция, към диапазона от честоти, както в cf = freqRange * lf(x). Въпреки че работи добре, изглеждаше така, сякаш сканирането вървеше много по-бързо при преминаване през ниски честоти и след това се забавяше по време на пътя си към високочестотната зона. Не съм сигурен защо е това, но предполагам, че е нещо общо с човешкия слух, който възприема промените в честотата по нелинеен начин.

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

Как трябва да разделя честотното пространство, за да получа постоянна възприемана скорост на почистване?

Благодаря предварително.


person Trap    schedule 16.06.2010    source източник
comment
За да получите сетивния феномен, който търсите, предполагам, че искате да има постоянен (постоянен) интервал от време между съответните ноти в следващите октави. Т.е. интервалът между A2, A3, A4 е същият и също като забавянето във времето между достигане на B3 от B2, B4 от B3 и т.н. Въпреки че последователността е A2B2C2D2E2F2G2A3..., тя може да бъде прекалено сложна, но ако получавате или A, или C правилно, мисля, че ще звучи като прогресия в западна скала.   -  person Heath Hunnicutt    schedule 16.06.2010


Отговори (2)


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

Ние чуваме честотата по отношение на октави и преминаването през октави с логаритмична скала е начинът да я линеаризираме. За да не звучи пренебрежително, но изглежда, че това, което правите, е физически и математически правилно. (Трябва да прекарате толкова време между 200 и 400 Hz, колкото и между 2000 и 4000 Hz и т.н.) Просто не ви харесва как звучи. И това е съвсем наред и в двата случая - аудиото е силно субективно.

За да смесите малко нещата, една от възможностите би била да опитате Bark scale, който се основава на психоакустиката и структурата на ухото. Доколкото разбирам, това е предназначено да прекарва еднакво време във всеки от вътрешните "лентови филтри" на ухото ви.

Винаги можете да опитате квадратична или кубична функция между 0 и 1. Аудио потенциометрите често използват няколко квадратни или кубични секции, за да получат картографирането си.

person jbarlow    schedule 18.06.2010
comment
Преди да опитам скалата на Bark, започнах да си играя с кубични и квадратични функции, както предложихте, и трябва да кажа, че резултатите са много подобни на тези, получени от Adobe Audition :) - person Trap; 18.06.2010

Огледайте се, но опитайте това:

http://en.wikipedia.org/wiki/Physics_of_music#Scales „Следното Таблицата показва съотношенията между честотите на всички ноти от само мажорната гама и фиксираната честота на първата нота от гамата."

След това има диаграма, показваща дробни стойности между 1 и 2, и ако промените времето си, за да съответства, може да получите това, което желаете. Въпреки че общата прогресия все още е логаритмична, стъпката между всяка трябва да се раздели на еднакви стъпаловидни 8-ми (малко скокове).

Казано по друг начин, на всеки половин секунда повишавайте една нота. Всяка октава (мисля) ще покрие два пъти честотния диапазон от предходната октава.

РЕДАКТИРАНЕ: Освен това ще намерите честотите тук: http://en.wikipedia.org/wiki/Middle_C#Designation_by_octave (не желае ли програмистът във вас C0 да е точно 16hz?)

person Jeff Ferland    schedule 16.06.2010
comment
Ако те разбрах добре, трябва да прилагам линейна прогресия в рамките на октави, но логаритмична прогресия между тях? - person Trap; 18.06.2010
comment
Като програмист намирам, че НАИСТИНА е смущаващо, че е 16352 вместо 16384 :) - person Trap; 18.06.2010
comment
Е, докато цялостната прогресия е логаритмична между всяка дадена нота в две октави, прогресията не е точно логаритмична между различни ноти в една и съща октава. Разбира се, възприятието за истински размах също може да се различава от това... Нека да ви насоча малко по-различно: опитайте да съпоставите размаха си с тези различни криви и вижте коя е най-подходяща. en.wikipedia.org/wiki/A-weighted - person Jeff Ferland; 18.06.2010