Zongi tippek

Hol kezdődik egy hang  szálnak folytatása...

Itt folytatom, csak h mindenkit összezavarjak :)

Első amit meg szeretnék osztani egy jópofa megoldás arra, hogyan lapozhatjuk a kottát a zongora két, egyébként ritkán használt pedáljával. A kiinduló helyzet az, h a kottát, mint PDF-et monitoron nézzük mondjuk Atrilban. És azt akarjuk elkerülni, hogy kézzel kelljen egerezni v. a sz.gép billentyűzetét nyomkodni a lapozáshoz amikor az oldal aljára érünk, mert a kezünk a zongorán van.  Ha abban a szerencsés helyzetben vagyunk, hogy a digitális zongoránknak három pedálja van, akkor bal oldalit (una corda) és a középsőt (sostenuto) fel tudjuk használni a lapozáshoz. Ezek Midi-ben a CC67 és CC66 ként jelennek meg.  Ezt fogja figyelni egy rövidke script, ami aztán xdotool-on keresztül fog előre vagy hátra lapozni. 

#!/bin/bash

aseqdump -p "USB Midi Cable" |\

while IFS=" ," read src ev1 ev2 ch label1 data1 label2 data2 rest; do
    case "$ev1 $ev2 $data1 $data2" in
        "Control change 67 127" ) xdotool key Up Up Up ;;
        "Control change 66 127" ) xdotool key Down Down Down ;;
    esac
 
done

Az USB Midi Cabel itt a értelemszerűen az a jelölés ahogy a sz.gép látja a midi billentyűzetet (és így a pedálokat is). Ez eltérhet máshol és emiatt lehet módosítani kell. Az aseqdump -l paranccsal kapjuk meg azt a listát amiből ki tudjuk választani, h mire kell esetleg cserélni a hivatkozott részt. 

Ha minden oké, elindítva a szkriptet, ha az Atril van a fókuszban, akkor a pedálokat nyomogatva előre hátra fog lapozódni a kotta.  Persze a dolog nem tökéletes, mert ugye így ha egyébként a darab megkívánja, hogy használjuk a pedálokat az eredeti funkciójukban, akkor is el fog lapozni.  De azért elég jó, nem? :-D

Más. Végeztem a hangminták kinyerésével a -z itt meg nem nevezett- virtuális zongora programból. És már össze is állítottam belőlük a saját virtuális zongimat. Szuperül szól, nagyon elégedett vagyok. 48kHz-es 24-bites minták 32 velocity layeren (billentyű leütési erősség). Külön felengedett és lenyomott sustain pedállal. Összesen ~32GB -nyi minta. Ehhez már kevésnek találtam a kb 15 éves sz.gépemet és egy 10 évesre újítottam. i5-ös proci, 4GB ram, és 3 darab 128 GB-os SSD lett bele RAID0-ba kötve. Csak egy SATA3-as csati van ezen az újabb alaplapon, a többi SATA2-es. A diskek így 750 MB/s körül teljesítenek, ami kb a duplája a korábbi felállásnak (amikor 2 SATA2-es volt RAID0-ban). Ez most minimálisan elégnek tűnik a linuxsamplernek 256-os polifóniával. Tulképp még van némi fejlesztési potenciál, mert  az alaplapi video van használva, és így van szabad 16x PCIe csatoló, amire 3.0 ready -ként hivatkozik az alaplap gyártója (Asus P8B75-M LX), és rászitázva is a 3.0 felirat van. (De a chipset netes doksijában csak 2.0 PCIe szerepel.)  Abba mehetne egy M.2-es bővítőkártya. Még sosem volt ilyen M.2-es kártyám, de ha tényleg hozza azokat a számokat amiket írnak, akkor egy jó darabig nem kell aggódnom a disk sebessége miatt! Nem tudom, hogy mennyire van támogatottsága ezeknek linuxon! Bootolnia nem kell róla, arra+rendszernek maradna egy sima SSD, az M.2 -esre csak a hangminták mennének. Ja, hát és persze RAM-ot sem ártana belenyomni 16GB-ot tud kezelni!

