DRC - digital room correction

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
Mielestäni tämä ohjelma ansaitsee oman threadin.

Kyseessä on siis open source ohjelma, joka laskee huoneen impulssivastemittauksesta FIR suotimet, jotka korjaavat huoneen aiheuttamia vääristymiä seka taajuus- että aikatasossa. Vaikka taajuuskorjaimet ovat hifissä hieman huonossa maineessa, niistä kuitenkin kysellään palstoilla usein. Monilla tuntuu DRCn käyttö kaatuvan sen hankalaan käytettävyyteen. Niimpä julkaisen tässä omat drc skriptini, jospa niistä olisi jollekkin apua. Hiukan työläs prosessi se on näinkin..

Ensiksi tarvitsee tehdä impussivastemittaukset. Mittaukseen kannattaa hommata kunnolliset mittavälineet. Suosittelen Behringer ECM8000 mikrofonia ja esim EMU 0404 USB äänikorttia (tässä on vissiin phantom syöttö mikille valmiina). Oletusarvoisesti skripti44.sh käyttää ECM8000 mikrofonille tehtyä calibrointitiedostoa. Headset mikrofonilla & integroidulla äänikortilla lopputulos ei tule olemaan hyvä..

No, eikun mittaamaan. Tarvitaan

Sox.exe ja soxmix.exe kannattaa asentaa jonnekkiin $PATH muuttujan ulottuville, tai suoraan drc3.0.0/sample hakemistoon. Samoiten liitteenä olevat skriptit tulee tallentaa drc3.0.0/sample hakemistoon.

Impulssivasteen voisi periaatteessa mitata millä tahansa audio mittaus softalla. Tässä tapauksessa kannattanee tyytyä pitkään sweeppiin, joka ehtii herättelemään matalimmatkin huoneen moodit. Itse haluan sweepin suoraan digitaalisena digikauittimilleni, joten olen polttanut stereo sweepin (sweepLRstereo.wav) CD levylle. Sweepin voi generoida ajamalla startup.sh skriptin drc3.0.0/sample hakemistossa.

Homman nimi on, että Audacityn&mittavälineiden avulla sweepLRstereo.wav tulisi saada purkitetuksi kuuntelupaikalta. Sovitaan, että koko sweeppi tahdistus pulsseineen talletetaan mittaus48.wav tiedostoon. Äänikortin näytteenottotaajuuden kanssa tulee olla tarkkana. Useinmiten se on 48kHz. Jos tarjolla on useita vaihtoehtoja, aseta se 48kHz. Varmista Audacityllä, että mittauksen tahdistuspulssien etäisyys on noin 49.5 sekuntia. Jokatapauksessa mittaus pitää muuttaa 44.1kHz taajuudelle. Tämä onnistuu komennolla

sox mittaus48.wav -t wav -c 1 -r 44100 -fl mittaus44.wav polyphase

Jos äänikortin näytteenottotaajuudeksi on tarjolla vain 44.1kHz, niin em. vaihetta ei tarvita.

Seuraavana vaiheena on editoida Audacityllä em. 44.1kHz mittaus kahdeksi sweepiksi. Vasemman kanavan sweeppi (ensimmäinen) tulee tallettaa vasen_m.wav tiedostoksi ja jälkimmäinen oikea_m.wav. Tiedostot tulee tallettaa mono muotoisena ja tietysti 44.1kHz näytetaajuudella. Tahdistuspulssit tulee myös editoida pois.

Kun meillä näin on kaksi tiedostoa vasem_m.wav ja oikea_m.wav drc3.0.0/sample hakemistossa, voimme ajaa skripti44.sh:n Skripti tuottaa foobar_filters.wav tiedoston, joka sisältää huonekorjauskertoimet. Ennen niiden käyttöä kannattaa tarkistaa Audacityllä visuaalisesti test_convs.wav, joka kertoo etukäteen, miltä huoneen impulssivaste näyttää korjattuna. Tuloksen tulisi olla selkeä impulssi molemmissa kanavissa. Samoiten kannattanee mielenkiinnon vuoksi tarkistaa Audacityllä irms.wav, joka kertoo huoneen alkuperäiset impulssivasteet (tiedosto on 32bit float, joten sitä joutuu hieman zoomaamaan).

