diskin — Lit des données audio d'un périphérique ou d'un flot externe et peut altérer leur hauteur.
Lit des données audio d'un périphérique ou d'un flot externe et peut altérer leur hauteur.
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é.)
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) -- ignoré s'il est positif, mais s'il est négatif il spécifie le format des données audio d'un fichier brut :
-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.
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.
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 :
|
Voici un exemple de l'opcode diskin. Il utilise les fichiers diskin.csd et beats.wav.
Exemple 237. 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>