oscil — Un oscillateur simple.
oscil lit la table ifn séquentiellement et de manière répétive à la fréquence xcps. L'amplitude est pondérée par xamp.
ifn -- numéro de la table de fonction. Nécessite un point de garde pour la lecture cyclique.
iphs (facultatif, par défaut 0) -- phase initiale de la lecture, exprimée comme une fraction d'une période (0 à 1). Avec une valeur négative l'initialisation de la phase sera ignorée. La valeur par défaut est 0.
kamp, xamp -- amplitude
kcps, xcps -- fréquence en cycles par seconde.
L'opcode oscil génère des signaux de contrôle (ou audio) constitués de la valeur de kamp (xamp) fois la valeur de la lecture au taux de contrôle (ou au taux audio) d'une table de fonction stockée. La phase interne est simultanément incrémentée selon la valeur en entrée de kcps ou de xcps.
La table ifn est parcourue par incrément modulo la longueur de la table et la valeur obtenue est multipliée par amp.
Si vous désirez changer la table de l'oscillateur avec un signal de taux-k, vous pouvez utiliser oscilikt.
Voici un exemple de l'opcode oscil. Il utilise le fichier oscil.csd.
Exemple 340. Exemple de l'opcode oscil.
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 oscil.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 ksmps = 128 nchnls = 2 ; Instrument #1 - a basic oscillator. instr 1 kamp = 10000 kcps = 440 ifn = 1 a1 oscil kamp, kcps, ifn outs a1,a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; Play Instrument #1 for 2 seconds. i 1 0 2 e </CsScore> </CsoundSynthesizer>