diskin

diskin — Lit des données audio d'un périphérique ou d'un flot externe et peut altérer leur hauteur.

Description

Lit des données audio d'un périphérique ou d'un flot externe et peut altérer leur hauteur.

Syntaxe

ar1 [, ar2 [, ar3 [, ... arN]]] diskin ifilcod[, kpitch[, iskiptim \
      [, iwraparound[, iformat[, iskipinit]]]]]

Noter que N valait 24 dans les versions antérieures à la 5.14 et qu'il vaut maintenant 40.

ar1[] diskin ifilcod[, kpitch[, iskiptim] \
      [, iwraparound[, iformat[, iskipinit]]]]]

(dans cette version, le nombre de canaux de sortie n'est pas limité.)

Initialisation

ifilcod -- entier ou chaîne de caractères donnant le nom du fichier son source. Un entier indique le fichier soundin.filcod ; une chaîne de caractères (entre guillemets, espaces autorisés) donne le nom de fichier lui-même, éventuellement un nom de chemin complet. Si ce n'est pas un nom de chemin complet, le fichier nommé est d'abord cherché dans le répertoire courant, puis dans celui qui est donné par la variable d'environnement SSDIR (si elle est définie) puis par SFDIR. Voir aussi GEN01.

iskptim (facultatif) -- portion du son en entrée à ignorer, exprimée en secondes. La valeur par défaut est 0.

iformat (facultatif) -- spécifie le format des données audio du fichier :

  • 1 = caractères signés sur 8 bit (les 8 bit de poids fort d'un entier sur 16 bit)

  • 2 = octets sur 8 bit A-law

  • 3 = octets sur 8 bit U-law

  • 4 = entiers courts sur 16 bit

  • 5 = entiers longs sur 32 bit

  • 6 = flottants sur 32 bit

  • 7 = entiers non signés sur 8 bit (non disponible dans les versions de Csound antérieures à la 5.00)

  • 8 = entiers sur 24 bit (non disponible dans les versions de Csound antérieures à la 5.00)

  • 9 = doubles sur 64 bit (non disponible dans les versions de Csound antérieures à la 5.00)

iwraparound -- 1 = activé, 0 = désactivé (parcours cyclique du fichier dans les deux directions, ce qui permet les boucles)

iskipinit -- supprime toute initialisation s'il est non nul (vaut 0 par défaut). Fut introduit dans la version 4_23f13 et dans csound5.

Si iformat = 0, il est déduit de l'en-tête du fichier, et s'il n'y a pas d'en-tête, de l'option de ligne de commande -o de Csound. La valeur par défaut est 0.

Exécution

a1 ... a24 -- signaux de sortie, dans l'intervalle -0dbfs, 0dbfs. Tous les échantillons avant le début (position négative) et après la fin du fichier sont supposés nuls, à moins que iwrap soit différent de zéro. Le nombre d'arguments en sortie doit être le même que le nombre de canaux dans le fichier, que l'on peut déterminer avec l'opcode filenchnls, sinon il y aura une erreur.

ar1[] --- signaux de sortie, dans un tableau de taux-a de taille N, où N est le nombre de canaux dans le fichier. Les tableaux sont automatiquement alloués avec la taille correcte.

kpitch -- N'importe quel nombre réel. Un nombre négatif signifie une restitution à l'envers. Ce nombre est un rapport de hauteur où :

  • 1 = hauteur normale (par défaut)

  • 2 = 1 octave plus haut

  • 3 = 12ème plus haut, etc.

  • .5 = 1 octave plus bas

  • .25 = 2 octaves plus bas, etc.

  • -1 = hauteur normale à l'envers

  • -2 = 1 octave plus haut à l'envers, etc.

[Attention] Note pour les utilisateurs de Windows

Les utilisateurs de Windows utilisent normalement des anti-slash, « \ », pour spécifier les chemins de leurs fichiers. Par exemple un utilisateur de Windows pourra utiliser le chemin « c:\music\samples\loop001.wav ». Ceci pause problème car les anti-slash servent habituellement à spécifier des caractères spéciaux.

Pour spécifier correctement ce chemin dans Csound on peut utiliser :

  • soit le slash : c:/music/samples/loop001.wav

  • soit le caractère spécial d'anti-slash, « \\ » : c:\\music\\samples\\loop001.wav

Exemples

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

Exemple 208. Exemple de l'opcode diskin.

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

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

instr 1

ktrans linseg 1, 5, 2, 10, -2
a1     diskin "beats.wav", ktrans, 0, 1, 0, 32
       outs a1, a1

endin

</CsInstruments>
<CsScore>

i 1 0 15
e

</CsScore>
</CsoundSynthesizer>


Voir aussi

in, inh, ino, inq, ins, soundin and diskin2

Crédits

Auteurs : Barry L. Vercoe, Matt Ingalls/Mike Berry
MIT, Mills College
1993-1997

Nouveau dans la version 3.46

kpitch devient facultatif dans la version 6.06

Avertissement pour les utilisateurs de Windows ajouté par Kevin Conder, avril 2002