streson

streson — Résonance d'une corde de fréquence fondamentale variable.

Description

Un signal audio est modifié par un résonateur de type corde avec une fréquence fondamentale variable.

Syntaxe

ares streson asig, kfrq, ifdbgain

Initialisation

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.

Exécution

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.

Exemples

Voici en exemple de l'opcode streson. Il utilise le fichier streson.csd.

Exemple 599. 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 1500, 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>


Crédits

Auteur : Victor Lazzarini
Music Department
National University of Ireland, Maynooth
Maynooth, Co. Kildare
1998

Exemple écrit par Kevin Conder.

Nouveau dans la version 3.494 de Csound