GEN49

GEN49 — Transfère les données d'un fichier son MP3 dans une table de fonction.

Description

Ce sous-programme transfère les données d'un fichier son MP3 dans une table de fonction.

Syntaxe

f#  time  size  49  filcod  skiptime  format

Exécution

size -- nombre de points dans la table. Ordinairement une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f) ; la taille de table maximale est de 16777216 (224) points. L'allocation de mémoire pour la table peut être différée en mettant ce paramètre à 0 ; la taille allouée est alors le nombre de points dans le fichier (probablement pas une puissance de 2), et la table n'est pas utilisable par les oscillateurs normaux, mais par l'unité loscil. Le fichier son peut être mono ou stéréo.

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

skiptime -- commence à lire à skiptime secondes dans le fichier.

format -- spécife le format de fichier audio requis :


1 - Fichier mono                 3 - Premier canal (gauche)
2 - Fichier stéréo               4 - Second canal (droite)
        

Si format = 0 le format d'échantillon est pris dans l'en-tête du fichier son.

[Note] Note

  • La lecture s'arrête à la fin du fichier ou lorsque la table est pleine. Les cellules de la table non remplies contiendront des zéros.

  • Si p4 est positif, la table sera post-normalisée (reproportionnée avec une valeur absolue maximale de 1 après génération). Une valeur de p4 négative empêche cette opération.

Exemples

Voici un exemple de la routine GEN49. Il utilise le fichier gen49.csd.

Exemple 1162. Un exemple de la routine GEN49.

<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 gen49.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

kcps = sr/ftlen(1)
asig oscil .8, kcps, 1
   outs asig, asig
   
endin
</CsInstruments>
<CsScore>
f 1 0 131072 49 "beats.mp3" 0 1	;read an audio file (using GEN49).

i 1 0 2
e
</CsScore>
</CsoundSynthesizer>


Voici le diagramme de la forme d'onde de la routine GEN49 utilisée dans l'exemple :

f 1 0 131072 49 "beats.mp3" 0 1

f 1 0 131072 49 "beats.mp3" 0 1

Crédits

Ecrit par John ffitch

Février 2009.