mardi 13 janvier 2009

Realtime

Csound intègre dans sa version 5, un langage pour réaliser simplement une interface graphique permettant d'intervenir sur le son en temps réel. En effet, pour explorer toutes les possibilités des opcodes, il est très intéressant de pouvoir créer rapidement un curseur ou deux, qui vont interagir sur les variables qui nous intéressent.

Un exemple d'interface :



Le contenu du fichier testFLTK.csd :

‹csoundsynthesizer›
‹csoptions›
-odevaudio -b400
‹/csoptions›

‹csinstruments›

sr = 44100 ;SAMPLE RATE
kr = 4410 ;CONTROL RATE
ksmps = 10 ;NUMBER OF AUDIO SAMPLES IN EACH CONTROL CYCLE
nchnls = 1 ;NUMBER OF CHANNELS (2=STEREO)

; fenetre | larg | haut | x | y
FLpanel "testFLTK.csd", 490, 100, 10, 300

;VALUE_DISPLAY_BOXES WIDTH | HEIGHT | X | Y
idamp FLvalue " ", 70, 18, 5, 5
idfreq FLvalue " ", 70, 18, 5, 45

;SLIDERS | HANDLE MIN | MAX | EXP | TYPE | DISP | WIDTH|HEIGHT| X | Y
gkPartAmpl, ihPartAmpl FLslider "Ampl", 0, 5000, 0, 3, idamp, 400, 25, 80, 5
gkPartFreq, ihPartFreq FLslider "Freq", 50, 2000, 0, 3, idfreq, 400, 25, 80, 45

;SET_INITIAL_VALUES | VALUE | HANDLE
FLsetVal_i 1000, ihPartAmpl
FLsetVal_i 440, ihPartFreq

FLpanel_end ;END OF PANEL CONTENTS
FLrun ;RUN THE FLTK WIDGET THREAD

instr 1

;OUTPUT OPCODE AMPLITUDE | FREQUENCY | FUNCTION_TABLE
a1 oscil gkPartAmpl, gkPartFreq, 1

out a1
endin

‹/csinstruments›

‹csscore›
f 1 0 4096 10 1 ;A SINE WAVE
;INSTR | START | DURATION
i1 0 3600 ;DUMMY SCORE EVENT - ALLOWS REALTIME PERFORMANCE FOR UP TO 1 HOUR
‹/csscore›

‹/csoundsynthesizer›


La commande pour lancer le programme :

csound testFLTK.csd


Quelques liens :

Csound Realtime FLTK Examples
FLTK Widgets and GUI controllers

Les balises ‹csoptions› contiennent les options du lancement de Csound. Ce sont elles qui dirigent le son de sortie vers la carte audio, en temps réel.

Command-line Flags (by Category)


Aucun commentaire:

Enregistrer un commentaire