Zongi folyt.

Botladozásaim a linuxos virtuális zongorával. Előzmények:

https://hup.hu/node/172185
https://hup.hu/node/171915

Némi optimalizáláson vagyok túl. 

DE! Mindenek előtt az Ubuntu kapja be az összes faszomat! Az egyik legjobb dolog volt(!) a Debian féle netboot-os install. Be volt lőve OWRT routeren csak rá kellett tölteni a pár MB-os netboot.tar.gz-t meg kicsomagolni és a gépek PXE-n keresztül bootoltak is róla, és indulhatott a telepítés. Na ennek vége! Az utsó netboot cucc 20.04 ubuntuhoz van. Többet nem csinálnak, helyette valami rettentő komplikált megoldások vannak tálalva, ahol az egész miden sok GB-os ISO-t le kell tölteni, és akkor abból lesz valami RAM-diszk, meg kell hozzá ubuntu-servert is telepíteni. Oké, egy olyan környezetben ahol sok-sok gépet kell így telepíteni megéri erre a célra külön beállítani egy gépet, meg letöltögetni mindig a legújabb ISOkat. De itthon nem fogok ezzel kínlódni! Nem értem miért kellett az évek óta jól működő netbootos megoldást kinyírni!? 
Ha nem csinálják vissza, részemről az válóok lesz. Vagy visszadebiánozódom, vagy pendriveról éppen mást is lehet telepíteni, mint Ubuntut. 

Két fő probléma volt, amivel kezdeni kellett valamit.

Az egyik)

 h a zongora összesen 32 GB-os hangmintái a 3 SSD-s RAID0-ás tömbön is akadoztak [nagy] ritkán. Ez időnként igazán rémes volt, volt mert kb 1-2 másodperces vonyító hangot jelentett diszkelérési hibaüzenettel kombinálva.  Úgy volt megoldva, hogy volt külön a /-nak és a /home nak egy-egy partició a tömbön és a home alatt voltak a hangminták.  Most a home-ot betettem a /-os particióra, a hangmintákat  pedig noatime opcióval csatoltam fel /pianos alá - ettől remélve némi teljesítmény javulást. Továbbá újrafordítottam a linuxsamplert, mert a fordításkor lehet megadni neki, hogy a minták mekkora részét preloadolja a RAM-ba az induláskor. Értsd: minden hangminta fájl elejét betölti, h az rögtön rendelkezésre álljon, és el tudja kezdeni a lejátszását amikor szükséges, míg közben a hang többi részét beolvassa a diszkről.  Ez az érték alapból 327680 amit a duplájára állítottam. Így 24Bit-es sztereó minták (valami 5200 db) preloadjai  ~2GBnyi RAM-ot fognak majd lefoglalni az induláskor. Cserébe több ideje lesz a linuxsamplernek megkeresni és előrántani a hang folytatását a a diszkről. Ha már úgy is linuxsamplert kellett fordítani, igyekezetem kigyomlálni belőle mindent amire nincs szükségem. Arra nem sikerült rájönnöm,h az ladspa pluginokat melyik opcióval tudnám kivarázsolni belőle, mert talál vagy 157 db-ot, és ennek úgy meg szokott örülni néha, h 157-szer kiírja nekem, h talált plugint. :-Z 

A másik)

h próbálom csökkenteni a latency értékét. Aktuális állás -természetesen lowlatency kernellel- , h 48kHz-nél 128 buffer 2 period -nál (5,3ms ír késésnek) 256-os polifóniánál (linuxsampler) stabil a rendszer, sőt akár a böngésző is mehet mellette, nem fog recsegni. Tulképp az ember addig van megelégedve 5,3 ms-os értékkel, amíg le nem megy 2 ms-re v. az alá, mert ott megváltozik minden. Annyira direkt lesz a billentés és a játékérzet, hogy utána fájdalmas visszatérni az 5,3ms-hez. A 64-es buffert 2 peioddal a jelzett mintavételen még bírná a rendszer, ha nem indulnának el váratlanul különböző dolgok a háttérben, amik az OP.rendszer fejéből pattannak ki és akkor az belerecsegtet a hangba.   
Találtam egy leírást, hogy miket érdemes linuxon beállítgatni a késés csökkentése érdekében. Illetve van egy szkript is ami leellenőrizi a dolgokat. Nyilván az nem túl jó, h ha CPU magok powersave govenor módban vannak! :-O 

Egyéb lehetőségként felmerült alternatív SFZ lejátszó keresése is. A Carlaban van SFZ támogatás, de meglehetősen limitált. Tulképp maga az SFZ formátum elég vegyesen van támogatva, különböző cégek fejlesztik és persze így van ami ebben vagy abban az implementációban működik csak. Ilyen formán a linuxsamplerben sem megy sok dolog (a linuxsampler igazából a gig formátumot támogatja a leginkább). De a Carla még ehhez képest is korlátozott, már pontosan nem is tudom mi minden volt a baj vele, régebben próbáltam, de látszott, h egyenlőre nem érdemes vele kínlódni. Felbukkant egy újabb implementáció is Sfizz néven.  Ezt most kipróbáltam és azt tapasztaltam, hogy a kisebb kb 2,5 GB összméretű virtuális zongorával elbírt, de 32 GB-osnál már egyből kiakadt és folyamatosan recsegett. 

Felmerült még a Pulse Audio kiváltása. Néha 10% ra felszalad a PA CPU használata - miközben látszólag semmi nem használja. Tudtátok, h a Firefoxnak van natív Jack támogatása? A fordításnál lehet beállítani. Kipróbáltam 84-es FF-en. Több mint két órán keresztül fordult le. :-O. Jelentem működik a dolog! Ha YT videót játszok le a FF-ban, akkor megjelenik Jack kliensként. A hangja is szép. A probléma csak az, h a kihegyezett lowlatency beállításokat messze el lehet felejteni ilyenkor és igen nagy buffert kell neki hagyni, h ne kezdjen el recsegni és XRUN-okat dobálni. Szal ez így nem jött be! Még felmerül a PipeWire kipróbálása is!  

Hozzászólások

Többet nem csinálnak, helyette valami rettentő komplikált megoldások vannak

tálalva

Meg jo, hogy az ubuntu phone-bol nem lett semmi....

Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Szerkesztve: 2021. 01. 16., szo - 15:49

Modartt pianoteq is van linuxra, próbáltad már? Nem sample alapú, hanem fizikai modellezős matekozós, de nagyon profi és van binaural mikrofon szimulációja is.

"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

Persze próbáltam :) Tulképp abból indult a szál [lásd:előzmények] h technikailag kinyerhetők belőle a hangok és abból sample alapú cuccot lehet összerakni. Ezzel persze súlyosan megsértve a felhasználási feltételeket. :-Z És a binaurál dolgot is onnan szedtem igazából. 

Tulképp ez minden windows-os virtuális zongora programra [is] igaz. Kinyerhetők belőlük a hangok és azokból olyan új virtuális zongit lehet összerakni, ami linuxon is fut natívan. Ami nyilvánvalóan nem legális, de még mindg jobb, mint warezba nyomni crackkelt vírusos verziókat windowson.  

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