hrtfreverb

hrtfreverb — Une réverbération binaurale à champ de diffusion basée sur un réseau de lignes à retard rétroactives (Feedback Delay Network) dynamique.

Description

Cet opcode fonctionne de manière autonome comme une réverbération souple et efficace. Il est cependant conçu pour être utilisé avec hrtfearly pour obtenir une réverbération spatialement précise avec des trajectoires de la source définissables par l'utilisateur. Il fournit aussi une cohérence inter-oreilles précise.

Un champ réverbérant efficace, fonction de la fréquence, est créé en se basant sur les durées de réverbération souhaitées pour les basses et les hautes fréquences. L'opcode est conçu pour fonctionner avec hrtfearly, utilisant idéalement les sorties de ce dernier comme entrées. Cependant, on peut utiliser hrtfreverb de manière autonome. La stabilité est renforcée.

Syntaxe

aleft, aright, idel hrtfreverb asrc, ilowrt60, ihighrt60, ifilel, ifiler [,isr, imfp, iorder]

Initialisation

ilowrt60 - durée de réverbération des basses fréquences.

ihighrt60 - durée de réverbération des hautes fréquences.

ifilel - fichier des données spectrales HRTF de gauche.

ifiler - fichier des données spectrales HRTF de droite.

[Note] Note

Des fichiers de données spectrales (basés sur la base de données HRTF du MIT) sont disponibles sous trois différents taux d'échantillonnage : 44.1, 48 et 96 kHz et sont nommés en conséquence. Le sr d'entrée et de traitement doit correspondre au sr du fichier de données. Les fichiers doivent se trouver dans le répertoire courant ou dans SADIR (voir Variables d'environnement).

[Note] Note

Les fichiers de données HRTF à utiliser avec hrtfmove, hrtfmove2, hrtfstat, hrtfearly et hrtfreverb ont été mis à jour pour les versions 5.15 et ultérieures de Csound (le code a été mis à jour et il est plus efficace). Les anciens fichiers de données sont maintenant obsolètes.

isr - facultatif, 44.1kHz par défaut. Valeurs acceptées : 44100, 48000 et 96000.

imfp - facultatif, chemin libre moyen, celui d'un pièce de taille moyenne par défaut. Si cet opcode est utilisé avec hrtfearly, le chemin libre moyen de la pièce peut être utilisé pour calculer le retard approprié pour la réverbération tardive. Intervalle accepté : le chemin libre moyen de la plus petite pièce autorisée par hrtfearly (0.003876) 1.

iorder - facultatif, ordre du traitement des premières réflexions. Si cet opcode est utilisé avec hrtfearly, l'ordre des premières réflexions peut être utilisé pour calculer le retard pour la réverbération tardive.

asrc - Signal source en entrée.

idel - Si cet opcode est utilisé avec hrtfearly, ce paramètre est le retard approprié pour la réverbération tardive, basé sur la pièce et l'ordre du traitement.

Exemples

Voici un exemple des opcodes hrtfearly et hrtfreverb. Il utilise le fichier hrtfearly.csd.

Exemple 443. Exemple de l'opcode htrfearly.

<CsoundSynthesizer>
<CsOptions>

; Select flags here
; realtime audio out
 -o dac
; file ouput 
; -o hrtf.wav
  
</CsOptions>
<CsInstruments>

nchnls = 2

gasrc init 0	;global

instr 1		;a plucked string, distorted and filtered

  iamp = 15000
  icps = cpspch(p4)

  a1 pluck iamp, icps, icps, 0, 1
  adist distort1 a1, 10, .5, 0, 0
  afilt moogvcf2 adist, 8000, .5 
  aout linen afilt, 0, p3, .01
  
  gasrc = gasrc + aout

endin

instr 10	;uses output from instr1 as source
  
  ;simple path for source
  kx line 2, p3, 9

  ;early reflections, room default 1
  aearlyl,aearlyr, irt60low, irt60high, imfp hrtfearly gasrc, kx, 5, 1, 5, 1, 1, "hrtf-44100-left.dat", "hrtf-44100-right.dat", 1

  ;later reverb, uses outputs from above
  arevl, arevr, idel hrtfreverb gasrc, irt60low, irt60high, "hrtf-44100-left.dat", "hrtf-44100-right.dat", 44100, imfp

  ;delayed and scaled
  alatel delay arevl * .1, idel
  alater delay arevr * .1, idel

  outs	aearlyl + alatel, aearlyr + alater
  
  gasrc = 0

endin
  
</CsInstruments>
<CsScore>

; Play Instrument 1: a simple arpeggio
i1 0 .2 8.00 
i1 + .2 8.04
i1 + .2 8.07
i1 + .2 8.11
i1 + .2 9.02
i1 + 1.5 8.11
i1 + 1.5 8.07
i1 + 1.5 8.04
i1 + 1.5 8.00
i1 + 1.5 7.09
i1 + 4 8.00

; Play Instrument 10 for 13 seconds.
i10 0 13

</CsScore>
</CsoundSynthesizer>

Voir aussi

hrtfearly hrtfmove, hrtfmove2, hrtfstat, hrtfer.

Crédits

Auteur : Brian Carty
Maynooth
2011