diff --git a/.gitignore b/.gitignore index 3fec32c842751033d92c8967eba40c3911333a78..b1ce657dbfe3232dc83fcefc5cae7ef6d0a8f712 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ tmp/ + +conf/VAReproduction.ini \ No newline at end of file diff --git a/conf/VACore.Main.ini b/conf/VACore.Main.ini new file mode 100644 index 0000000000000000000000000000000000000000..d952a9bf25a0eecd8e7c0b0d82aa6c9fa1cf3bca --- /dev/null +++ b/conf/VACore.Main.ini @@ -0,0 +1,19 @@ +[Paths] +conf_dir = ../conf +conf_dir_internal = conf +data_dir = ../Data +directivity_dir = ../Data/directivities +data_dir_internal = data + +[Macros] +DemoSound = WelcomeToVA.wav +DefaultHRIR = ITA_Artificial_Head_5x5_44kHz_128.v17.ir.daff +HumanDir = Singer.v17.ms.daff +Trumpet = Trumpet1.v17.ms.daff + +[Files] +VASetupIni = VASetup.Unreal.ini +VASetupHOAIdeal = VASetup.HOAIdeal.ini +VAReproductionIni = VAReproduction.ini +VARendererIni = VARenderer.Default.ini + diff --git a/conf/VARenderer.Default.ini b/conf/VARenderer.Default.ini new file mode 100644 index 0000000000000000000000000000000000000000..289d08c678373eb338dda5ea8aeb95b7c3380675 --- /dev/null +++ b/conf/VARenderer.Default.ini @@ -0,0 +1,53 @@ +# +# ------------------------------------------------------------------------------------------- +# +# VVV VVV A +# VVV VVV AAA Virtual Acoustics (VA) +# VVV VVV AAA Real-time auralization for virtual reality +# VVV VVV AAA +# VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA) +# VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de) +# +# ------------------------------------------------------------------------------------------- +# + +[Calibration] + +# The amplitude calibration mode either sets the internal conversion from +# sound pressure to an electrical or digital amplitude signal (audio stream) +# to 94dB (default) or to 124dB. The rendering modules will use this calibration +# mode to calculate from physical values to an amplitude that can be forwarded +# to the reproduction modules. If a reproduction module operates in calibrated +# mode, the resulting physical sound pressure at receiver location can be maintained. +DefaultAmplitudeCalibrationMode = 94dB + +# Set the minimum allowed distance (m) to a sound source (point source can get infinitely loud). +# This can also be used if sound sources appear too loud near-by, but in the limiting range this +# rendering will not be physically correct. +DefaultMinimumDistance = 0.25 + +# The default distance is used when spherical spreading is deactivated +DefaultDistance = 2.0 + + +[HomogeneousMedium] + +DefaultSoundSpeed = 344.0 # m/s +DefaultStaticPressure = 101125.0 # [Pa] +DefaultTemperature = 20.0 # [Degree centigrade] +DefaultRelativeHumidity = 20.0 # [Percent] +DefaultShiftSpeed = 0.0, 0.0, 0.0 # 3D vector in m/s + + +# --= AUDIO RENDERING =-- +# ----------------------- + +[Renderer:MyBinauralFreeField] +Description = Basic renderer applying HRIRs, source directivities and free-field propagation effects +Class = FreeField +Enabled = true +Reproductions = TalkthroughHP, Headphones, CTC +SpatialEncodingType = Binaural +HRIRFilterLength = 256 +VDLSwitchingAlgorithm = cubicspline +FilterBankType = iir \ No newline at end of file diff --git a/conf/VAReproduction.Prototype.ini b/conf/VAReproduction.Prototype.ini new file mode 100644 index 0000000000000000000000000000000000000000..55893758e61c3ee82361ddc277228e00b80f061b --- /dev/null +++ b/conf/VAReproduction.Prototype.ini @@ -0,0 +1,75 @@ +# +# ------------------------------------------------------------------------------------------- +# +# VVV VVV A +# VVV VVV AAA Virtual Acoustics (VA) +# VVV VVV AAA Real-time auralization for virtual reality +# VVV VVV AAA +# VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA) +# VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de) +# +# ------------------------------------------------------------------------------------------- +# + +[Reproduction:TalkthroughHP] +Class = Talkthrough +Enabled = false +Name = Generic talkthrough to headphone channels +Outputs = MyDesktopHP + +[Reproduction:Headphones] +Class = Headphones +Enabled = false +# Headphone impulse response inverse file path (normalized) +HpIRInvFile = HPEQ/HD600_all_eq_128_stereo.wav +#HpIRInvFilterLength = 22050 +# Headphone impulse response inverse gain for calibration ( HpIR * HpIRInv == 0dB ) +HpIRInvCalibrationGainDecibel = 0.1 +Name = Equalized Sennheiser HD600 headphones +Outputs = MyDesktopHP + +[Reproduction:CTC] +Class = NCTC +Enabled = false +Name = Crosstalk cancellation for N loudspeakers +Outputs = MyDesktopLS +TrackedListenerID = 1 +# algorithm: reg|... +Algorithm = reg +RegularizationBeta = 0.01 +CTCFilterLength = 4096 +DelaySamples = 2048 +UseTrackedListenerHRIR = false +CTCDefaultHRIR = $(DefaultHRIR) +Optimization = OPTIMIZATION_NONE + + +[Reproduction:TalkthroughLS] +Class = Talkthrough +Enabled = false +Name = Generic talkthrough to stereo loudspeakers +Outputs = MyDesktopLS + + +[Reproduction:AmbisonicsLS] +Class = Ambisonics +Enabled = false +Name = (Higher-Order) Ambisonics decoder for loudspeaker arrays +Outputs = ??? +TruncationOrder = 2 +ReproductionCenterPos = AUTO + + +[Reproduction:AmbisonicsBinauralMixdown] +Class = AmbisonicsBinauralMixdown +Enabled = false +Name = Higher-Order Ambisonics dynamic binaural downmix renderer +HRIRFilterLength = 256 +VirtualOutput = HOAIdeal +Outputs = MyDesktopHP +TruncationOrder = 2 +ReproductionCenterPos = 0,0,0 +HRIR = $(DefaultHRIR) +#HRIR= HRIR/MyDaffv17HRTF.daff +TrackedListenerID = 1 +TrackingDelaySeconds = 0 \ No newline at end of file diff --git a/conf/VASetup.HOAIdeal.Triangulation.ini b/conf/VASetup.HOAIdeal.Triangulation.ini new file mode 100644 index 0000000000000000000000000000000000000000..3dc03240d8ca0d623487337da3d56123a0999fb9 --- /dev/null +++ b/conf/VASetup.HOAIdeal.Triangulation.ini @@ -0,0 +1,5 @@ +# Triangulation file for VASetup.HOAIdeal +# Author: Lukas Vollmer (lvo@akustik.rwth-aachen.de) +# Date: 2021-06-02 + +Triangulation = 0, 8, 14; 0, 14, 24; 0, 16, 8; 0, 20, 16; 0, 24, 20; 1, 6, 18; 1, 9, 19; 1, 10, 9; 1, 18, 22; 1, 19, 6; 1, 22, 10; 2, 5, 23; 2, 11, 16; 2, 16, 20; 2, 17, 5; 2, 20, 17; 2, 23, 11; 3, 4, 12; 3, 8, 4; 3, 9, 8; 3, 12, 15; 3, 15, 19; 3, 19, 9; 4, 8, 16; 4, 11, 12; 4, 16, 11; 5, 7, 23; 5, 17, 21; 5, 21, 7; 6, 7, 18; 6, 15, 7; 6, 19, 15; 7, 15, 23; 7, 21, 18; 8, 9, 14; 9, 10, 14; 10, 22, 24; 10, 24, 14; 11, 23, 12; 12, 23, 15; 13, 17, 20; 13, 20, 24; 13, 21, 17; 13, 22, 21; 13, 24, 22; 18, 21, 22 \ No newline at end of file diff --git a/conf/VASetup.HOAIdeal.ini b/conf/VASetup.HOAIdeal.ini new file mode 100644 index 0000000000000000000000000000000000000000..00ffb013a842c544de374f6f14b9f5752fc21b07 --- /dev/null +++ b/conf/VASetup.HOAIdeal.ini @@ -0,0 +1,135 @@ +# ITA Laboratory for Virtual Acoustics (VRLab) audio hardware setup +# by Michael Kohnen + +# Outputs: logical groups of output audio hardware + +[Output:HOAIdeal] +Description = Equiangular placed loudspeaker +Enabled = true +Devices = LS1, LS2, LS3, LS4, LS5, LS6, LS7, LS8, LS9, LS10, LS11, LS12, LS13, LS14, LS15, LS16, LS17, LS18, LS19, LS20, LS21, LS22, LS23, LS24, LS25 + +[OutputDevice:LS1] +Type = LS +Channels = 1 +Position = 0,1,-6.1232e-17 + + +[OutputDevice:LS2] +Type = LS +Channels = 2 +Position = 0,-0.44216,-0.89694 + +[OutputDevice:LS3] +Type = LS +Channels = 3 +Position = -0.32687,0.19947,0.92378 + +[OutputDevice:LS4] +Type = LS +Channels = 4 +Position = 0.98721,0.069029,-0.14369 + +[OutputDevice:LS5] +Type = LS +Channels = 5 +Position = 0.77885,0.44862,0.43833 + +[OutputDevice:LS6] +Type = LS +Channels = 6 +Position = -0.48015,-0.48095,0.73358 + +[OutputDevice:LS7] +Type = LS +Channels = 7 +Position = 0.17993,-0.90665,-0.3816 + +[OutputDevice:LS8] +Type = LS +Channels = 8 +Position = -0.23215,-0.93862,0.25516 + +[OutputDevice:LS9] +Type = LS +Channels = 9 +Position = 0.65248,0.73868,-0.16918 + +[OutputDevice:LS10] +Type = LS +Channels = 10 +Position = 0.60413,0.15673,-0.78132 + +[OutputDevice:LS11] +Type = LS +Channels = 11 +Position = -0.11457,0.23328,-0.96564 + +[OutputDevice:LS12] +Type = LS +Channels = 12 +Position = 0.35422,0.12681,0.92653 + +[OutputDevice:LS13] +Type = LS +Channels = 13 +Position = 0.80741,-0.26818,0.52552 + +[OutputDevice:LS14] +Type = LS +Channels = 14 +Position = -0.95081,0.28724,-0.116 + +[OutputDevice:LS15] +Type = LS +Channels = 15 +Position = 0.16237,0.75622,-0.63385 + +[OutputDevice:LS16] +Type = LS +Channels = 16 +Position = 0.59325,-0.79266,0.14052 + +[OutputDevice:LS17] +Type = LS +Channels = 17 +Position = 0.10299,0.75008,0.65328 + +[OutputDevice:LS18] +Type = LS +Channels = 18 +Position = -0.85196,0.069728,0.51895 + +[OutputDevice:LS19] +Type = LS +Channels = 19 +Position = -0.48217,-0.76556,-0.42595 + +[OutputDevice:LS20] +Type = LS +Channels = 20 +Position = 0.72077,-0.48095,-0.49917 + +[OutputDevice:LS21] +Type = LS +Channels = 21 +Position = -0.57288,0.75007,0.33045 + +[OutputDevice:LS22] +Type = LS +Channels = 22 +Position = -0.89509,-0.44532,0.022394 + +[OutputDevice:LS23] +Type = LS +Channels = 23 +Position = -0.71173,-0.11269,-0.69335 + +[OutputDevice:LS24] +Type = LS +Channels = 24 +Position = 0.21394,-0.61262,0.76088 + +[OutputDevice:LS25] +Type = LS +Channels = 25 +Position = -0.53917,0.66038,-0.52268 \ No newline at end of file diff --git a/conf/VASetup.Unreal.ini b/conf/VASetup.Unreal.ini new file mode 100644 index 0000000000000000000000000000000000000000..f5bb2bce112fa98569f967611a1ea4d172ac252b --- /dev/null +++ b/conf/VASetup.Unreal.ini @@ -0,0 +1,80 @@ +# +# ------------------------------------------------------------------------------------------- +# +# VVV VVV A +# VVV VVV AAA Virtual Acoustics (VA) +# VVV VVV AAA Real-time auralization for virtual reality +# VVV VVV AAA +# VVVVVV AAA (c) Copyright Institute of Technical Acoustics (ITA) +# VVVV AAA RWTH Aachen University (http://www.akustik.rwth-aachen.de) +# +# ------------------------------------------------------------------------------------------- +# + +[Debug] + +# Set log level: 0 = quiet; 1 = errors; 2 = warnings; 3 = info (default); 4 = verbose; 5 = trace; +LogLevel = 3 + + +[Audio driver] + +# MANDATORY: Audio driver backend (ASIO|Portaudio|Virtual) +#Driver = Virtual +#Driver = ASIO +Driver = Portaudio + +# MANDATORY: Audio device ( e.g. ASIO4ALL v2, ASIO Hammerfall DSP, Portaudio 'default', 0,1,2,3,..., virtual user 'Trigger' ) +Device = default +#Device = ASIO4ALL v2 +#Device = ASIO Hammerfall DSP +#Device = ASIO Fireface USB +#Device = ASIO MADIface USB +#Device = Focusrite USB 2.0 Audio Driver +#Device = M-Audio Fast Track Ultra ASIO +#Device = Yamaha Steinberg USB ASIO + +# MANDATORY: Sampling rate [Hz] +Samplerate = 44100 + +# OPTIONAL: Buffer size / block length used for audio streaming [Samples] +# AUTO will determine the buffer size from the audio device automatically [recommended, set in sound card driver configuration] +# Note: Adjust this to your latency requirements +BufferSize = AUTO + +# Define number of output channels manually (e.g. for virtual device) +OutputChannels = AUTO + + + +[Setup] + +# -- outputs + +[Output:MyDesktopHP] +Description = Desktop user with headphones +Devices = MyHP + +[Output:MyDesktopLS] +Description = Desktop user with loudspeaker monitors +Devices = MyLSLeft, MyLSRight + + +# -- hardware devices + +[OutputDevice:MyHP] +Type = HP +Description = Headphone hardware device (two-channels) +Channels = 1,2 + +[OutputDevice:MyLSLeft] +Type = LS +Description = Loudspeaker hardware device +Channels = 3 +Position = -0.5, 0.2, -0.4 + +[OutputDevice:MyLSRight] +Type = LS +Description = Loudspeaker hardware device +Channels = 4 +Position = 0.5, 0.2, -0.4