foutk

foutk — Envoie des signaux de taux-k vers un nombre arbitraire de canaux dans un fichier externe, en format brut (sans en-tête).

Description

foutk envoie N signaux de taux-k vers un fichier spécifié à N canaux.

Syntaxe

foutk ifilename, iformat, kout1 [, kout2, kout3,....,koutN]

Initialisation

ifilename -- le nom du fichier de sortie (entre guillements)

iformat -- un indicateur pour choisir le format du fichier de sortie (note : il se peut que les versions de Csound antérieures à la 5.0 ne supportent que les formats 0 et 1) :

  • 0 - échantillons en flottants sur 32 bit sans en-tête (fichier PCM binaire multicanaux)

  • 1 - entiers sur 16 bit sans en-tête (fichier PCM binaire multicanaux)

  • 2 - entiers sur 16 bit sans en-tête (fichier PCM binaire multicanaux)

  • 3 - échantillons u-law sans en-tête

  • 4 - entiers sur 16 bit sans en-tête

  • 5 - entiers sur 32 bit sans en-tête

  • 6 - flottants sur 32 bit sans en-tête

  • 7 - entiers non signés sur 8 bit sans en-tête

  • 8 - entiers sur 24 bit sans en-tête

  • 9 - flottants sur 64 bit sans en-tête

Exécution

kout1,...koutN -- signaux au taux de contrôle à écrire dans le fichier. L'étendue de l'amplitude des signaux est déterminée par le format d'échantillon choisi.

foutk opère de la même maniière que fout, mais avec des signaux de taux-k. iformat peut prendre une valeur entre 0 et 9, ou 0 et 1 avec une ancienne version de Csound.

Noter que fout et foutk peuvent utiliser soit une chaîne de caractères contenant un nom de chemin de fichier, soit un identificateur numérique généré par fiopen. Alors qu'avec fouti et foutir, le fichier cible ne peut être spécifié que par un identificateur numérique.

Exemples

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

Exemple 370. Exemple de l'opcode foutk.

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     ;;;realtime audio out
-iadc    ;;;uncomment -iadc if real audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o foutk.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; by Stefano Cucchi - 2020

; Sing in your microphone for 10''
; Estimated pitch & amplitude are written on 2 files "amp" 6 "pitch"
; After 10'' a sawtooth is played with these values


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


instr 1	;use pitch

iupdte = 0.001
ilo = 6
ihi = 10
idbthresh = 10
ifrqs = 24
iconf = 10
istrt = 8

asig1, asig2 inch 1, 2
koct, kamp pitch asig1, iupdte, ilo, ihi, idbthresh, ifrqs, iconf, istrt ; pitch & amplitude tracking

kcps = cpsoct(koct)
kamp = kamp*0.00002
foutk "amp", 6, kamp ; write amplitude values on a file - 32-bit floats without header
foutk "pitch", 6, kcps ;  write pitch values on a file - 32-bit floats without header

endin

instr 2

kamp readk "amp", 6, p4 ; read amplitude values fro the file
kcps readk "pitch", 6, p4 ; read pitchvalues fro the file

kcps portk kcps, 0.008
asig oscili kamp, kcps*p5, 1 ; use amplitude & pitch to play a sawtooth
kdeclick linseg 0, 0.2, 1, p3 -0.4, 1, 0.2, 0

outs asig*kdeclick, asig*kdeclick

endin

</CsInstruments>
<CsScore>

f1 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ;sawtooth

i 1 0 10 
i 2 10 10 0.001 1 ;
e
</CsScore>
</CsoundSynthesizer>


Pour éviter le bruit de zip produit par des discontinuités dans la poursuite d'enveloppe complexe, on peut utiliser un filtre passe-bas pour lisser l'enveloppe estimée.

Voir aussi

fiopen, fout, fouti, foutir

Crédits

Auteur : Gabriel Maldonado
Italie
1999

Nouveau dans la version 3.56 de Csound