Jos skriptit ei toimi tai impulssivasteet ei parane niin kysellä voi tässä ketjussa tai vaikka privana.

Ja mitä näillä kertoimilla tehdään?

  • Foobar2000 http://www.foobar2000.org/ playerissä on File->Preferences->Playback->DSP Manager->Convolver
    foobar_filters.wav tiedoston voi asettaa sellaisenaan Impulse fileksi.
  • convolver ; http://convolver.sourceforge.net/download.html
    convolverCMD ohjelmalla pystyy esisuodattamaan musiikkikirjaston biisit offlinenä
    esimerkiksi näin:
    convolverCMD 0 1 0 foobar_filters.wav Input.wav Output.wav
    tähän lienee tarjolla jotain looppaavia skriptejä..
    Output.wav on floating-point wav, eli sitä ei voi polttaa CDlle. Muunnos 16 bittiseksi onnistuu komennolla
    sox Output.wav -sw Output16.wav
  • brutefir ; http://www.ludd.luth.se/~torger/brutefir.html
    Tämän pystyy konffaamaan linux purkkiin, ja se tekee vaikka mitä esim jakosuotimet&drc samalla.Sen pystyy vissiin jopa conffaamaan SqueezeCenteriin pluginiksi. En ole kuitenkaan kokeillut. SqueezeCenteriin+QNAP NAS comboon suosittelen kuitenkin convolverCMDtä. QNAPin tehot ei kuitenkaan riitä pyörittämään brutefiriä.




[ylläpito on poistanut liitteen]
 

Jyrki_H

Moderaattori
Liittynyt
6.8.2006
Viestejä
19 344
Kaupunki
Oulunsalo
Sinänsä en ole DRC:tä vastaan, mutta käänteisen huonemallin tekeminen ei välttämättä ole hyvä ratkaisu. Toiminee hyvin bassotaajuuksilla, mutta siitä ylöspäin tulee helposti ongelmia. Aikatason korjaus toimii kyllä oikein siinä mielessä, että se ei vääristä kaiuttimen suoraa ääntä (kuten normaali parametrinen EQ tekee). Ongelmana on vain se, että korjaus toimii ainoastaan siinä pisteessä, jossa mittausmikrofoni sijaitsi. Muualla vaste saattaa vääristyä erittäin pahasti. Itse käyttäisin DRC:tä ainoastaan bassotaajuuksien ongelmien korjaukseen ja hoitaisin korkeammat taajuudet akustoinnilla.

http://www.meridian-audio.com/w_paper/Room_Correction_scr.pdf
 

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
Olisin kyllä toivonut, että kritiikkiä koko homman toimivuudesta esitetään vasta drc ohjelmaa kokeiltuaan. Onhan tästä teoreettisesti jo jauhettu useammassa ketjussa.

DRCn kantava ajatus on se, että taajuuskaista jaetaan paloihin ja korjauksia tehdään korkeammilla taajuuksilla yhä vähemmän. Kyseessä ei siis ole "brute force" huoneenkääntö, ja jonkin verran kaikuja jää aina elämään.

Itseasiassa yritin jo hieman tutkia, miten drc parametrit saa konffattua niin, että korjaukset tapahtuvat vain bassoalueelle. En onnistunut. Voin kyllä julkasta tässä hieman myöhemmin jonkun octave skriptin joka muokkaa foobar_filters.wav niin, että equtus jää pelkästään subiin.

Jos on huolissaa keskiääni taajuuksistaan, niin näin aluksi suosittelen muuttaa skripti44:stä oletusarvoisen parametrifilen (normal-44.1.drc) vaikka soft-44.1.drc tai minimal-44.1.drc:ksi
 

layeroid

