fluidAllOut

fluidAllOut — Rassemble toutes les données audio depuis tous les moteurs Fluidsynth dans une exécution.

Syntaxe

aleft, aright fluidAllOut

Description

Rassemble toutes les données audio depuis tous les moteurs Fluidsynth dans une exécution.

Exécution

aleft -- Canal de sortie audio gauche.

aright -- Canal de sortie audio droite.

Appelez fluidAllOut dans une définition d'instrument dont le numéro est supérieur à ceux de toutes les définitions d'instrument de contrôle de fluid. Tous les SoundFonts envoient leur sortie audio à cet opcode. Envoyez une note de durée indéterminée à cet instrument afin d'activer les SoundFonts pour une durée suffisante.

Dans cette implémentation, les effets SoundFont tels que chorus ou réverbération sont utilisés si et seulement s'ils sont présents par défaut pour le preset. Il n'y a aucun moyen d'activer ou d'arrêter de tels effets, ou de changer leurs paramètres, depuis Csound.

Exemples

Voici un exemple de l'opcode fluidAllOut. Il utilise le fichier fluidAllOut.csd.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac  -+rtmidi=virtual -M0    ;;;realtime audio out and realtime midi in
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
;-o fluidAllOut.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

giengine1 fluidEngine
isfnum1	  fluidLoad "sf_GMbank.sf2", giengine1, 1
	  fluidProgramSelect giengine1, 1, isfnum1, 0, 0

giengine2 fluidEngine
; soundfont path to manual/examples
isfnum2	  fluidLoad "22Bassoon.sf2", giengine2, 1
	  fluidProgramSelect giengine2, 1, isfnum2, 0, 70

instr 1

     mididefault   60, p3
     midinoteonkey p4, p5
ikey init p4
ivel init p5
     fluidNote giengine1, 1, ikey, ivel

endin

instr 2

     mididefault   60, p3
     midinoteonkey p4, p5
ikey init p4
ivel init p5
     fluidNote giengine2, 1, ikey, ivel

endin

instr 100

imvol init 7 ;amplify a bit
asigl, asigr fluidAllOut
      outs asigl*imvol, asigr*imvol

endin
</CsInstruments>
<CsScore>

i 1 0 2 60 127 ;play one note on instr 1
i 2 2 2 60 127 ;play another note on instr 2 and...
i 100 0 60     ;play virtual midi keyboard
e
</CsScore>
</CsoundSynthesizer> 

Voir aussi

fluidEngine, fluidNote, fluidLoad

Plus d'information sur soundfonts dans les Floss Manuals : http://en.flossmanuals.net/csound/ch048_d-reading-midi-files

D'autres informations sur soundfonts dans Wikipedia : http://en.wikipedia.org/wiki/Soundfont

Crédits

Opcode par Michael Gogins (gogins@pipeline.com). Merci à Peter Hanappe pour Fluidsynth, et à Steven Yi pour avoir réalisé qu'il était nécessaire de diviser Fluidsynth en plusieurs opcodes Csound différents.