Nemrég új TB-303 emuláció VST plugin jelent meg a piacon SilverBox néven – ezúttal magyar fejlesztőktől, a Spectralhead Audio-tól. Kaptam az alkalmon és elkészítettem ezt az interjút Schoffhauzer Péterrel, aki a fejlesztés nagyobb részéért felelős. A fejlesztésben szintén aktív Pető Kornél igazoltan hiányzott, így négyszemközt beszélgettünk. A közel 2 órás interjú során nem haladtunk szigorú témák mellett, ezért sok, lazán kapcsolódó, de érdekes témát is érintettünk, melyek talán későbbi cikkek részei lehetnek.

Spectralhead Audio SilverBox

Mesélj valamit a kezdetekről…
Kornéllal kb. 10 éve ismerkedtünk meg egy demóparty-n, a Rage ’97-en…

C64, Amiga?
Nem, PC-n nyomultunk mindketten. Én zenéltem, Kornél coder volt, pl. SoundBlaster-hez fejlesztett egy több kártyás, speciális mixer programot, ilyesmik… A lényeg, hogy mindketten akkor kattantunk rá az acid zenékre, illetve, hogy mindketten veszprémiek vagyunk. Jelenleg Kornél Veszprémben dolgozik és most októberben végzett a főiskolán, én pedig Pestre jöttem és az ELTE-n tanulok informatikát és angolt. Emiatt ritkábban tudunk személyesen találkozni, de továbbra is összeköt minket a zene szeretete. Én Pesten egyre jobban megismertem a goa zenei stílust és belevetettem magam. Mivel akkor pont ez a csavarós/prüntyögős irányzat volt a domináns, ami oly közel áll az acid-hoz, abszolút megfogott. Annak idején 5 éves koromban kaptam az első számítógépemet és hozzá könyvet, ami alapján elkezdtem egyszerűbb programozással szórakozni. Kornél 10 évesen kezdett egy Enterprise 128-cal, és szintén a gyári könyv alapján indult el rajta. Aztán ez jó pár évvel később abbamaradt egyéb érdeklődési területek miatt, és kb. 2 éve kattantam megint rá. Megismerkedtem a SynthEdit-tel, és nagyon kényelmes alkalmazásnak tartom plugin fejlesztéshez.

Mi a véleményed arról, hogy hardcore programozók leszólják a SynthEdit-et, mondván olyan ez, mintha levesporból főznél ebédet ötcsillagos étteremben?
Ez a kezdetben talán igaz lehetett… Aztán megjelent a SynthEdit SDK, ami hatalmas előrelépés volt – attól kezdve mindenki magának írhatta a saját moduljait és elkezdett a dolog komolyodni és színesedni. Bizonyára voltak és vannak sokan, akik alapfunkciókból és ingyenes modulokból próbálnak összebarkácsolni valamit, de szerencsére mára a SynthEdit egy generikus vizuális fejlesztőeszközzé vált, akárcsak a komponens alapú programozási keretrendszerek. A múltkor megpróbáltuk összeszámolni a közkézen forgó modulok számát, valahol 800 – 900 körül mozoghat…

Ki milyen részt vállalt a fejlesztésből?
Magát a fejlesztést és a GUI-t is én készítettem. Kornél nemrég vett egy TB-303 – ast, viszonylag jó állapotban. Akkor lett neki igazán szerepe a projektben, mikor a kezem alá kerülhetett általa egy eredeti darab, és különben már régóta forgattam a fejemben, hogy kéne egy 303-as emulációt csinálni. Kornél elsődleges szerepe volt a hangminták készítése, melyeket elemezve próbáltam verzióról-verzióra olyan DSP kódot készíteni, amely autentikus hangzást ad. A fejlesztés előzményeiről annyit, hogy a DSP programozással – mint említettem – kb. 2 éve kezdtem újra komolyabban foglalkozni. Egy ideje elég aktív vagyok Yahoo SynthEdit-es levlistáján, illetve van egy SynthEdit-tel foglalkozó weboldalam is, ahol különféle modulokat, kisegítőket és példákat osztok meg. A levlistán megismerkedtem Günter Hager-rel, aki látta hogy tudok válaszolni a kérdésekre, levágta, hogy értek hozzá, és az ő ötlete volt egy SynthEdit-es könyv összehozása. Megtaláltuk egymást és elkészítettük ezt a könyvet egy társszerzővel (David Haupt) közösen. A körülbelül 300 oldalas könyv kétharmadának vagyok a szerzője, amely magában foglalja az effektek készítését, a szubtraktív és FM szintézist, illetve a SynthEdit-es struktúrák optimalizálását. A könyv a Visual VSTi Programming nevet kapta, és bár a kiadónál (WizooBooks) vezetőségi döntés alapján végül papír nyomtatásban nem jelent meg, de ebook formában összeszerkesztve igen. Sőt, ha felmész a SynthEdit weboldalára, akkor a főoldalon kapásból ezzel találkozol…