Käyttäjä
Liittynyt
1.8.2006
Viestejä
431
Oikein hyvä, että tällainen topicci on olemassa, vaikka näyttääkin hieman kuolleen alkuunsa.. Paljon aiheeseenliittyvää keskuteluahan on käyty dvdplazan forumilla (mm. atimoden kehitystä koskeva keskustelu:http://www.dvdplaza.fi/forums/showthread.php?t=64315). Erittäin paljon hyödyllistä asiaan liittyvää tiedonjyvästä.

Itsellä tuli tässä jouluvapaalla vähän mietittyä asiaa, ja huomasin että oikeinkäytettynä potentiaali on suuri, sillä varsinkin pahimmista bassoalueen ongelmista on oikeasti mahdollisuus päästä hyvinkin pitkälti eroon. Kuten jyrki_h alla kommentoikin ylempien alueiden kompensointi on riskialtista, ja totta siitä ei varmasit kukaan ole erimieltä. Onhan selvää, että jos ylimmän kompensoitavan taajuuden aallonpituus on muutaman senttimetrin luokkaa, kutistuu käyttökelpoinen kuuntelualue hyvin pieneksi.

Mutta kuten aina, asia ei ole (onneksi) näin suoraviivainen, koska DRC:llä on kyllä mahdollisuus säätää hyvinkin joustavasti miten kompensaatiota mitatun huonemallin perusteella harjoitetaan. Hyvää ja havainnollista informaatiota on DRC:n documentoinnissa. Tekstistä voi havaita, että drc:n kehittäjä on kyllä perehtynyt aiheeseen hyvin, sillä tällaisia korjausmetodeita käytettäessä on tosiaan syytä tehdä joitakin päätöksiä psykoakustiseen malliin perustuen (esi- ja jälkikaiunta-aikojen kuultavuus/kuuluvuus yms). Se miten korjaus tapahtuu aika-taajuus -tasossa riippuu asetuksista, ja niihin voi melko monipuolisesti vaikuttaa. http://drc-fir.sourceforge.net/doc/drc.html#htoc25

Tärkein y.m. vaikuttava parametri on WE-arvo (MPWindowExponent). Hyvin pienillä arvoilla korjauksen vaikutus voidaan ajallisesti rajata korkeilla taajuuksilla hyvin lyhyeksi, jolloin vaikutus käsittääkseni näillä taajuuksilla rajautuu lähinnä siihen, että se mitä korjataan on lähinnä kaiuttimen vaste taajuustasossa (Vastaa lähinnä ekvalisointia). Mielenkiintoisempaa on kuitenkin se, että käsittääkseni myös vaihevaste pitäisi suoristua, ts porrasvasteen muoto pitäisi muuttua ideaalisempaan suuntaan. Olenko oikeassa? Jos väite on tosi, niin se kylläkin olettaa, että mitatussa impulssivasteessa ensimmäinen saapuva ääni on kaiuttimesta suoraan tuleva ääni. Näinhän useimmissa tapauksissa on.

Sopiva varovainen arvo WE:lle olisi ehkä luokkaa WE = ~0.4 (http://drc-fir.sourceforge.net/doc/drc004.gif), jos halutaan varoa sotkemasta korkeita taajuuksia. Anti-modea käsittelevässä ketjussa kuitenkin todettiin, että pahimmillaan moodit voivat elää useiden satojen millisekuntien ajan, ja anti-moden käyttämä korjaus on aikatasossa ilmeisesti 300ms luokkaa, jolloin vältytään jolloin pitäisi jo saada erittäin hyvä korjaus aikaan. WE = 0.4 rajoittaa melko voimakkaasti myös matalien taajuuksien korjausta aika-akselilla, joten tekisi ehkä mieli kokeilla ajallisesti pidemmälle ulottuvaa korjausta, rajoittuen pääasiassa kuitenkin vain matalille- ja keskitaajuuksille, esim <500-1000Hz. Käsittääkseni DRC:ssä voi kuitenkin määrätä WE:n arvon JA erikseen esifiltteröinnin ylärajataajuuden (MPEndFreq). Näin siis ymmärsin dokumentaatiosta, toivottavasti meni oikein. Tällöin voisi ulottaa matalien taajuuksien korjauksen hyvinkin pitkälle aika-avaruudessa esim. WE = 1.0-1.5 ja silti säilyttää ylempien taajuuksien vasteen muuttumattomana. Jos siis pelkää koskea niihin ja haluaa käyttää DRC:tä lähinnä bassotaajuuksien korjaukseen.

Toisaalta, jos DRC:llä muokattava vaste tosiaan pystyy oikaisemaan myös vaihekäyttäytymistä (kaiuttimen vaihevastehan voi olla hyvinkin epälineaarinen vaikka taajuustason vaste olisikin erittäin hyvä). Mutta jos tähän osaisi joku fiksumpi kommentoida onko tosiaan mahdollista, vai ei..

No korjaukseen vaikuttavia asetuksia on paljon, ja hyvänä lähtökohtana kannatta varmasti käyttää valmiita drc:n asetustiedostoja joita on ohjelman mukana. Muokkaa sitten niitä mieleisempään suuntaan, mikäli näkee tarpeelliseksi.

Toinen käytännön juttu tuli myös mieleen, eli huoneen impulssivasteen mittaus. DRC:n mukana toimitettavat aputyökalut generoi normaalin logaritmisesti muuttuvan sweepin, jolla SNR paranee lähinnä siten, että yksittäisen taajuuden mittausaikaa pidennetään, ts. sweepin pituutta kasvatetaan. Jotenkin itsellä on kuitenkin sellainen fiilis, että vaikka tämäkin menetelmä on varmaan ihan hyvä, niin yksinkertaisempi ja ennenkaikkea edelleen robustimpi menetelmä olisi käyttää pseudokohinaa (MLS) mittaussekvenssinä. Tällöinkin mittauksen taajuusresoluutiota voidaan parantaa kasvattamalla mittausjakson pituutta, mutta näennäiskohinamittauksessa vältytään kuitenkin sweepin aiheuttamalta koettelemukselta diskantille, ja lisäksi impulssin jälkikäsittely laskennallisesti jopa hyvinkin yksinkertaista, koska impulssivaste saadaan suoraan alkuperäisen MLS-sekvenssin ja toistetun+tallennetun sekvenssin ristikorrelaationa. En tunne teoriaa tarpeeksi hyvin, mutta menetelmä antaa verraten helpolla hyvän ja robustin impulssivasteen.

Anti-modessa on käytössä mielenkiintoinen gradientti-menetelmä, jolla vasteen korjausta/ käyttökelpoista kuuntelualuetta voi laajentaa suuremmalle alueelle (ts. systeemi rajoittaa vastekorjauksen voimakkuutta tjs joka vähentää paikkariippuvuutta). Olisi mielenkiintoista tietää millä tavalla järjestelmä generoi huoneen impulssivasteen saaduista n-määrästä eri paikasta mitattuja vasteita. Suora keskiarvotus ei liene toimiva lähestymistapa, ja "gradientti-menetelmä" -nimestä voisi kai asiaa paremmin tunteva jo melkein arvata kuinka homma toiminee. Tämä lienee kuitenkin osa sitä liikesalaisuutta. :) Riittävästi vastaavanlaiseen tulokseen, eli laajempaan toimivaan kuuntelualueeseen päässee kuitenkin säätämällä drc:n asetukset sopivasti (rajoittamalla korjausta sopivasti taajuusalueessa vain matalampiin taajuuksiin / pidempiin aallonpituuksiin. Ehkä myös aikatasossa, ts. pienemtämällä WE-arvoa) ja käyttämällä mittauspisteenä kuuntelupistettä. Tämä on arvaus.
 

layeroid

Käyttäjä
Liittynyt
1.8.2006
Viestejä
431
Toinen juttu on sitten käytettävät softat toisto-puolella. En ole omasta huoneesta mitannut koskaan impulssivastetta, mutta kun sitä kuitenkin pitäisi päästä hyödyntämään niin käytin jotain satunnaista netistä löytyvää impulssivaste-tiedostoa yhdessä winamp + adapt-X:n ja convolverin kanssa. Musiikkitiedostojen esikäsittely impulssivasteella ei missään tapauksessa tule kyseeseen muuta kuin testausvaiheessa ehkä.

veskelin, miten pitkä on käytössäsi oleva impulssivaste? Aiheuttaako convolverin käyttö viivettä signaalintoistoon impulssin pituuden verran? Kokeilin vain pikaisesti melko pitkällä impulssilla tässä meikän huonosti toimivassa läppärissä (en siis kotikoneella joka oikeasti jopa toimii). Convolver sinällään olisi kätevä ohjelma koska sama filtteri toimisi oletettavasti niin leffoilla kuin kuin muillakin toisto-ohjelmilla (itse käytän winamp:a. Adapt-X taas ei vaikuttanut aivan niin lupaavasti toimivalta. Paremmin pääsen kuitenkin kokeilemaan vasta joulun pyhien jälkeen.

En tiedä olisiko tämä keskustelu ollut hedelmällisempi käydä dvd-plazalla, mutta tulipahan nyt kuitenkin kirjoitettua tänne. Josko vaikka saataisiin jotain kokemuksia aiheesta muutamissa paremman luokan 2-ch systeemeissä. Itse aion ainakin perehtyä tähän tarkemmin kunhan pääsen takaisin ns. paikanpäälle.

Semmoinen asia mitä ei voi kyllä huomioida liian tarkasti on käytettävän mittamikrofonin vaste. Se pitäisi todellakin olla suora, mikäli haluaa lopputuloksesta jotain järkevää. Tai eihän sen suora tarvitse olla, mutta vaste pitäisi olla tiedossa, että sen voi kompensoida jos heitot ovat kovin pahoja. http://www.ele.tut.fi/~artoko/audio/measurement/microphones.html
 

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
Paljon kysymyksiä, vähän aikaa, ennenkuin karkaan Joulun viettoon.

Mulla on olohuonesetissä convolverina DSP-kitti, jonka olen itse ohjelmoinut. Äänilähteenä lähinnä Squeezebox ja digiboksi spdifin läpi. Koodini ei ole se kaikkein tehokkain (FFT) toteutus, joten joudun rajaamaan drc impulssivasteen 1024 tappiin. Viivettä tämä filtteri aiheuttaa ehkä 200 samppelia (~Ero ensimmäisen ja suurimman tapin väliltä)
Lisäksi jakosuotimista tulee 512 tapin viive. Tekee vissiin 15ms, eikä häiritse ollenkaan TV:n katselua.

Drc korjaa vaihetta, vieläpä erittäin tehokkaasti.
http://kotisivu.dnainternet.net/eskvi/web/mit2/pages/LeftIR.html
http://kotisivu.dnainternet.net/eskvi/web/mit2/pages/LeftIR_drc.html
Mulla on vissiin edelleen jakosuotimissa pieni käpy, tai jotain. Joskus oli jopa pahempi. Jokatapauksessa alkuperäinen IR aika kamala. Ja silti drc korjaa sen kiltisti.

Kakkossettiä olen vasta kasaamassa, ja siihen teen brutefir serverin. Eli erillisen PC:n, johon ääni tulee AD:n läpi. Ihan vaan siksi, että noita HD ääniä ei taida saada muusta lähteestä. Analoginen lähde pelaa aina ja melko varmaan tulevaisuudessakin.

WE parametri rajaa korjausten hyvyyttä myös bassoalueella. Mulla on jossain octave skripi joka summaa kaksi drc impulssivastetta jollain jakotaajuudella, mutten saa jakoon sitä tässä hädässä. Eli skriptilla on mahdollista tehdä huonekorjaus IR, joka korjaa vain alle 100Hz tekemättä muille taajuuksille mitään.

Impulssivasteen mittaukseen suosittelen drc:n mukana toimitettavia sweeppejä. Olin joskus puoli vuotta hakoteillä, kun mittasin IR:n ARTA:n MLS sekvenssillä. Tulos oli aina melko kehno. En tiedä miksi. Käsittääkseni hitaat huonemoodit eivät edes ehdi herätä MLS:llä.

Kuuntelukokemuksista voin esittää standardi minimun,soft ja normal parametriseteistä.
Minimum - lähinnä kaiuttimien EQUtusta. Yleensä enemmän ambienssin tuntua
Soft - käytän yleensä tätä.
Normal - Ääni tulee kuin tulisi kauempaa.
 

layeroid

Käyttäjä
Liittynyt
1.8.2006
Viestejä
431
Noniin aika hyviltä vaikuttaa noi saamasti mittaustulokset. Kovasti on kaunistunut toi impulssivaste. Octave-sriptistä tuskin olis itelle hirveästi hyötyäkään kun ei oikeen linuxia ole tullut käytettyä. Mutta matlabilla on ihan kätevä ja helppo tarvittaessa tehdä noi impulssivasteen (esi)suodatukset.

Itsellä on tosiaan dipolibassot käytössä, jotka kyllä poistaa hyvin paljon huonepohjaista basso-ongelmaa, mutta se mitä jää vielä jäljelle on ikäänkuin korvakuulolta muutama kapea-alainen (ts. sopivalla musiikilla esiintuleva) piikki. Huone on muutenkin niin pieni, että jos korjausta uskaltaa käyttää jollain voimakkuudella myös bassoluetta ylemmillä taajuuksilla (alakeskilue) niin myös siitä saattaisi olla huomattavasti etua. Oma tavoite on kuitenkin olla vaikuttamatta oleellisesti soundiin muilla osa-alueilla kuin alemmilla taajuuksilla jo senkin takia, ettei kuuntelukelpoinen alue kapene pieneksi palloksi mittauspisteessä. Paljon tulee kuunneltua myös muualla kuin sweetspotissa.

Tuo antimoden käyttämä gradienttimenetelmä on ihan hyvä ajatus.. Jotenkin se muodostaa jonkinlaisen keskiarvon tai vastaavan kahdesta (tai useammasta?) mittauspisteestä saaduista impulssivasteista, s.e. korjauksessa käytettävä impulssivaste ei ole liian "voimakas" korjaamaan ääntä ainoastaan yhdessä pisteessä. Tai voisi kuvitella että kyseessä on ehkä pikemminkin korrelaatio näiden kahden pisteen datan väliltä, jonka avulla saa pomittua pahimmat ongelmaresonanssit, ja muu epäkorreloiva (ts. liian paikalliset resonanssit jotka eivät ole olemassa kummassakin pisteessä) jäävät huomiotta. Mikä on siis se mitä halutaan jos korjausta ei haluta liian voimakkaasti sitoa yhteen pisteeseen. No, tämä oli vain ajatuksenvirtaa ja sellaisenaan täysin hyödytöntä.

Sillähän tuo sitten selviää kun jossain vaiheessa vuodenvaihteen jälkeen pääsen testailemaan vähän, että miltä se huoneen vaste oikeastaan vaikuttaa. Ihan kiva sinällään jo nähdä onko minkäänlaista korrelaatiota kuulohavaintojen ja mittausdatan välillä. Jokatapauksessa luulen että menetelmässä on huomattava potentiaali, jos vain saan toimimaan softat mielekkäällä tavalla (=huomaamattomasti) arkipäiväistä käyttöä ajatellen. Jos en saa konvoluutiota toimimaan kätevästi muiden softien kanssa, niin sitten tuollainen erillinen dsp-purkki kytkettynä esim äänikortin ulostulon (=digitaalinen, toslink) ja dac:n (=stello dp200) väliin on järkevä vaihtoehto itselle, koska erillista DA-AD -muunnosta en missään tapauksessa halua ääntä sotkemaan. :) Tässäkin kohtaa tulee tietysti mieleen, että digitaalisessa ketjussa myöskään receiver-transmitter -ketju ei saa häiritä liikaa signaalia.. Noh, liikaa hifistelemättä, joka tapauksessa toivottavasti saan ainakin ensihätään tuon convolverin kanssa toimimaan kätevästi omalla koneella.

Yksi asia mikä rajoittaa korkeamman taajuusalueen korjausta, on mittamikrofonin vaste. Ostin muun pikkutavaran ohella ECM999 mittamikrofonin (tosi halpa, ja ecm8000:a ei ollut varastossa), joten varmasti vaste ei ole ihan suora korkeammilla taajuuksilla. Aiemmin tuo ecm999 on kai ollut korkealaatuinen laite, mutta kärsinyt sittemmin ilmeisesti pienen laadunpudotuksen. No, lähes kaikkien mittaustarkoituksiin käytettävien mikkien vaste on riittävän suora keskialueelle asti joten siihen asti niitä ainakin uskaltaa käyttää ihan hyvin. Vuodenvaihteen jälkeen sitten testihavaintoja..

Todennäköisesti lähden liikkeelle soft tai normal-asetuksista, JOS nyt pääsen ensin niin pitkälle että saan jollain tasolla luotettavan mittaustuloksen huoneesta.
 

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
Tässäpä näitä Octave skriptejä. En ota mitään vastuuta toimivuudesta/oikeellisuudesta. Enkä lupaa mikrotukea Octaven osalta. Se alkaa olla jo melko "pro" ohjelma. Octave toimii hyvin myös Windows ympäristössä. Se sisältyy täyteen cygwin asennukseen. Skriptit toiminevat myös Matlabilla.

octave bassonly.m
komennolla foobar_filters.wav muokkaantuu foobar_filters_bassonly.wav korjaintiedostoksi, joka korjaa vain alle 150Hz. Jakotaajuutta voi muuttaa editoimalla bassonly.m fileä.

octave irsum.m
komennolla foobar_filters_1.wav ja foobar_filters_2.wav tiedostoista tuotetaan foobar_filters_3.wav, jossa toiminnallisuus alle 1000Hz kuten foobar_filters_1.wav, muutoin kuten foobar_filters_2.wav.

Jos sulla Layeroid on mikrofoni joka vaimentaa diskantteja, niin ilman kunnollista calibrointifileä drc vahvistaa diskantteja automaattisesti. Ehkä kannattaa ajaa bassonly.m (korkeammalla jakotaajuudella) jotta tältä vältytään.


Ps.
Drc ohjeman ohjeisiin voisin lisätä pari esille tullutta pointtia
vasen_m.wav ja oikea_m.wav tulee tallettaa floating-point wav muodossa.

Jos sweeppimittaus on ollut kohinainen, niin drc huoneenkääntö ei välttämättä onnistu. Usein tällöin drc ilmoittaa ohimennen "log limit reached in cepstrum computation". Tässä tilanteessa mittaus kannattaa tehdä uudestaan suuremmalla äänenvoimakkuudella (mikkivahvistin pienemmällä). Toinen vaihtoehto pienentää BCInitWindow parametrin arvoa esim puolella.
 

Liitteet

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
Lisätään vielä foobar ohjesiin, että foo_convolver ei kuulu foobarin vakiovarustukseen.
Se tulee ladata tuolta
http://www.foobar2000.org/files/042f29b66fc9d269e27321add6dc75ae/foo_convolve.zip
ja tallettaa purettuna foobar2000/components hakemistoon.

Toisaalla palstalla on keskustelu nopeista vahvistimista. Väsäsin korjaintiedoston, joka omaa bassoalueella suhteessa negatiivisen ryhmäviiveen.
http://kotisivu.dnainternet.net/eskvi/drc/grpdelayfilter.wav

En pysty itse kokeilemaan, mutta epäilisin että tavanomaisella 2-tie refleksikaiuttimella ko filtterillä saadaan aikaan timmimpi/nopeampi bassontoisto. Grpdelayfilter.wav tulee siis kirjata foobar convolverin asetuksiin. File->Preferences->Playback->DSP Manager->Convolver.


Edit. Sattui hassu bugi. Toimitan filen huomenna..
 

Gretch

Käyttäjä
Liittynyt
2.9.2007
Viestejä
10 849
Jos ensimmäisen viestin ohjeistus tuntuu monimutkaiselta, voi hommaa lähteä purkamaan myös RoomEqWizard ohjelmalla. Tämä on varsin helppokäyttöinen softa ja osaa exportoida suoraan convolver-filtterit, jotka voi sitten ladata vaikkapa Foobarin Convolveriin. Pelkkien filtterien teon lisäksi ohjelma on varsin asiallinen työkalu ihan mittailuun.
 

layeroid

Käyttäjä
Liittynyt
1.8.2006
Viestejä
431
Noniin, tässähän tulikin jo paljon taas asiaa. Vilkaisin nopeasti m-filet läpi, ja muuten vaikutti selkeältä, mutten ihan tajunnu tota groupdelay-kohtaa noissa. Vaan eipä se niin väliä "jos se vaan toimii". Joka tapauksessa oleellista on se, että jos haluaa koskea vain bassotaajuuksiin niin impulssia voi suodattaa haluamallaan tavalla.

Hyvä, että sanoit tuosta tallennusmuodosta. Olisiko parilla esimerkkitiedostolla tekemäni kokeilu (ihan vaan testasin ohjelman toimivuutta) epäonnistunut sitten tuon takia. No sen näkee sitten kun saan käsiini mittamikin. Sitä odotellessa.. Kyllähän tuo huolellinen impulssivasteen mittaaminen lienee aika oleellinen osa kokonaisuuden onnistumista. Saa nähdä miten saan sen onnistumaan. Oikea mikkiständikin olis kiva olla olemassa.. :D Täytyy pärjätä virityksillä sen puoleen.

Mikrofoni on hieman arvoitus laadultaan toistaiseksi. Saan onneksi lainaan tarvittaessa laadukkaampaa tavaraa.
 
K

ksaunisto

ECM8000 kalibrointitiedostot mainittu. En suosittele sellaisten käyttämistä ellei kalibrointitiedosto ole tehty juuri kyseiselle yksilölle. Mikkien yksilöerot ovat melko isoja eikä poikkeamat lineaarisesta ole välttämättä edes samaan suuntaan. Mulla on tällä hetkellä kolme ja ollut aikojen saatossa neljä yksilöä, eikä niillä ole paljoakaan yhteistä ylimmällä oktaavilla.
 
K

ksaunisto

startup.sh:n ensimmäisen soxin (sox -t raw -c 1 -r 44100 -fl sweep.pcm -t wav sweep.wav) -fl -parametri ei tunnu enää kelpaavan, vaan tulee ilmoitus 'sox: invalid option -- l'. Mitä tuohon pitäisi nykyisellä sox-versiolla tyrkätä?
 

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
-fl parametrilla on tavoiteltu 32 bittistä floating-point lukua.

olisko sitten joku alla olevista
-e floating-point -b 32
-f -4
-f4

-fl oli varmaan monessa paikkaa skriptejä.
 
K

ksaunisto

Pari ongelmaa lisää:

1) flat-44.1.txt puuttui. Ilmeisesti joku tällainen kelpaa - ainakin ohjelma hyväksyy
0 -30.0
20 0.0
20000 0.0
22050 0.0

