Featuring: Jack (low latency audio server for linux, am scris ceva despre el aici), Mixxx (open source dj software, Gramo il foloseste cu o consola Hercules Dj Control Mp3) si Fluxus (3d graphics livecoding environment for linux/osX).
Iar povestea e asta. Va amintiti cu siguranta (lol) de vremea in care cautam un soft de vizualizare pentru linux care sa deseneze ceva pe monitor in functie de sunetele scoase de un keyboard midi. Ideea principala a fost asta – keyboard-ul midi tre’ sa foloseasca un sintetizator software care stie sa se conecteze cu jack, iar softul de vizualizare tre’ sa stie sa primeasca input tot din jack.
Jaaa stia sa faca asa ceva, dar nu era un program prea spectaculos dpdv vizual. Asa am dat peste Fluxus (aici). Fluxus n-are pachet de instalare pentru OpenSuse 10.2, asa ca instalarea a fost foaaaaaaarte distractiva – instalat o gramada de dependinte, modificat configurarile pentru scons, compilat, refacut manual structura directoarelor etc.
Dar intr-un final a mers. Dupa aia a venit partea a doua. Fluxus foloseste un limbaj de scripting care e o extensie de Scheme. Noroc ca e usor de invatat. Mai ales daca stii un pic de Lisp.
De pilda, chestia pe care o vedeti pe ecran e realizata folosind un script supersimplu (inputul e de data asta luat de la mixxx, care foloseste alsa ca server audio; dar jack stie sa citeasca ce se trimite catre alsa):
(clear) (gain 1) (start-audio "alsa_pcm:capture_1" 512 44100) (define (render n) (cond ((zero? n) 0) (else (rotate (vmul (vector (gh 1) (gh (+ n 5)) (gh 9)) 20)) (translate (vector 2.3 0 0)) (colour (vector (gh 16) (gh 5) (gh 9))) (draw-torus) (render (- n 1))))) (blur 0.1) (every-frame (render 200))
Neat, eh? 🙂
LE: Uitasem, in print screen-ul de sus de fapt mixam ceva de pe hard cu stream-ul de la Groove Salad (de aia apare si vlc-ul).
LE2: Acum monitorul arata cam asa (click pe imagine pentru o varianta mai mare):
Ideea de a genera desene pe display cand tastezi e interesanta. Discrierea procesului ma depaseste insa 🙂
@Vic: midi keyboard = claviatura midi (nu tastatura); uite aici
eu foloseam jack, jack-rack si qjackctl ca sa procesez sunetul la chitara. misto sa vad ca mai sunt si oameni care folosesc altceva. 🙂