nsamp
Prev | Opcodes et opérateurs de l'orchestre | Next

## nsamp

nsamp — Retourne le nombre d'échantillons chargés dans une table de fonction.

## Description

Retourne le nombre d'échantillons chargés dans une table de fonction.

## Syntaxe

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

## Exécution

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.

## Exemples

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

Example 549. 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
    -odac     ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o nsamp.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>
    ; slightly adapted example from Jonathan Murphy Dec 2006

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

    instr 1

    ifn   =  p4	; table number
    ilen  =  nsamp(ifn)
    prints "actual numbers of samples = %d\n", ilen
    itrns =  1	; no transposition
    ilps  =  0	; loop starts at index 0
    ilpe  =  ilen	; ends at value returned by nsamp above
    imode =  1	; loops forward
    istrt =  0	; commence playback at index 0 samples
    ; lphasor provides index into f1
    alphs lphasor itrns, ilps, ilpe, imode, istrt
    atab  tablei  alphs, ifn
          outs atab, atab

    endin
    </CsInstruments>
    <CsScore>
    f 1 0 262144 1 "kickroll.wav" 0 4 1	;stereo file in table, with lots of zeroes
    f 2 0 262144 1 "fox.wav" 0 4 1		;mono file in table, with lots of zeroes

    i1 0 10 1
    i1 + 10 2
    e

    </CsScore>
    </CsoundSynthesizer>

Comme le fichier audio stéréo “kickroll.wav” a 37792 échantillons, et que le fichier mono “fox.wav” a 121569 échantillons, sa sortie comprendra des lignes comme celles-ci :

    actual numbers of samples = 37792
    actual numbers of samples = 121569

## Voir aussi

ftchnls, ftlen, ftlptim, ftsr

## Crédits

Auteur : Gabriel Maldonado
Italie
Octobre 1998

Exemple écrit par Kevin Conder.

Prev | Up | Next
nrpn | Home | nstance