Ubuntu van rajta lowlatency kernellel. Plussz érdemes felvenni a repok közé a KXStudio -t ahol össze vannak szedve a linuxra elérhető audiós cuccok! 

Sokszor írok erről a velocitynek nevezett dologról. Nem biztos, h ez pontosan érthető. Előzetesen azzal kell tisztában lenni, hogy a zongora hangja egy billentyű egyre erősebb leütésével nem csak egyre hangosabb lesz, hanem (és ez a lényeg) meg is változik. Ezért nem elég csak mondjuk egy közepes erősségű leütéshez tartozó hangot rögzíteni és akkor aztán annak hangerejét változtatgatni a leütési erősségnek megfelelően és így kialakítani egy virtuális hangszert, mert az rettentően idegenül fog szólni. Minél több erősséghez tartozó hang van felvéve annál élethűbben fog szólni. De ennek több korlátja is van. Alapvetően egy ember nem nagyon tud 12-16-nál több különböző leütési erősséget produkálni az eredeti akusztikus hangszeren, így leghalkabbtól a leghangosabbig ez meghatározó tényező a felvételkor a felbontás tekintetében. Egy másik korlát, ami már jóval tágabb, az az h midi rendszere 128 különböző erősség kezelésére van tervezve. Ez már sokkal jobban hangzik, oly annyira h tulképp ez teljes egészében nincs is kihasználva! Általában a digitális zongorák olyan 80-90 erősségnek megfelelő midi jellel dolgoznak. Az ennél nagyobb felbontás már zavaróvá válik a zongorista számára, túl nagy lesz a különbség a leghalkabb és a leghangosabb hang között. A zongoristák is különböznek, van amelyik jobban püföli a billentyűket, van amelyik éppen csak hozzáér. Így a fennmaradó erősség rész arra van használva a digitális zongoráknál, h a játékstílushoz hozzá lehessen igazítani az értékeket. Ez a hozzáigazítás két különböző módon történhet. Az egyik, h ezt a 80-90-es tartományt tologatják a 128-as tartományon belül, a másik, h a 80-90-es tartományon belül egy konkáv v. konvex v. - még komplikáltabban - egy rajzolt görbe mentén torzítgatják az értékeket.

Ez utóbbihoz, a rajzolt görbéhez sokáig kerestem linux-os programot (windowson van nagyon frankó ingyenes) de csak egyet, egy kissé nehézkesen használhatót találtam.  Szerintem már ezt se nagyon fejlesztik (last update 2015), így pl új ubuntu verzióknál már sikítozik a régi Qt hiányától. Összeszedtem amiket hiányolt és innen le lehet tölteni.  Jack-kel lehet használni. 

