ftaudio
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## ftaudio

ftaudio — Ecrit une table pré-allouée dans un fichier audio.

## Description

Ecrit une table pré-allouée dans un fichier audio sous différents formats.

## Syntaxe

    ians ftaudio ifn, "filename", iformat

    kans ftaudio ktrig, kfn, "filename", \
                                                  kformat [, isync, kbeg, kend]

## Initialisation

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.

## Exécution

ktrig -- la version de taux-k n'est active dans un k-cycle que lorsque ktrig est non nul.

## Exemples

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

Exemple 379. 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>

## Voir aussi

ftloadk, ftload, ftsave

## Crédits

Auteur : John ffitch

Exemple écrit par John ffitch.

Nouveau dans la version 6.12

Limite à un intervalle ajoutée dans la 6.13

Précédent | Niveau supérieur | Suivant
freeverb | Sommaire | ftchnls