poscil3 — Oscillateur haute précision avec interpolation cubique.
ifn -- numéro de la table de fonction
iphs (facultatif, par défaut 0) -- phase initiale (table normalisée, index 0-1)
ares -- signal de sortie
kamp -- amplitude du signal de sortie.
kcps -- fréquence du signal de sortie en cycles par seconde.
poscil3 fonctionne comme poscil, mais il utilise l'interpolation cubique.
Noter que poscil3 peut utiliser des tables de longueur différée (non puissance de deux).
Voici un exemple de l'opcode poscil3. Il utilise le fichier poscil3.csd.
Exemple 448. Exemple de l'opcode poscil3.
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 poscil3.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1 - a basic oscillator. instr 1 kamp = 10000 kcps = 440 ifn = 1 a1 poscil3 kamp, kcps, ifn out 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>
Voici un autre exemple de l'opcode poscil3, qui utilise une table remplie à partir d'un fichier son. Il utilise le fichier poscil3-file.csd.
Exemple 449. Un autre exemple de l'opcode poscil3.
<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 poscil3-file.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Example written by Joachim Heintz 07/2008 sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; non-normalized function table with a sample 1 giFile ftgen 1, 0, 0, -1, "fox.wav", 0, 0, 0 ; Instrument #1 - uses poscil3 for playing samples from a function table instr 1 kamp = p4 kspeed = p5 ifn = 1 iskip = p6 kcps = kspeed / (ftlen(ifn) / ftsr(ifn)); frequency of the oscillator iphs = iskip / (ftlen(ifn) / ftsr(ifn)); calculates skiptime to phase values (0-1) a1 poscil3 kamp, kcps, ifn, iphs out a1 endin </CsInstruments> <CsScore> i1 0 2.756 1 1 0 i1 3 2.756 1 -1 0 i1 6 1.378 1 .5 2.067 e </CsScore> </CsoundSynthesizer>