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.
asig -- le signal d'entrée audio.
kfrq -- la fréquence fondamentale de la corde.
kfdbgain -- 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. Les valeurs jusqu'à 1 sont aussi utiles.
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 1040. 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 -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o streson.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 instr 1 asig diskin2 "fox.wav", 1, 0, 1 kfr = p4 ifdbgain = 0.90 astr streson asig, kfr, ifdbgain asig clip astr, 0, 1 outs asig, asig endin </CsInstruments> <CsScore> i 1 0 1 20 i 1 + . > i 1 + . > i 1 + . > i 1 + . > i 1 + . > i 1 + . 1000 e </CsScore> </CsoundSynthesizer>