ftaudio — Ecrit une table pré-allouée dans un fichier audio.
ians ftaudio ifn, "filename", iformat
kans ftaudio ktrig, kfn, "filename", \
kformat [, isync, kbeg, kend]
ifn, kfn -- Numéro de la table à écrire.
"filename" -- Une chaîne de caractères entre guillemets contenant le nom du fichier à sauvegarder.
iformat, kformat -- Format du fichier à sauvegarder.
-1 - le même format que celui fixé par l'indicateur du format de sortie globale de Csound (-A, -W, --format=..., etc).
0 - échantillons 32 bit en virgule flottante sans en-tête (fichier binaire PCM multicanal).
1 - entiers 16 bit sans en-tête (fichier binaire PCM multicanal).
2 - entiers 16 bit avec en-tête. Le type de l'en-tête dépend du format de rendu (-o). Par exemple, si l'utilisateur choisit le format AIFF (en utilisant l'indicateur -A), le type du format de l'en-tête sera AIFF.
3 - échantillons u-law avec un en-tête (voir iformat=2).
4 - entiers 16 bit avec un en-tête (voir iformat=2).
5 - entiers 32 bit avec un en-tête (voir iformat=2).
6 - nombres en virgule flottante 32 bit avec un en-tête (voir iformat=2).
7 - entiers 8 bit non signés avec un en-tête (voir iformat=2).
8 - entiers 24 bit avec un en-tête (voir iformat=2).
9 - nombre en virgule flottante 64 bit avec un en-tête (voir iformat=2).
50 - format ogg-vorbis.
De plus Csound permet de choisir explicitement un type d'en-tête particulier en spécifiant le format par la formule 10 * fileType + sampleFormat, où fileType vaut 1 pour WAV, 2 pour AIFF, 3 pour raw (sans en-tête) et 4 pour IRCAM ; sampleFormat prend une des valeurs ci-dessus comprise entre 0 et 9, sauf que le format d'échantillon 0 est celui de la ligne de commande (-o), le format 1 est entiers 8 bit signés et le format 2 est a-law. Ainsi, par exemple, iformat=25 signifie entiers 32 bit avec un en-tête AIFF.
isync -- s'il vaut zéro la version de taux-k attend la fin de l'écriture. S'il est non nul (par défaut) l'écriture des données est déléguée à un fil d'exécution séparé ce qui permet à Csound de continuer l'exécution.
ibeg, iend, kbeg,kenf -- donnent le début et la fin de la section de la table où écrire. La valeur par défaut de zéro signifie du début à la fin de la table.
ians, kans -- retourne 0 en cas d'échec, 1 sinon. Dans le mode asynchrone c'est mis à jour à la fin de l'écriture, jusqu'à ce qu'il est la valeur -1.
Voici un exemple de l'opcode ftaudio. Il utilise le fichier ftaudio.csd.
Exemple 383. Exemple de l'opcode ftaudio.
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 ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o ftsave.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 giSine ftgen 0, 0, 2^10, 10, 1 instr 1 ktrig init 1 asig poscil3 .5, 880, giSine kans ftaudio ktrig, 100, "k_ftaudio.wav", 15, 1 ktrig = 0 outs asig, asig endin instr 2 ians ftaudio 100, "i_ftaudio.wav", 15, p4, p5 turnoff endin </CsInstruments> <CsScore> f100 0 0 -1 "beats.wav" 0 0 0 i 1 0 2 i 2 0 1 11025 33075; 0.5 seconds cut e </CsScore> </CsoundSynthesizer>