oscil3 — Un oscillateur simple avec interpolation cubique.
oscil3 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. La lecture des valeurs de phase internes de la table se fait avec interpolation cubique.
ifn (facultatif) -- numéro de la table de fonction. Nécessite un point de garde pour la lecture cyclique. Vaut -1 par défaut ce qui indique une onde sinus.
iphs (facultatif) -- 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.
oscil3 est identique à oscili, sauf qu'il utilise l'interpolation cubique.
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 oscil3. Il utilise le fichier oscil3.csd.
Exemple 683. Exemple de l'opcode oscil3.
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 ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o oscil3.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kamp = .6 kcps = 440 ifn = p4 asig oscil kamp, kcps, ifn outs asig,asig endin instr 2 kamp = .6 kcps = 440 ifn = p4 asig oscil3 kamp, kcps, ifn outs asig,asig endin </CsInstruments> <CsScore> f1 0 128 10 1 ; Sine with a small amount of data f2 0 128 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111 ; Sawtooth with a small amount of data f3 0 128 10 1 0 0.3 0 0.2 0 0.14 0 .111 ; Square with a small amount of data f4 0 128 10 1 1 1 1 0.7 0.5 0.3 0.1 ; Pulse with a small amount of data i 1 0 2 1 i 2 3 2 1 i 1 6 2 2 i 2 9 2 2 i 1 12 2 3 i 2 15 2 3 i 1 18 2 4 i 2 21 2 4 e </CsScore> </CsoundSynthesizer>