Akkor jó alapokkal indultál neki a fejlesztésnek…
Hát a 303 elég egyszerű felépítésű szerkezet. Cél volt, hogy autentikusan szóló és könnyen használható cuccot készítsek, átlátható kezelőfelülettel. Talán a SilverBox-ban a legjobbak a randomizáló funkciók a hasonló plugin-ok közül, ez szintén fontos volt.

Igen, a vas 303 kezelőfelületén könnyű volt hibázni, és ebből születtek a legérdekesebb ötletek.
A randomizáló funkciók segítségével ez könnyedén megoldható, hiszen itt nem kell a 303 kezelőfelületének munkamódszeréhez igazodni, a sajátos kezelőfelületből adódó „extrákat” így lehet pótolni…

Milyen fejlesztési megoldásokat emelnél ki?
Mindenütt, ahol lehetett, törekedtem az alias-mentes hangzásra, ez a torzítóban például nagyon jól sikerült. Ez high quality módban 16x-os túlmintavételezéssel dolgozik. Ha a projekt mintavételezési frekvenciája 44.1 kHz, akkor a harmonikusokat 705,6 kHz-en számolja, innen történik a downsampling vissza 44.1 kHz-re, ez minden hallható aliast kiküszöböl. A torzító egyébként +80dB túlvezérlésre képes, és a torzítóba épített szűrőnek köszönhetően igen gazdag felharmonikusok képződnek, melyek az egyedi ízét adják a hangnak, mindezt alias nélkül. A Warp és Wrap módban +60dB a max. túlvezérlés, ami, mivel ú.n. „foldback” típusú torzítás, 1000x visszatükröződést eredményez a plafon elérése esetén (ciklikusan oda-vissza), ezzel agresszív, fémes hangzások érhetők el.

A torzító modellben volt határozott elképzelésetek, analógot vagy digitálisat akartatok, esetleg iterációk során alakult ki a végső modell?
Igazából ez egy digitális modell, mely abban speciális, hogy a bejövő jelet egy crossover-en keresztül vezeti és bontja szét közép-magas és mély tartományra majd külön történik a processzálás. A crossover-ben használt szűrők hozzájárulnak a jelalak aszimmetriájának kiemeléséhez, ez némileg hasonlít az analóg torzítók aszimmetrikus működéséhez, bár itt nem volt cél egy valós analóg torzító lemodellezése. Később majd talán kerül bele hangszóró szimuláció, mely többé-kevésbé készen is van.

A szűrő pedig minden módban 18dB-es, ún. state variable modell, ahol egy lépésben egyszerre kapom meg az LP, HP, BP kimenetet, majd a GUI-n történt beállításnak megfelelően az adott filter típus kimenete kerül a jelútba. A state variable szűrő másik jellegzetessége, hogy frekvenciaátvitele nem tart a mínusz végtelen felé a Nyquist frekvenciához közeledve (technikailag fogalmazva: nincsenek benne zérók), hanem inkább az analóg szűrőkhöz hasonló karaktere van, ami más digitális szűrőktől eltérő hangzást eredményez. Itt is van egy 2x túlmintavételezés, ami a minőségen dob még egyet. A Kornél által felvett mintákat alaposan kielemeztem, hogy milyen karakterisztikával bírnak különféle beállítások mellett, és készítettem a fejlesztés során egy táblázatot, mely adott frekvenciákon mutatta az értékeket, majd általában polinomos közelítéseket alkalmaztam. Ezután persze ment vissza Kornélnak az eredmény, ő pedig összehasonlította a vassal, és ahol problémás részeket talált ott ismétlődött a folyamat, ameddig mindketten elégedettek voltunk az eredménnyel.

Ha már a torzítónál beszéltünk fejlesztési lehetőségekről akkor megjegyezném, hogy többféle szűrő modellem is van, többek között pl. Waldorf Pulse után modellezett is, ezeket adott projekt céljainak megfelelően bármikor bepakolhatom a plugin-ekbe. Nagyon érdekelnek a visszacsatolásos rendszerek megoldásai is. Van pár szűrőmodellem amiken keresztül ezzel kísérletezem, a visszacsatolási hurokban különféle nonlineáris megoldásokkal.

