Software


Softwarová technologie umožňuje modulární implementaci a správu algoritmů číslicového zpracování signálů pro zpracování zvukových signálů v reálném čase s dálkovým řízením pomocí sítí TCP/IP. Moduly pro zpracování zvukových signálů jsou za běhu programu bez přerušení zpracování signálu řazeny do vícekanálové virtuální cesty zpracování signálu s dynamickým vytvářením sběrnic. Algoritmy číslicového zpracování zvukových signálů v takto vytvořeném grafu signálových toků jsou systémem prováděny paralelně. Toto provádění je optimalizováno použitím teorie grafů.

graf

Grafické rozhraní systému je od samotného zpracování zvukových signálů zcela odděleno pomocí abstrakce výkonné a řídicí vrstvy. Jádrem této abstrakce je databáze vnějších parametrů algoritmu, které může uživatel přímo ovlivňovat. Tyto vnější parametry jsou jednak syntaktickým analyzátorem ukládány pomocí navržené struktury Incremental XML do jazyka XML a jednak škálovány do jednotného rozsahu. Každý parametr je jednoznačně adresovatelný a definovatelný pomocí vyvinutých XML deskriptorů. Pro samotný obousměrný přenos řídicích dat a parametrů je použito protokolů TCP/IP.


abstrakce

Systém je schopný díky vytvořené abstrakci replikovat uživatelské rozhraní na vzdáleném počítači. Základem pro automatické generování grafického uživatelského rozhraní subsystémem na vzdáleném počítači je XML deskriptor definující vlastnosti parametru. Tento deskriptor je kompatibilní se strukturou třídy PresetFile používanou pro popis parametrů v technologii VST3 i strukturou AudioUnitParameterInfo v technologii AU. Systému pro generování grafického rozhraní je při jeho inicializaci poskytnuta množina XML deskriptorů umožňujících ovládat požadovanou část výkonné vrstvy systému. Generování probíhá v cyklu pro všechny poskytnuté deskriptory. V prvním kroku proběhne vytvoření ovládacího prvku požadovaného typu. Následuje nastavení výchozí hodnoty ovladače, nastavení jeho rozsahu), aktuální hodnoty, velikosti nejmenší změny jeho hodnoty, typu konverzní funkce a nakonec povolení nebo zakázání možnosti jeho manuálního nastavení. V dalším kroku dojde k jeho umístění v rámci grafického rozhraní do příslušné podmnožiny logicky spolu souvisejících ovladačů, tedy např. ovladačů pro nastavování kmitočtu, zobrazování úrovní apod. V posledním kroku pak dojde k vytvoření textových polí zobrazujících fyzikální veličinu ovládanou parametrem a její aktuální a mezní hodnoty.

GUI3

Jako základ knihovny grafických prvků byla zvolena knihovna Qt. Pro grafické uživatelské rozhraní byla vytvořena řada specializovaných ovladačů potřebných pro řízení a monitoring algoritmů číslicového zpracování zvukových signálů, zejména tzv. indikátory úrovně, 2D ovládací prvky a 2D grafy, vizualizaci spektrálních vlastností zvuku a jeho amplitudové obálky a další.