ftlen — Retourne la taille d'une table de fonction en mémoire.
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.
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