A meglévő randomizáló funkcionalitás kiterjesztésén gondolkodtál már?
Igazából annyira kevés paraméter van, hogy gyorsabb eredmény érhető el ezek tekergetésével, mint kiterjedt random funkciókkal. A következő 1.1-es verzióban a külső szekvenszer módot fogom bevezetni, azaz már nem csak a belső szekvenciák lesznek trigger-elhetők kívülről, hanem a belső szekvenszer kikapcsolhatóvá válik és bármilyen DAW beépített MIDI szerkesztőjével használható lesz. A régi funkció is megmarad, a kettő között választhat a felhasználó. Megfordult még a fejemben az unisono is, kísérleteztem is egy kicsit vele… Az 1.1 szinte teljesen kész van, pusztán teszteken kell átesnie.

Végeztél összehasonlító méréseket a többi plugin-nel a hatékonyság terén? Milyen mértékben erőforrásigényes a SilverBox, és hol áll a sorban?
Természetesen. A SilverBox jobbnak bizonyult a konkurenciánál minden téren, sőt, natív C kódon futó VST plugint is maga mögé utasított. Nem volt negatív visszhang egyáltalán, hogy ez SynthEdit-es plugin, és nem is mutat tipikus SynthEdit-es jegyeket. Az összes kritikus rész optimalizált Pentium4-re, párhuzamos vektorutasításokkal és egyebekkel, a közvetlen konkurenciának számító Audio Realism BassLine-t és d16 Phoscyon-t gond nélkül alázza. Hogy számokat is mondjak: egy manapság elavultnak számító 2 GHz-es Pentium4 rendszeren kikapcsolt torzító mellett 2-2,5% processzorteljesítményt eszik meg. (Megjegyzés: méricskélünk, és a 2-es verziójú BassLine 7,5%-ot eszik, a Phoscyon általános megdöbbenésünkre 21%-ot, amit hirtelen nem tudunk hova tenni – valamilyen bug-ra gyanakszunk, mert az rettenet rossz érték).

Milyen más területeken látsz fejlesztési lehetőséget a SilverBox esetében?
Van pár funkció amin már dolgozom vagy többé-kevésbé készek, de még nem kerültek bele a jelenlegi verzióba.

Van jelenleg belső paraméter interpoláció a MIDI stepping elkerülésére?
A paramétereken történik egy finomítás, ez némileg csökkenti a stepping érzetét. Kísérleteztem módszerekkel, amellyel a paraméter mozgását korlátozom maximum olyan sebességre, amellyel a vas 303-on lehet tekerni egy potit. Ez szintén érdekes lehet, ha korrektül modellezni akarjuk a valóság korlátait és ezáltal elkerülni a hiteltelen hangokat, ugyanakkor a szoftver képességeit csak emiatt limitálni kérdéses dolog, így végül ezt nem alkalmaztam. A stepping kezelésére eddig az Access Virus-ban alkalmazott megoldást találtam a legjobbnak, a SilverBox-ban jelenleg egy ennél egyszerűbb finomítás van. Viszont a stepping nem probléma a VST automatika esetében, ahol lebegőpontos számolás van…

Beszéljünk egy kicsit a disztribúcióról is. Hogyan látjátok a szoftverkalózkodást, illetve milyen módon képzelitek el a későbbi terjesztést?
Jelenleg kissé gyerekcipőben jár ez nálunk. Van ugye a weboldal, azon keresztül történik jelenleg minden promóció. Ez nem kevés – pl. az olvasói visszajelzések alapján készítettem a külső szekvenszer funkciót is, mert igény volt rá részükről. Marketing még egyáltalán nem volt… mivel most még kevéssé elterjedt a SilverBox, ezért a kalózkodás sem jelent problémát (még).

Akartok/fogtok keresőgép marketinget alkalmazni?
A későbbiekben mindenképpen. Most az 1.0-s verziót előfutárnak tekintem, igazából majd az 1.1-es verziónál lesz érdekes ami egy kerekebb, nagyobb funkcionalitással rendelkező darab lesz. Most egyelőre beraktam a KVR-en a plugin adatbázisba, ami alapján sok helyre eljutott a híre, blog-okra és hírportálokra került ki, és most már ott tartunk, hogy megkeresett 3 magazin is, hogy írni szeretnének róla (Keys, Future Music, Wusik), tehát elindult a dolog.

Gondolkodtok Mac-es verzión? Ahhoz, hogy szélesebb körben terjedjen, fontos lenne…
Sokan kérdezték már ezt… Van egy jó cimborám aki egyrészt zenész, másrészt Mac-en fejleszt, és az ő közreműködésével fog ez elkészülni. Tulajdonképpen már el is indult a portolás.

UB vagy PPC verzió fog készülni?
Annyira nem vagyok otthon Mac-es témakörben, de gondolom UB verzió fog elkészülni. A srácnak kis időbe fog telni mire az AU specifikációt átnézi, és megérti hogyan is kell azt kezelnie. Nem akarom, hogy elaprózódjon a dolog, ezért ha nehezen boldogul vele, akkor előbb a PPC és az UB csak később.

