Author |
Topic |
|
Bernt Jansson
400.000-klubben
19763 Posts |
Posted - 2009/05/08 : 08:36:06
|
Funderar på ett experiment här...
För det första: Stämmer det att digitala filter inte vrider fasen?
Och, jag vill gärna ha tips om det finns filterprogram som man kan köra i en gammal Pentium 3 pc. Det enda jag behöver är att kunna ta signal på ljudkortets ingång och lågpassfiltrera den till en utgång. |
MVH Bernt Mitt system
"Det enda man kan vara praktiskt taget säker på är att en rak tonkurva alltid är fel." - Ingvar Öhman
Jobbar för Jorma Design och gillar bashorn
|
|
peranders
Member
2456 Posts |
Posted - 2009/05/08 : 09:36:10
|
Fasförskjutningen är linjär vilket den inte är för analoga filter. => fördröjningen är konstant.
Alla filter "vrider fasen" men på olika sätt. |
/Per-Anders eller P-A |
Edited by - peranders on 2009/05/08 09:37:53 |
|
|
f95toli
Member
4209 Posts |
Posted - 2009/05/08 : 10:30:14
|
BruteFIR kanske? Jag antar att du menar FIR när du skriver "digitala". Tänk dock på att även de flesta digitala filter är IIR filter (dvs "vanliga" filter, Butterworth etc) och alltså inte är faslinjära, mycket beroende på att FIR filter kräver rätt mycket processorkraft. FIR filter för ljud är därför faktiskt inte så vanliga som man skulle kunna tro ens i studiosammanhang. Så exempelvis ev. filter i inställningar för ljudkort etc är antagligen IIR filter och därmed inte nödvändigtvis bättre än något du kan bygga med op-ampar.
|
|
|
Bernt Jansson
400.000-klubben
19763 Posts |
Posted - 2009/05/08 : 10:44:37
|
OK. Behöver man vara programmerare eller hacker för att få igång BruteFIR?
En annan sak jag glömde skriva är att det inte får vara hörbar fördröjning i filtret. Tar det stor processorkraft kan man ju misstänka att det kan bli fördröjning. |
MVH Bernt Mitt system
"Det enda man kan vara praktiskt taget säker på är att en rak tonkurva alltid är fel." - Ingvar Öhman
Jobbar för Jorma Design och gillar bashorn
|
|
|
theseal
SW-hantering
674 Posts |
|
Lovan
Member
3166 Posts |
Posted - 2009/05/08 : 16:02:29
|
Det finn väl inga ljudkort som har kraft nog för filter eller vad syftar du på med datakraft på ljudkortet? Både en cpu och ett grafikkort som kan utföra beräkningar lär vara mycket bättre lämpat för den uppgiften. Det senare kanske inte finns stöd för ännu dock? |
|
|
theseal
SW-hantering
674 Posts |
Posted - 2009/05/08 : 16:58:38
|
(Exterena)ljudkort för studiobruk bör leverera tillräckligt med prestanda för att göra det som Bernt vill göra, svårigheterna ligger väl i att hitta ett kort med bra stöd i Linux.
|
|
|
Peg
Medlem i AÖ
536 Posts |
Posted - 2009/05/08 : 21:05:23
|
I princip alla ljudkort nuförtiden har massor av beräknings prestanda pga av att de skall klara av 3d ljud till spel. Många soundblaster kort har ju till och med the studio chip från Emu som grund. Men att kunna använda det till något vettigt är helt annat problem.
Om syftet är att ha en dator till aktiva basabsorbenter så är jag väldigt skeptisk. Jag gjorde snabbt prov med att använda mic ingången på mitt studio kort fasvände signalen och skickade ut den igen vid min sub men det gav ingen effekt över huvudtaget vilket jag tolkade som för lång delay.
Annars är det väl som andra har sagt att vissa digitala filter inte fasvrider men alla har fördröjning så vill man göra delningsfilter så måste allt ljud fördröjas lika.
Angående brutefir har jag läst någonstans på nätet att någon tyckte att det tar udden av ljudet, om det är sant vet jag inte. Förmodligen skulle det vara för att brutefir, om jag har förstått det rätt, transformerar FIR filtren och ljudsignalen till frekvensplanet med en FFT, gör filtreringen där och sedan transformerar tillbaka ljudet. Det är iofs därför brutefir är så snabbt vilket kan vara trevligt. |
|
|
f95toli
Member
4209 Posts |
Posted - 2009/05/08 : 21:06:41
|
Nja, vad jag vet så har inte ens ljudkort för studiobruk någon onboard-DSP. Det finns rena DSP kort man kan köpa för ljud (mest kända är väl korten från Universal Audio) men de fungerar bara för specifika pluggar till ex. Pro Tools.
Men en modern processor ska klara av det utan problem; även en P3 borde räcka till om det bara handlar om ett lågpassfilter. För full rumskorrigering så krävs dock kanske mer processorkraft (BruteFIR har funnits i många år, så rimligen borde det fungera hyggligt på en processor som är några år gammal). edit: Det verkar numera finnas en del grafiska interface till BruteFIR ex. http://www.privateradio.org/blog/vFi/index.php OBS! har inte provat det själv.
|
Edited by - f95toli on 2009/05/08 21:17:45 |
|
|
Bernt Jansson
400.000-klubben
19763 Posts |
Posted - 2009/05/08 : 22:19:39
|
quote: Om syftet är att ha en dator till aktiva basabsorbenter så är jag väldigt skeptisk. Jag gjorde snabbt prov med att använda mic ingången på mitt studio kort fasvände signalen och skickade ut den igen vid min sub men det gav ingen effekt över huvudtaget vilket jag tolkade som för lång delay.
Det var synd för i så fall går det inte. Signalen vill jag inte ge mig på att korrigera utan det är aktiv absorbering jag tänker på och då måste det ske i realtid och utan fördröjning. |
MVH Bernt Mitt system
"Det enda man kan vara praktiskt taget säker på är att en rak tonkurva alltid är fel." - Ingvar Öhman
Jobbar för Jorma Design och gillar bashorn
|
|
|
enigma
Member
96 Posts |
Posted - 2009/05/10 : 12:10:03
|
Det ska allt gå Bernt, beroende lite på vad för ljudkort du har och hur många utgångar du har. Man får alltid en viss fördröjning när en signal ska processas, men detta kan kompenseras för genom att de andra utkanalerna fördröjs lika lång tid som den processade kanalen fördröjs, så det är egentligen inte något stort problem. Du behöver inte köra brutefir på en dedikerad linuxburk bara för detta, det finns en mängd andra filtreringsmöjligheter, bl.a. convolver till foobar2000 |
|
|
Peg
Medlem i AÖ
536 Posts |
|
f95toli
Member
4209 Posts |
Posted - 2009/05/11 : 00:00:29
|
Nja, moderna ljudkort har naturligtvis rätt bra beräkningskapacitet. Men vad jag vet så använder de kretsar som är specialgjorda för det de gör; det mesta är alltså "kodat" i hårdvara och kan inte styras speciellt mycket från mjukvara då de inte använder generella DSP kretsar eller FPGA. Fördelen med ex. korten (UAD-2) från UA jag refererade till ovan är att de är baserade på programmeringsbara kretsar (Analog Devices SHARC processorer) vilket gör det möjligt att använda dem som "generalla" beräkningsprocessorer(och i praktiken låsta till pluggar från tillverkaren). Tyvärr är det en rätt dyr lösning.
Så tyvärr tror jag knappast det är möjligt att ex. används ett X-Fi kort och få någon meningsfull hårdvaruaccelaration för rumskorrigering.
|
|
|
Bernt Jansson
400.000-klubben
19763 Posts |
Posted - 2009/05/11 : 00:17:56
|
quote: Man får alltid en viss fördröjning när en signal ska processas, men detta kan kompenseras för genom att de andra utkanalerna fördröjs lika lång tid som den processade kanalen fördröjs, så det är egentligen inte något stort problem. Du behöver inte köra brutefir på en dedikerad linuxburk bara för detta, det finns en mängd andra filtreringsmöjligheter, bl.a. convolver till foobar2000
Jag ska som sagt INTE ge mig på signalen från själva stereon utan det är signalen från en mikrofon som ska filtreras och inverteras till ett baslement för att släcka ut basbummel på utvalda positioner i rummet. Här kan man inte ha någon fördröjning. Det jag ville komma åt är att kunna öka förstärkningen i det aktiva området. Nu kör jag med konventionellt aktivt filter på 12 dB men problemet uppstår vid gränsfrekvensen där fasvridningen gör att man får rundgång. Det funkar mycket bra redan nu men med mer gain hade man ökat effektiviteten ytterligare. Processa musiksignalen har jag provat tidigare med Izotope Ozone, men det blir sisådär tycker jag. Detta med aktiv basabsorbering har funkat bäst för mig hittills. Ljudkortet för detta ändamål hade jag tänkt ett enkelt soundblaster eller liknande. Har i och för sig kanaler lediga från mitt Lynx Two-B i musikdatorn men där planerar jag att använda mickingångarna till riaat. |
MVH Bernt Mitt system
"Det enda man kan vara praktiskt taget säker på är att en rak tonkurva alltid är fel." - Ingvar Öhman
Jobbar för Jorma Design och gillar bashorn
|
|
|
f95toli
Member
4209 Posts |
Posted - 2009/05/11 : 01:10:32
|
Det går inte att helt komma runt det problemet utan att fördröja hela signalen. Alla faslinjära filter är icke-kausala, vilket i klarspråk betyder att deras utsignal beror FRAMTIDA insignal. Det betyder dels att man alltid kommer ha en fördröjning (dvs. det spelar ingen roll hur snabb dator man använder; frekvensen på signalen komemr sätta en gräns för kortast tid), dels att de inte går att bygga utan att man har någon typ av minne i kretsen som kan buffra signalen; det är alltså det som gör att man inte kan bygga faslinjära filter med analoga kretsar.
|
|
|
Bernt Jansson
400.000-klubben
19763 Posts |
Posted - 2009/05/11 : 08:38:03
|
Aha, så det är så man gjort. Smart.
Fast till detta går det inte alltså. |
MVH Bernt Mitt system
"Det enda man kan vara praktiskt taget säker på är att en rak tonkurva alltid är fel." - Ingvar Öhman
Jobbar för Jorma Design och gillar bashorn
|
|
|
enigma
Member
96 Posts |
Posted - 2009/05/12 : 20:42:47
|
Men bernt, varför måste du använda dig av mickar? Säg att du har ett 4 kanals ljudkort, 2 kanaler skickar den rena signalen till dina högtalaren , dom andra två skickar den filtrerade och inverterade signalen till stärkaren som driver absorbenterna. Iomed att allt sköts ifrån samma dator så kan du få dina ofiltrerade signaler till huvudhögtalarna delayade (svengelska) med samma tid som det tar att filtrera signalen till absorbenterna (FIR filtrering är linjär så det skulle funka).
Jag antar att du använde Ozone för att processa signalen till dina huvudhögtalare, vilket skiljer sig rätt rejält från den metod jag beskrev ovan, det "borde" fungera :)
|
|
|
Bernt Jansson
400.000-klubben
19763 Posts |
Posted - 2009/05/12 : 23:00:03
|
Enigma: Det förutsätter att man har mätt upp vad rummet gör i de punkter där basätarna står. Läste lite om den metoden i Stereophile för ett par år sedan och det är ju intressant i och för sig men det blir fruktansvärt komplext tycker jag. |
MVH Bernt Mitt system
"Det enda man kan vara praktiskt taget säker på är att en rak tonkurva alltid är fel." - Ingvar Öhman
Jobbar för Jorma Design och gillar bashorn
|
|
|
enigma
Member
96 Posts |
Posted - 2009/05/13 : 00:26:11
|
Ja det stämmer, du måste ju mäta impulssvaret i punkterna där absorbenterna ska stå och sen skapa dina filter baserat på detta. Detta är inte så fruktansvärt komplext faktiskt. Filtret ska sedan faltas med signalen och skickas ut på rätt kanaler. Det finns ganska många olika faltningslösningar som även löser delayen åt dig. Ganska populär är foo_convolver till foobar.
Jag har bara kört liknande metoder för rumskorrigering på signalen som går till högtalarna, men metoden är likadan men filtret ser lite annorlunda ut. Som theseal länkade till ovan så är http://www.duffroomcorrection.com/ rätt så nyttig (speciellt delarna om att mäta rumssvaret och skapa filter utefter detta) |
|
|
|
Topic |
|