doppler — Une méthode rapide et robuste d'approximation de propagation du son, produisant un effet Doppler convaincant sans résolution d'équations.
Opcode du greffon doppler.
Une méthode rapide et robuste d'approximation de propagation du son, produisant un effet Doppler convaincant sans résolution d'équations. La méthode calcule des décalages de fréquence basés sur la lecture d'une ligne à retard en entrée avec un retard calculé à partir de la distance entre la source et le microphone, et de la vitesse du son. Il faut une instance de l'opcode pour chaque dimension de l'espace dans lequel le son évolue. Si la source sonore se déplace à vitesse constante depuis l'avant du microphone jusqu'à l'arrière du microphone en passant par le microphone, la sortie sera transposée en fréquence à une fréquence constante au-dessus de la fréquence de la source durant l'approche de la source, puis basculera de manière discontinue sous la fréquence de la source à une fréquence constante comme la source s'éloigne du microphone. Si la source sonore passe à vitesse constante en un point situé sur un côté du microphone, la vitesse du changement de position ne sera pas constante et l'on entendra le décalage en fréquence typique de l'effet Doppler familier d'une sirène ou d'un moteur approchant et s'éloignant le long d'une route située sur le côté de l'auditeur.
isoundspeed (facultatif, 340.29 par défaut) -- Vitesse du son en mètres/seconde.
ifiltercutoff (facultatif, 6 par défaut) -- taux de mise à jour du filtre de lissage de la position, en Hz.
asource -- Signal d'entrée de la source sonore.
ksourceposition -- Position de la source sonore en mètres. La distance entre la source et le micro ne doit pas changer plus vite qu'environ 3/4 de la vitesse du son.
kmicposition -- Position du microphone enregistreur en mètres. of the recording microphone in meters. La distance entre la source et le micro ne doit pas changer plus vite qu'environ 3/4 de la vitesse du son.
Voici un exemple de l'opcode doppler. Il utilise le fichier doppler.csd.
Exemple 244. Exemple de l'opcode doppler.
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 ;;;RT audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o doppler.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 48000 ksmps = 128 nchnls = 2 0dbfs = 1 instr 1 iattack init 0.05 irelease init 0.05 isustain init p3 p3 init iattack + isustain + irelease kdamping linseg 0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0 kmic init 4 ; Position envelope, with a changing rate of change of position. ; transeg a dur ty b dur ty c dur ty d kposition transeg 4, p3*.4, 0, 120, p3*.3, -3, 50, p3*.3, 2, 4 ismoothinghz init 6 ispeedofsound init 340.29 asignal vco2 0.5, 110 aoutput doppler asignal, kposition, kmic, ispeedofsound, ismoothinghz outs aoutput*kdamping, aoutput * kdamping endin </CsInstruments> <CsScore> i1 0.0 20 e1 </CsScore> </CsoundSynthesizer>