Gondolkodtok valamilyen promócióban most így karácsony idején?
Megfordult a fejemben… Most az a fontos hogy kijöjjön az 1.1, aminek csak egy Fruity-s fagyás a gátja, amint ez a probléma elhárul, release-re kész a verzió. Napok óta foglalkozom vele. A plugin betöltésekor az egész Fruity kifagy úgy ahogy van, szóval egyelőre nem értem mi a baj. Ha a fagyás helyét megtalálom, akkor lehet haladni és talán összejön egy karácsonyi akció…

Karrier az audioiparon belül?
Nem hülyeség, megfordult már a fejemben.

Sok audioipari cég szokott termékkel együtt „vásárolni” fejlesztőt is…
Vannak némi fenntartásaim ezzel kapcsolatban. Elképzelhető hogy kiadok még pár szoftvert a kezem közül, és ha valahonnan kapok egy jó ajánlatot, akkor elfogadom. De lehet hogy nem… Most nem látom ezt pontosan.

Szeretnéd ezt hosszabb távon csinálni vagy megmarad másodvonalnak, esetleg hobbinak?
Mire gondolsz a hosszabb táv alatt?

Napi munkavégzésre, amiből a megélhetésed is származna.
Nem zárkózom el a dolog elől, amennyiben akad egy konkrét lehetőség és tetszik, nem mondanék nemet. Az egész dolog nem olyan rég indult. Most itt van ez a csapat: Kornél tesztel, demo hangmintákat készít, valamint javaslatokat ad a GUI és funkcionalitás tekintetében, itt a Mac-es srác, jelentkezett egy grafikus is, aki felhasználói felületet készítene, én pedig maradok a DSP fejlesztésnél. A következő projektben komolyabb szervezés mellett folyik majd a munka. Én csak a konkrét DSP fejlesztésre szeretnék koncentrálni, és örülnék, ha a vállamról lekerülnének a szorosan nem ide tartozó munkák. Így sokkal hatékonyabb lenne az egész, a bug-ok elhárítása is gyorsabban menne – nem mintha most sok lenne, de pl. itt ez a Fruity-s példa… A SilverBox projektben kb. 2 hónap munka van benne, beleértve a grafikát és egyebeket is. Előtte persze ott van a 2 év DSP tanulással eltöltött idő, ami nélkül ez nem működött volna.

Mi várható a SilverBox után?
Több ötletem és futó fejlesztésem is van: multiband kompresszor, effektek, csöves torzító emuláció, és egy következő komplexebb VST szintetizátor is. Egy darabig biztos nem fogyok ki az ötletekből…

A SilverBox és a Spectralhead Audio honlapja

Interjú: Schoffhauzer Péter, Spectralhead Audio
Cimke:                                             

Egy gondolat a “Interjú: Schoffhauzer Péter, Spectralhead Audio” -hoz

  • 2007-12-10 at 10:55
    Permalink

    ADSR: Jó ilyeneket olvasni, kérünk még interjúkat!
    Spectralhead: Sok sikert (eladást) nektek!

  • 2007-12-10 at 13:18
    Permalink

    tényleg grat. de egy orbitális nagy hülyeséget kár volt leközölni: „UB és PPC verziók is lesznek?
    Annyira nem vagyok otthon Mac-es témakörben, de elsősorban UB verzió fog elkészülni. A PPC talán később, de most nem prioritás” a kérdés eleve fura hisz az UB az unibin vagyis ppc és intel szóval elég lett volna csak azt kérdezni hogy UB lesz vagy PPC esetleg csak Intel? remélem érhető a problémám 🙂
    amugy grat.

  • 2007-12-10 at 14:51
    Permalink

    Solar Eclipse: nagyon köszönöm a korrekciót, javítottam ezt az orbitális baromságot.
    Nem vagyunk ilyen dinkák, és fura hogy az interjút többször is átpörgetve elkerülte a figyelmemet ez a teljesen értelmetlen bekezdés. Mivel a szöveg többszöri javítás és ellenőrzés után nyerte a el végleges formáját, ezért meglepő hogy egyikünk sem vette ezt észre, illetve az előtted olvasó több mint 700 embernek sem tűnt fel. Valószínűleg azért, mert mindannyian értették, hogy miről is szól a válasz és nekik is becsapta a tudatuk a szemüket.
    Piros pontot adok az észrevételért.

  • 2007-12-10 at 15:06
    Permalink

    nem kell piros pont 🙂 csak szóltam 🙂 minden reggel melóba az adsr.hu-n kezdem 😀 jobb mint a reggeli újság. további sok sikert úraim (ha vannak akkor a hölgyeknek is :))

Hozzászólások lezárva