Van még egy dolog ami foglalkoztatni kezdett az utóbbi napokban. Ez a binaural nevezetű dolog. Tehát aki fejhallgatót használ  zenéléshez, azt kell tapasztalnia, hogy a sztereo hang ami bejut fejébe az um. nagyon szeparált lesz. értsd: ~ jobb nagyon jobbról bal nagyon balról jön. A zongora már olyan nagy méretű hangszer, hogy  a zongorista szempontjából a magas hangok inkább jobbról, a mélyek balról jönnek.  De azért a valóságban korántsem szeparált annyira hangzás mint a fejhallgatóban hallani. Ezért van olyan audio plugin, ami ezt sztereo képet szűkíti.  Az SFZ formátum - amiben a saját virtuális zongimat összeraktam - tartalmaz is egy olyan opcode-ot ami ezt a funkciót valósítja meg, nemes egyszerűséggel width-nek hívják. (ami, amúgy valamiért nem akar működni nálam, és ezért külön plugint használok) Itt tulképp meg is állhatnánk, de a dolog bonyolultabb. Ugyanis a jobból jövő hang a jobb fülemet előbb éri el , mint a bal fülemet. És ez a jelenség azzal, hogy leszűkítem a sztereo képet nem lesz reprodukálva. Szóval nagyon hamar belebotlik az ember 3D hangzás és meg Ambisonic világába, és azon kapja magát, h szférikus hangzásról olvas, meg olyan képletekkel rémisztgetik, mint az egyiptomi hieroglifák.  :-( Igazából ez túl sok nekem. Csak egy olyan linuxos realtime (! már ha ez egyáltalán lehetséges) pluginre lenne szükségem ami a sztereo hangból binaurál hangot tudna csinálni. Ezt találtam Bauer stereophonic-to-binaural DSP. van belőle ladspa és lv2 plugin is, de azt írják, h nem realtime. Illetve még a ZamHeadX2 is valami ilyesmi lenne, de eléggé csalódás. Olyan plugin van ami fordítva, a binaurálból csinál ~sztereót. Most kipróbáltam érdekességből de a latency amit csinált nem vállalható:-\

Hozzászólások

Christian Henson (a Spitfire Audio egyik alapítója) készített műfejes binaural zongorahang csomagot és ingyen odaadja:

https://www.pianobook.co.uk/library/family-grand/

"You can't convince a believer of anything;
for their belief is not based on evidence,
it's based on a deep seated need to believe."
Carl Sagan

Azta! Nagyon szuper! Köszi szépen! Mindjárt ki is próbálom! 

#szerk: 

Átfutva az SFZ fájlt mindig tanul az ember valamit :)  Itt arról van szó, h az illető a felvett mintákat több különböző kvázi sztenderdbe rendszerezve adta közre (Kontakt, SFZ, DecentSampler) A linuxsampler ezek közül - tudtommal csak - az SFZ -t ismeri, mint formátumot. Megjegyzem azt is némileg korlátosan. A Kontakt és a DecentSampler  program formátumai linuxon nem támogatottak, bár az utóbbiról  nem is hallottam ezidáig. Elképzelhető, h ezeknek való megfelelés miatt (de persze más oka is lehet) h úgy csinálta, h az összes minta egyetlen egy nagy 813 MB-os wav fájlban van és úgy hivatkozik valamely kívánatos hangra, hogy megadja annak kezdő és végző pozícióját a fájlban. Ugye normál eset az egy fájl - egy minta felállás szokott lenni! De most ez így szöget ütött a fejemben, hogy tulképp a saját magam által összeállított zongi 32 GB-ja több ezer fájlból áll, és emiatt pont a diszkelérés sebessége lehet a szűk keresztmetszet, lehet h érdemes lenne valami logika mentén összevonni pár hangot egy-egy nagyobb fájlba, és ezzel csökkenteni fájlműveletek számát! 

Csak minden 3. billentyűről készített felvételt - külön lenyomott és felengedett pedállal. Minden felvett billentyűnél csupán 3 velocity layert használ 0-95;96-119;120-127. Továbbá meg van még un. Round Robinnal bolondítva, ami azt jelenti, hogy ugyan azon inputokhoz több (szinte egyforma, de kicsit mégis különböző) minta tartozik és valamilyen rend v. véletlen szerint dől el, h épp melyiket játssza le. De nem igazán értem, mert elvileg 3 opció van beállítva, de mindhárom ugyanarra a mintára mutat. De RR-t még sosem csináltam, nyilván nem értek valamit. 

Külön van két 813 MB-os wav fájl. Az egyik sztereo a másik binauralos felvétel. Ez utóbbi elég jó térélményt ad! Szerintem a jövőben terjedni fog ez a dolog, mert sokan használják fejhallgatóval a virtuális zongorákat. Ráadásul mivel egy ilyen binaurálos felvételhez szükséges motyó nem olcsó dolog, komoly versenyelőnyt fog jelenteni a professzionális gyártóknak a használata. Sztereó felvételt már szinte bárki tud készíteni, de 10.000 USD -os eszközre nem fog beruházni.

 Maga a hangszer amit felvett sok helyen eléggé el van hangolódva és kopottas hangja is van. Ez van súlyosbítva a házi körülmények közt történt felvétellel és a limitált felvett billentyűk ill. velocity layerek számával - így  a hangzás is kb ennek megfelelő. Nyilván ilyen körülmények között nem várható el, h ennél sokkal jobb hangzást produkáljon bárki! De így is szép munka, és hála h közreadta!

Széttépték testük; vér folyt a kőre; díszvacsorákon ettek belőle  //Kormorán