fluidLoad

fluidLoad — Charge un SoundFont dans un fluidEngine, en listant éventuellement le contenu du SoundFont.

Syntaxe

isfnum fluidLoad soundfont, ienginenum[, ilistpresets]

Description

Charge un SoundFont dans une instance d'un fluidEngine, en listant éventuellement les banques et les presets du SoundFont.

Initialisation

isfnum -- numéro affecté au soundfont qui vient d'être chargé.

soundfont -- chaîne spécifiant le nom de fichier d'un SoundFont. Notez que n'importe quel nombre de SoundFonts peuvent être chargés (évidemment, par différents appels de fluidLoad).

ienginenum -- numéro du moteur affecté par fluidEngine

ilistpresets -- facultatif, s'il est spécifié, tous les programmes Fluidsynth du SoundFont qui vient d'être chargé sont listés. Un programme FluidSynth est une combinaison d'ID de SoundFont, de numéro de banque, et de numéro de preset qui est affecté à un canal MIDI.

Exécution

Appelez fluidLoad dans l'en-tête de l'orchestre, autant de fois que vous voulez. Le même SoundFont peut être appelé pour affecter des programmes à des canaux MIDI autant de fois que l'on veut ; le SoundFont n'est chargé que la première fois.

Exemples

Voici un exemple de l'opcode fluidLoad. Il utilise les fichiers fluidLoad.csd et 07AcousticGuitar.sf2.

Exemple 279. Exemple de l'opcode fluidLoad.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<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 fluidLoad.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

giengine fluidEngine
; soundfont path to manual/examples
isfnum	 fluidLoad "07AcousticGuitar.sf2", giengine, 1
	 fluidProgramSelect giengine, 1, isfnum, 0, 0

instr 1

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

endin

instr 99

imvol  init 7
asigl, asigr fluidOut giengine
       outs asigl*imvol, asigr*imvol

endin
</CsInstruments>
<CsScore>

i 1 0 2 60 100 ;play one note from score and...
i 99 0 60      ;play virtual keyboard for 60 sec.
e

</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra une ligne comme celle-ci :

SoundFont:   1  Bank:   0  Preset:   0  Seagul Acoustic Git

Voir aussi

fluidEngine, fluidNote

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

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

Crédits

Michael Gogins (gogins@pipeline.com), Steven Yi. Merci à Peter Hanappe pour Fluidsynth.

Nouveau dans Csound5.00