2) soxmix puuttuu, joten ihan viimeinen askel pudottaa rotkoon. Jos tarkoitus on tehdä vain stereoksi miksaus, niin saan tehtyä editorillakin. Jos löytyisi WinXP:ssä pyörivä exe, niin pääsisi vähän helpommalla.
 

veskelin

Hifiharrastaja
Liittynyt
11.4.2007
Viestejä
282
Kylläpä on softat happaneet sitten viimenäkemän.

Drc 3.0.1 paketista en löytänyt Windowsille valmiiksi käännettyä pakettia. Aiemmin oli, ja ainaskin 3.0.0 toimi WinXPssä sellaisenaan.
Soxmix:iäkään en löytänyt Windowsille. Aiemmin toimitettiin samassa paketissa sox:in kanssa. Soxmix tosiaan tekee stereomixejä, joten editori pelaa myös.

Flat-44.1.txt olisi ehkä lyötynyt jostain /targets/44.1 kansiosta.
Pa-44.1.txt kelpaisi myös.
 
K

ksaunisto

Sain kuitenkin pelaamaan, koska sox osaa myös miksata -m parametrilla.

Keräsin liitteeseen xp:ssä pyörivät batit ja käyttämäni flat-44.1.txt:n. Toistaiseksi olen testannut ilman todellista mittausta, käyttämällä CoolEditillä viidestä kohdasta parametrisesti equtettua sweeppiä. Foobar tekee syntyvillä filttereillä asianmukaiset vastatoimet, joten homma pelaa varmasti myös livenä.

Edit: Flat-44.1.txt näköjään löytyy /targets/44.1 kansiosta, eli tuota minun versiota ei ehkä kannata käyttää.
 

Liitteet

layeroid

Käyttäjä
Liittynyt
1.8.2006
Viestejä
431
Kiitoksia kimmostellekin valmiista bat:sta! Tein jotain väkerrystä kyllä itsekin tuossa joulun alla, mutta hyvä näin.
 
Ylös