streson — Résonance d'une corde de fréquence fondamentale variable.
Un signal audio est modifié par un résonateur de type corde avec une fréquence fondamentale variable.
ifdbgain -- gain de rétroaction, entre 0 et 1, de la ligne à retard interne. Une valeur proche de 1 crée une décroissance plus lente et une résonance plus prononcée. Avec de petites valeurs, le signal d'entrée peut ne pas être affecté. Dépend de la fréquence du filtre, les valeurs typiques étant > 0.9.
asig -- le signal d'entrée audio.
kfrq -- la fréquence fondamentale de la corde.
streson fait passer l'entrée asig à travers un réseau composé de filtres en peigne, passe-bas et passe-tout, comme celui qui est utilisé dans certaines versions de l'algorithme de Karplus-Strong, créant un effet de résonance d'une corde. La fréquence fondamentale de la « corde » est contrôlée par la variable de taux-k kfr. On peut utiliser cet opcode pour simuler des résonances sympathiques sur un signal d'entrée.
Voir Rapports de Fréquence Modale pour les rapports de fréquence d'instruments réels pouvant être utilisés pour déterminer les valeurs de kfrq.
streson est une adaptation de l'objet StringFlt de la bibliothèque d'objets sonores SndObj développée par l'auteur.
Voici en exemple de l'opcode streson. Il utilise le fichier streson.csd.
Exemple 506. Exemple de l'opcode streson.
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 streson.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 ; Generate a normal sine wave. asig oscils 8000, 440, 1 ; Vary the fundamental frequency of the string ; resonator linearly from 220 to 880 Hertz. kfr line 220, p3, 880 ifdbgain = 0.95 ; Run our sine wave through the string resonator. astres streson asig, kfr, ifdbgain ; The resonance can get quite loud. ; So we'll clip the signal at 30,000. a1 clip astres, 1, 30000 out a1 endin </CsInstruments> <CsScore> ; Play Instrument #1 for five seconds. i 1 0 5 e </CsScore> </CsoundSynthesizer>