FHT Core Projekt
MISIJA:
-
Konstruirati fazni vokoder slobodnog izvornog koda
-
Služiti se Hartleyjevom Transformacijom i OpenGL interaktivnom vizualizacijom
-
Držati se podalje od komercijalnih softverskih librarija i "radnih stolova"
-
Podržano na sistemima: IRIX
(prototip) i Linux (port)
CILJEVI:
-
Napisati program prikladan kako za istraživački rad i obrazovanje, tako i za glazbenu namjenu
-
Većina današnjih faznih vokodera ili nisu slobodni ili zvuče
nečisto, ili imaju traljavu vizualizaciju
-
Dobar dio funkcionalnosti faznog vokodera se na izvjestan nažin mistificira
-
Nema baš mnogo školskih primjera izvornog koda za pisanje faznih
vokodera, a ono čega ima se prekomjerno kopira i oponaša
-
Hartleyjeva Transformacija čini se čistom i brzom
-
Hartleyjeva transformacija nema inverznu operaciju (sama
je sebi simetrižna)
-
Fourierova Transformacija lako se simulira pomoću
Hartleyjeve Transformacije
-
Postoji veći broj kvalitetnih HT algoritama
-
OpenGL čini se prikladnim vizualizacijskim alatom za ovu
namjenu (vizualizacija spektralnih podataka)
-
OpenGL dobro se veže uz X, koji je standard za grafičke prozore na
svim UNIX sistemima
-
Sve ono, što se žini neizvedivim ili neugodno kompliciranim kod grafičkih
alata za obradu bit-mapa, je u OpenGL priližno jednostavno
-
OpenGL omogužava trenutno vizualno interpretiranje mnogo megabajta spektralnih
podataka što bi u tekstovnom formatu trajalo tjednima, omogužujuži tako da se i
sami algoritmi vizualizacije usavržavaju kroz razvijanje programa
-
Kompleksna interakcija izmežu korisnika i informacije dade se u OpenGL
izvesti fleksibilno, precizno i lagano
-
Iz gore navadenih razloga upotreba OpenGL skražuje vrijeme potrebno da se neki
program razvije do te mjere, da postaje moguže učiniti besplatnim nešto, čega bi razvitak
drugačije bio vremenski neisplativo skup.
-
Današnje računalne radne stanice koje podržavaju OpenGL su već po cijeni,
dostupne gotovo svakom glazbeniku ili glazbenoj školi, tako da i razvijati
ovakav program ima smisla.
-
Napisati program tako da ga je moguće prenijeti na neki slobodan (otvoren)
UNIX operacijski sistem takožer je etički korektno i obrazovno poticajno.
-
Prekomjerno pak oslanjanje na preveliki broj softverskih slobodnih librarija (samo
zato što su slobodne) može lako postati kontraproduktivno. Povjerenje u tzv. "Filozofiju radnog stola"
neminovno će zavržiti u tomu da program natjera korisnika da instalira još gomilu librarija koje s
programom nemaju veze, a pripadaju radnom stolu, kao npr. grafička sčelja za jezike za skriptiranje,
obradu osobnih podataka, chat na internetu, trodimenzionalna korejska slova za štampač, samo da bi se
pokrenuo i odsvirao neki zvuk. Ovakva praksa pisanja programa ne samo da je loša,
nego i radi lošu reklamu i stavlja na zao glas slobodni software.
STRUKTURA PROGRAMA:
Program je tako sačinjen da ga se može poktenuti i iz ljuske i dvostrukim pritiskom miša na ikonu odgovarajućeg skripta.
Moguže ga je bilo pokrenuti i bez grafičkog suželja.
Grafičko sučelje, temelji se na OSF/Motif i dade se automatski pokrenuti
unutar programa, po dovršenom procesu analize, tako što program proslijedi
nekoliko generiranih widgetargc-**widgetargv argumenata, kako bi se hijerarhijska
struktura grafičkih prozora uspostavila točnim redom. Ova pak struktura ima u središtu
dvo-vizualni OpenGL interaktivni zaslon. Petlja posebno napisanih event
handler funkcija djelomižno premošćuje glavnu petlju radi čiste i trenutne interakcije
s radnjama korisnika. Parametri koji upravljaju prikazom i
i vizualizacijom unose se preko menija (izbornika) i dijalog-kutija.
Parametre za resintezu i eksport takožer se unosi u odgovarajuže
dijalog-kutije.
FUNKCIONALNOST:
-
Decimalna 32 ili 64-bitna analiza/resinteza
-
Dvo-vizualni prikaz sonograma and parametara
-
Vizual razine 0: 24-bitni RGB linearno/logaritamski
prikaz sonograma s naizgled neograničenim uvećanjem i razlgedom
-
Vizual razine 1 (overlay): 8-bitna indeksno-bojana linearno/logaritamska
projekcija parametara analysize i obrade, kao što su lebdeće koordinate,
segmentirane kontrolne funkcije, kanali analize i aktivna podružja.
-
triangulacija u vrijeme izvoženja s eliminacijom "ilegalnih
trokuta"
-
Proizvoljna veličina "prozora" za analizu i resintezu.
-
Mogućnost nadogradnje algoritmima upravljanim iz grafičkog suželja
(filtriranje pomožu kontrolne segmentirane parametarske krivulje, sinteza križanjem, etc...)
-
Vremenski promjenjivo rastezanje u vremenu
-
Eksport FFT datoteke u formi teksta
-
Eksport IRCAM parcijala
-
Eksport u Open Inventor formatu za vizualizaciju
PREGLED GRAFIČKOG SUČELJA
1. Pokretanje programa:
2. Glavni prozor:
3. Dvije dijalog-kutije:
4. Testni signal frekvencijske kosine, koji će program analizirati i eksportirati u IRCAM
Partial formatu:
5. Eksportirani IRCAM Parcijali iz programa FHTCore učitani i prikazani u programu
SculptView (logaritamsko-perspektivni prikaz):