ftlen

ftlen — Retourne la taille d'une table de fonction en mémoire.

Description

Retourne la taille d'une table de fonction en mémoire.

Syntaxe

ftlen(x) (arg de taux-i seulement)

Exécution

Retourne la taille (nombre de points, en excluant le point de garde) de la table de fonction numéro x. Bien que la plupart des unités faisant référence à une table en mémoire prennent automatiquement en compte sa taille (ce qui permet d'avoir des tables de longueur arbitraire), cette fonction retourne la taille actuelle en cas de besoin. Noter que ftlen retourne toujours une puissance de deux, ce qui veut dire que le point de garde de la table de fonction (voir Instruction f) n'est pas compris. A partir de Csound 3.53, ftlen travaille avec les tables de fonction différées (voir GEN01).

ftlen diffère de nsamp en ce sens que nsamp donne le nombre de trames d'échantillon chargées, tandis que ftlen donne le nombre total d'échantillons sans le point de garde. Par exemple, avec un fichier son stéréo de 10000 échantillons, ftlen() retournera 19999 (c'est-à-dire un total de 20000 échantillons mono, en excluant le point de garde), mais nsamp() retournera 10000.

Exemples

Voici un exemple de l'opcode ftlen. Il utilise les fichiers ftlen.csd, fox.wav et beats.wav.

Exemple 393. Exemple de l'opcode ftlen.

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

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

instr 1

ift  = ftlen(p4)
     print ift
aout loscil3 .8, 4, p4
     outs aout, aout

endin 
</CsInstruments> 
<CsScore> 
f 1 0 0 1 "fox.wav" 0 0 0 ;Csound computes tablesize
f 2 0 0 1 "beats.wav" 0 0 0 ;Csound computes tablesize

i 1 0 3 1 ;"fox.wav"
i 1 3 3 2 ;"beats.wav"

e
</CsScore>
</CsoundSynthesizer>


Le fichier audio « fox.wav » contient 121569 échantillons, « beats.wav » contient 88200 échantillons. L'opcode ftlen retourne des tailles de 121568 et 88199 échantillons car il réserve un point pour le point de garde. Sa sortie comprendra des lignes comme celles-ci :

instr 1:  ift = 121568.000
instr 1:  ift = 88199.000

Voir aussi

ftchnls, ftlptim, ftsr, nsamp ftexists

Crédits

Auteur : Barry L. Vercoe
MIT
Cambridge, Massachussetts
1997