pvsosc — Simulateur d'oscillateur basé sur PVS.
Génère des spectres de signal périodique au format AMP-FREQ, avec le choix parmi quatre type de forme d'onde :
Les formes d'onde complexes (c'est-à-dire tous les types sauf le cosinus) contiennent tous les harmoniques jusqu'à la fréquence de Nyquist. Cela fait de pvsosc une option pour la génération de formes d'onde périodiques à bande limitée. De plus, on peut changer de type en utilisant une variable de taux-k.
fsig -- flot pv de sortie mis à zéro.
isize -- taille de la trame d'analyse.
ioverlap -- (Facultatif) taille du saut, vaut isize/4 par défaut.
iwinsize -- (Facultatif) taille de fenêtre, vaut isize par défaut.
iwintype -- (Facultatif) type de fenêtre, Hanning par défaut. On a actuellement le choix entre :
0 = fenêtre de Hamming
1 = fenêtre de von Hann
iformat -- (Facultatif) format des données, 0 par défaut ce qui produit des données AMP:FREQ. C'est actuellement la seule option.
kamp -- amplitude du signal. Noter que l'amplitude effective du signal peut varier légèrement autour de cette valeur en fonction du type de forme d'onde et de la fréquence. Généralement, l'amplitude a tendance à dépasser kamp pour les hautes fréquences (> 1000 Hz) et à être inférieure pour les basses fréquences. De plus, à cause du traitement par recouvrement-addition, lorsque l'on fait la resynthèse avec pvsynth, les glissements de fréquence causeront une fluctuation de l'amplitude autour de kamp.
kfreq -- fréquence fondamentale en Hz.
ktype -- type d'onde : 1. pseudo dent de scie, 2. pseudo carrée, 3. impulsion, et tout autre valeur pour cosine.
Voici un exemple de l'opcode pvsosc. Il utilise le fichier pvsosc.csd.
Exemple 689. Exemple de l'opcode pvsosc
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 -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o pvsosc.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 instr 1 ; a band-limited sawtooth-wave oscillator fsig pvsosc 10000, 440, 1, 1024 ; generate wave spectral signal asig pvsynth fsig ; resynthesise it out asig endin instr 2 ; a band-limited square-wave oscillator fsig pvsosc 10000, 440, 2, 1024 ; generate wave spectral signal asig pvsynth fsig ; resynthesise it out asig endin instr 3 ; a pulse oscillator fsig pvsosc 10000, 440, 3, 1024 ; generate wave spectral signal asig pvsynth fsig ; resynthesise it out asig endin instr 4 ; a cosine-wave oscillator fsig pvsosc 10000, 440, 4, 1024 ; generate wave spectral signal asig pvsynth fsig ; resynthesise it out asig endin </CsInstruments> <CsScore> i 1 0 1 i 2 2 1 i 3 4 1 i 4 6 1 e </CsScore> </CsoundSynthesizer>