nsamp — Retourne le nombre d'échantillons chargés dans une table de fonction.
Retourne le nombre d'échantillons chargés dans la table de fonction numéro x par GEN01. Utile lorsqu'un échantillon est plus court que la puissance de deux, taille de la table de fonction qui le contient. Nouveau dans la version 3.49 de Csound.
A partir de la version 5.02 de Csound, nsamp travaille avec les tables de fonction à longueur différée (voir GEN01).
nsamp diffère de ftlen en ce sens que nsamp donne le nombre de trames d'échantillon chargées, tandis que ftlen donne le nombre total d'échantillons. 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 nsamp. Il utilise les fichiers nsamp.csd et mary.wav.
Exemple 393. Exemple de l'opcode nsamp.
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 nsamp.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; Print out the size (in samples) of Table #1. isz = nsamp(1) print isz endin </CsInstruments> <CsScore> ; Table #1: Use an audio file. f 1 0 262144 1 "mary.wav" 0 0 0 ; Play Instrument #1 for 1 second. i 1 0 1 e </CsScore> </CsoundSynthesizer>
Comme le fichier son « mary.wav » a 154390 échantillons, la
sortie comprendra une ligne comme celle-ci :
instr 1: isz = 154390.000