( BehringerZoltan | 2020. 12. 26., szo – 19:01 )

Szerkesztve: 2020. 12. 26., szo – 19:14

Nem tudom, hogy érdekel-e valakit, de azért leírom a fejleményeket.  Már most is elég élvezetes játszani ezen a virtuális zongorán, szépen szól, alig kér erőforrást pl. a DSP load olyan 5-8% körül van.

Az egyik (a kisebbik) probléma, hogy mint jeleztem korábban, az SFZ fájlt egy Javás programmal állítottam elő, amit a neten találtam. 
Ez következőt követte el: 
Előzetes és szükséges magyarázatként visszatérek arra, h különböző erősségű billentyűleütéshez tartozó hangfájlokkal dolgozom. Elméletileg -egy billentyűhöz tartozóan-  128 különböző erősséget tudna kezelni a rendszer, de ez a nagy felbontás nem feltétlenül szükséges, így a gyakorlatban csak 16 erősség van felvéve (ezek előre meghatározott MIDI értékek alapján álltak elő) és a köztük lévő erősségekhez tartozó hangzás um. számolva van (azokhoz nem tartozik felvétel). Ezért ezekhez hozzá kell rendelni a 16 felvétel közül valamelyiket, amihez képest számolja majd magát. És itt érünk a problémához. A felvett hangokhoz tartozó MIDI velocity (leütési erősség) értékek a következők 13;30;35;40;45;48;53;60;68;76;84;92;100;108;116;127. Az említett Javás progi úgy osztotta be h a 0-13 értékekhez a 13-as felvételt rendelte; 14-30-asokhoz a 30-ast; 31-35..35-ős és így tovább. Ezzel az a baj, hogy ott történik a váltás ahol a felvett hang van. Pedig nyilvánvaló, hogy mondjuk a 14-es értékhez a 13-as felvett minta áll közelebb (előnyösebb lenne az alapján számolni)  és nem a program által hozzárendelt 30-as felvétel. Tehát egy ilyen eltolást kell csinálni olyan erősségi tartományba, aminek a közepén helyezkedik el az az erősség, amihez a felvett minta tartozik. Tehát pl. a 35-ös, mintához nem a 31-35, hanem 33-38 tartománynak kéne tartoznia és így tovább szépen elosztva. Ennek előállításához saját szkriptet kellet írnom, amit végül sikerült odáig bonyolítanom, hogy egy nagy xml fájl tartalmaz mindenféle hanghoz tartozó adatokat és abból xslt-vel szedem ki amire éppen szükség van. 

A másik probléma bonyolultabb. Ez annak a megfejtésére és irányítására vonatkozik, hogy hogyan számolja ki a köztes hangokat a linuxsampler? Tehát  vegyük pl a 13-as és a 30-as felvett hangot! Ezen hangfájlok közt a vizuális megjelenítésekor is érzékelhető különbség van az alakjukban. Persze nagyon hasonlítanak egymásra, de azért ha jobban megnézzük máshol vannak a tüskék stb - gondolom el tudjuk képzelni! De nem csak ez (tehát h más a hang) a különbség, hanem h a 13 halkabb, 30 pedig hangosabb. Tehát a 14-29 köztes hangok esetén nem csak az a kérdés, h melyik mintát vegye alapul, hanem, hogy milyen "hangosság" tartozzon hozzájuk? És a helyzetet tovább bonyolítja, hogy itt eléggé eltérés van a magas ill. a mély hangokhoz tartozó billentyű  esetén. Valószínűleg nem lehet majd univerzális szabályt alkotni!  Fel kell térképezni azt, hogy a felvett mintákhoz milyen "hangossági" tulajdonságok tartoznak. Van itt Peak Level, RMS max stb  jobb és bal csatornák külön elég bonyi elsőre - meg kell érteni! Ezeket majd valamilyen rendszerbe kell szervezni, h ki lehessen számolni a köztes hangokhoz tartozó hangossági tulajdonságokat - egyenlőre valami táblázatkezelőre gondolok (itt köszön vissza az XML előnye).  További kérdés, h miként tudom úgy paraméterezni a linuxsamplert , h úgy számolja hangokat, ahogy szeretném?  Ezt SFZ fájlon belül különböző opcode -kkal lehet befolyásolni. Úgy tűnik alapvetően amp_veltrack érték lesz az, ami kell nekem. És azzal kell majd játszani, hogy melyik mintákra ill. minták csoportjaira milyen amp_veltrack értéket adok meg.  De sok opcode van és eléggé el vagyok veszve bennük egyenlőre. 

Távolabbi kilátások: a Pianoteq hangok kinyerése a demo verzióból nehezítve van két dologgal. Az egyik, h 20 percenként újra kell indítani a programot. A másik, h 8 meghatározott billentyűhöz egyáltalán nem tartozik semmilyen hang, azok némák a demóban. Mivel itt "in the box" fog futni minden, nincs DA/AD átalakítás, meg midi időzítés probléma valahogy úgy kéne h este elindítom a szkriptet és reggelre (jó pár óra múlva) ott mosolyognak rendezetten a kinyert minták. Lehetőleg semmi beavatkozásra ne legyen szükség! Lehet itt nem 16 hanem 32 különböző erősségű billentyűleütéshez tartozó hangokat fogok rögzíteni billentyűnként. Ez belefér még a 20 perces időbe. A "néma" billentyűket majd a linuxsampler fogja kiszámolni egy-egy közeli hangból transzponálva.