loscil3

loscil3 — Lit un son échantillonné depuis une table avec interpolation cubique.

Description

Lit un son échantillonné (mono ou stéréo) depuis une table, avec des boucles facultatives d'entretien et de relâchement, et interpolation cubique.

Syntax

ar1 [,ar2] loscil3 xamp, kcps, ifn [, ibas] [, imod1] [, ibeg1] [, iend1] \
      [, imod2] [, ibeg2] [, iend2]

Initialisation

ifn -- numéro de table de fonction, contenant typiquement un son échantillonné avec des points de boucle précisés, remplie au moyen de GEN01. Le fichier source peut être mono ou stéréo.

ibas (facultatif) -- fréquence de base en Hz du son enregistré. Elle remplace éventuellement la fréquence donnée dans le fichier audio, mais devient nécessaire si le fichier n'en contient pas. La valeur par défaut est 261,626 Hz, c-à-d le do médian. (Nouveau dans Csound 4.03). Si la valeur est inconnue ou absente il faut utiliser 1 ici et dans kcps.

imod1, imod2 (facultatif, -1 par défaut) -- modes d'interprétation des boucles d'entretien et de relâchement. Une valeur de 1 signifie une boucle normale, 2 signifie une boucle à l'endroit et à l'envers, 0 signifie pas de boucle. La valeur par défaut (-1) s'en remet au mode et aux points de boucle définis dans le fichier source. Il faut s'assurer de choisir un mode approprié si le fichier ne contient pas cette information.

ibeg1, iend1, ibeg2, iend2 (facultatifs, dépendants de mod1, mod2) -- début et fin des boucles d'entretien et de relâchement. Ils sont mesurés en trames d'échantillon depuis le début du fichier, et auront ainsi la même valeur que le son soit mono ou stéréo. Si aucun point de boucle n'est spécifié et qu'un mode de boucle est donné (imod1, imod2, le fichier sera lu en boucle sur toute sa longueur.

Exécution

ar1, ar2 -- la sortie de taux audio. Il n'y a que ar1 pour une sortie mono, alors qu'il y a ar1 et ar2 pour une sortie stéréo.

xamp -- l'amplitude du signal de sortie.

kcps -- la fréquence du signal de sortie en Hz.

loscil3 est identique à loscil sauf qu'il utilise l'interpolation cubique. Nouveau dans la version 3.50 de Csound.

[Attention] Note pour les utilisateurs de Windows

Les utilisateurs de Windows utilisent normalement l'antislash, « \ », lorsqu'ils écrivent les chemins de leurs fichiers. Par exemple, un utilisateur de Windows pourra utiliser le chemin « c:\music\samples\loop001.wav ». Ceci pose problème car les l'antislash est normalement utilisé pour spécifier des caractères spéciaux.

Pour écrire correctement ce chemin dans Csound, on peut :

  • Soit utiliser le slash : c:/music/samples/loop001.wav

  • Soit utiliser le caractère spécial d'antislash, « \\ »: c:\\music\\samples\\loop001.wav

[Note] Note

Voici loscil3 en mono :

a1 loscil3 10000, 1, 1, 1, 1

... et loscil3 en stéréo :

a1, a2 loscil3 10000, 1, 1, 1, 1

Exemples

Voici un exemple de l'opcode loscil3. Il utilise le fichier loscil3.csd, and beats.wav.

Exemple 346. Exemple de l'opcode loscil3.

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    No messages
-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o loscil3.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
   kamp = 30000
   ; If you don't know the frequency of your audio file,
   ; set both the kcps and ibas parameters equal to 1.
   kcps = 1
   ifn = 1
   ibas = 1

   a1 loscil3 kamp, kcps, ifn, ibas
   out a1
endin


</CsInstruments>
<CsScore>

; Table #1: an audio file.
; Its table size is deferred,
; and format taken from the soundfile header.
f 1 0 0 1 "beats.wav" 0 0 0

; Play Instrument #1 for 6 seconds.
; This will loop the drum pattern several times.
i 1 0 6
e


</CsScore>
</CsoundSynthesizer>


Voir Aussi

loscil et GEN01

Crédits

La note au sujet de la différence mono/stéréo est due à Rasmus Ekman.

Exemple écrit par Kevin Conder.