VACore.ini.proto 10.8 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
#
2
3
4
5
6
7
8
9
10
11
12
13
14
#  -------------------------------------------------------------------------------------------
#
#    VVV        VVV A
#     VVV      VVV AAA        Virtual Acoustics (VA)
#      VVV    VVV   AAA       Real-time auralisation for virtual reality    
#       VVV  VVV     AAA
#        VVVVVV       AAA     (c) Copyright Institut of Technical Acoustics (ITA)
#         VVVV         AAA        RWTH Aachen University (http://www.akustik.rwth-aachen.de)
#
#  -------------------------------------------------------------------------------------------
#
#  WARNING: This configuration file for the VACore has been automatically created by CMake.
# 			You can move this file and change the argument path accordingly, otherwise
15
#			your changes will be overwritten. Alternatively, you can directly modify  
16
#			the prototype file 'VACore.ini.proto' and re-run CMake.
Jonas Stienen's avatar
Jonas Stienen committed
17
18
19
20
#


[Paths]
21
22

# Any entry value will be added to the search path list, but only if existing! They will also be made available as macros (see below).
Jonas Stienen's avatar
Jonas Stienen committed
23
# If a file can not be found during runtime by local name, the core will try to locate it using the paths in ascending name order.
24
25
# Macros are not substituted, here. However, it is recommended to use AddSearchPath during runtime, if you have individual directories
# you want to add.
Jonas Stienen's avatar
Jonas Stienen committed
26

27
# Relative configuration path (with some more hardware setup files)
Jonas Stienen's avatar
Jonas Stienen committed
28
conf_dir = conf
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
29
conf_dir_dev = @CMAKE_CURRENT_SOURCE_DIR@/conf
30
31

# Relative data path (with some common files)
Jonas Stienen's avatar
Jonas Stienen committed
32
data_dir = data
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
33
data_dir_dev = @CMAKE_CURRENT_SOURCE_DIR@/data
34
raven_data = @ITA_RAVEN_DATA_PATH@
Jonas Stienen's avatar
Jonas Stienen committed
35

36
37
38
39
40
41
# Absolute data path with further files (big data, not shipped with VA)
big_data_dir = @ITA_VACORE_BIG_DATA_DIR@

# Inside scene data directory
InsideSceneData = @INSIDE_SCENE_DATA@

42
43
44
# Path for TTS Voices of CereVoice
voices_dir = data/Voices

Jonas Stienen's avatar
Jonas Stienen committed
45
46

[Files]
47

Jonas Stienen's avatar
Jonas Stienen committed
48
# List further config files to be appended to this configuration (also looking at paths)
49

Jonas Stienen's avatar
Jonas Stienen committed
50
51
52
53
#VRLabSetup = VASetup.VRLab.ini


[Macros]
54

Jonas Stienen's avatar
Jonas Stienen committed
55
56
# Macros can be defined and will be replaced with given value by the core. Usage: "$(MyMacroName)/file.abc" -> "MyValue/file.abc"
# Macros are substituted forwardly by key name order (use with care), otherwise stay untouched: A = B; C = $(A) -> $(C) is B
57

58
DemoSound = WelcomeToVA.wav
59
DefaultHRIR = ITA_Artificial_Head_5x5_44kHz_128.v17.ir.daff
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
60
61
HumanDir = Singer.v17.ms.daff
Trumpet = Trumpet1.v17.ms.daff
62

63
64
65
# Define some other macros (examples)
ProjectName = MyVirtualAcousticsProject

Jonas Stienen's avatar
Jonas Stienen committed
66
67
68

[Debug]

69
# Record device input and store to hard drive (will record every input channel)
70
71
InputRecordEnabled = false
InputRecordFilePath = $(ProjectName)_in.wav
Jonas Stienen's avatar
Jonas Stienen committed
72

73
# Record device output and store to hard drive (will record every output channel)
74
OutputRecordEnabled = false
75
OutputRecordFilePath = $(ProjectName)_out.wav
Jonas Stienen's avatar
Jonas Stienen committed
76
77

# Set log level: 0 = quiet; 1 = errors; 2 = warnings (default); 3 = info; 4 = verbose; 5 = trace;
78
LogLevel = @ITA_VACORE_DEFAULT_DEBUG_LEVEL@
Jonas Stienen's avatar
Jonas Stienen committed
79

80
81
# Controls the core update rate for pushed events (like level meters)
TriggerUpdateMilliseconds = 100
Jonas Stienen's avatar
Jonas Stienen committed
82
83
84
85
86
87
88
89
90
91
92
93
94

[Audio driver]

# MANDATORY: Audio driver backend (ASIO|Portaudio)
#Driver = ASIO
Driver = Portaudio

# MANDATORY: Audio device (e.g. ASIO4ALL v2, ASIO Hammerfall DSP, Portaudio 'default', 0,1,2,3,...)
#Device = ASIO4ALL v2
#Device = ASIO Hammerfall DSP
#Device = ASIO Fireface USB
#Device = ASIO MADIface USB
#Device = Focusrite USB 2.0 Audio Driver
95
#Device = M-Audio Fast Track Ultra ASIO
96
#Device = Yamaha Steinberg USB ASIO
Jonas Stienen's avatar
Jonas Stienen committed
97
98
99
100
101
102
103
104
105
106
107
Device = default

# MANDATORY: Sampling rate [Hz]
Samplerate = 44100

# OPTIONAL: Buffersize used for audio streaming [Samples]
# AUTO will determine the buffersize from the audio device automatically
# Note: Adjust this to your latency requirements
Buffersize = AUTO


108
109
110
111
112
113
114
115
116
[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
Jonas Stienen's avatar
Jonas Stienen committed
117
118


119
120
121
122
123
124
125
[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
Jonas Stienen's avatar
Jonas Stienen committed
126
127


128
[Renderer:MyBinauralFreeField]
129
Enabled = true
130
Class = BinauralFreeField
131
Reproductions = MyTalkthroughHeadphones
132
OutputDetectorEnabled = false
133
134
RecordOutputEnabled = false
RecordOutputFilePath = $(ProjectName)_Renderer_MyBinauralFreeField_Output.wav
Jonas Stienen's avatar
Jonas Stienen committed
135
136
137
138
139
140
141
142
HRIRFilterLength = 256
MotionModelNumHistoryKeys = 10000
MotionModelWindowSize = 0.1
MotionModelWindowDelay = 0.1
MotionModelLogInputSources = false
MotionModelLogEstimatedOutputSources = false
MotionModelLogInputListener = false
MotionModelLogEstimatedOutputListener = false
143
SwitchingAlgorithm = linear
Jonas Stienen's avatar
Jonas Stienen committed
144
145
146
147
148
149

[Renderer:MyAmbientMixer]
class = AmbientMixer
Description = Low-cost renderer to make sound audible without spatializations
Enabled = false
OutputGroup = MyDesktopHP
150
Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
151
152
153
154

[Renderer:MyBinauralArtificialReverb]
Class = BinauralArtificialReverb
Enabled = false
155
Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
156
157
158
159
160
161
162
163
164
165
166
167
168
ReverberationTime = 0.71
RoomVolume = 200
RoomSurfaceArea = 88
MaxReverbFilterLengthSamples = 88200
PositionThreshold = 1.0
AngleThresholdDegree = 30
SoundPowerCorrectionFactor = 0.05
TimeSlotResolution = 0.005
MaxReflectionDensity = 12000.0
ScatteringCoefficient = 0.1

[Renderer:MyBinauralRoomAcoustics]
Class = BinauralRoomAcoustics
169
Enabled = false
170
Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
171
172
173
174
175
# Setup options: Local, Remote, Hybrid
Setup = Local
ServerIP = PC-SEACEN
HybridLocalTasks = DS
HybridRemoteTasks = ER_IS, DD_RT
176
RavenDataBasePath = $(raven_data)
Jonas Stienen's avatar
Jonas Stienen committed
177
178
179
180
181
182
183
184
# Task processing (Timeout = with desired update rate, for resource efficient processing; EventSync = process on request (for sporadic updates); Continuous = update as often as possible, for standalone server)
TaskProcessing = Timeout
# Desired update rates in Hz, may lead to resource problems
UpdateRateDS = 12.0
UpdateRateER = 4.2
UpdateRateDD = 0.08
DirectSoundPowerCorrectionFactor = 0.05

185
186
187
[Renderer:MyMonauralFreeField]
Class = MonauralFreeField
Enabled = false
188
Reproductions = MyTalkthroughHeadphones
189
190
191
192
193
194
195
MotionModelNumHistoryKeys = 10000
MotionModelWindowSize = 0.2
MotionModelWindowDelay = 0.1
MotionModelLogInputSources = false
MotionModelLogEstimatedOutputSources = false
DumpListeners = false
DumpListenersGain = 1.0
196
SwitchingAlgorithm = linear
197

Jonas Stienen's avatar
Jonas Stienen committed
198
[Renderer:MyHearingAidRenderer]
199
Class = PrototypeHearingAid
Jonas Stienen's avatar
Jonas Stienen committed
200
Enabled = false
201
202
Reproductions = HearingAidTalkthrough
#Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
203
204
205
206
207
208
209
210
211
212
213
214
UpdateRateDS = 120.0
UpdateRateIS = 20.0
UpdateRateRT = 1.0
RenderingGain = 1.0
RenderingDelayInMs = 10.0
HRIRFilterLength = 256
# Dump individual listener signals
DumpListeners = false
# Gain for listener dumping [Factor]
DumpListenersGain = 10

[Renderer:MyGenericRenderer]
215
Class = PrototypeGenericPath
Jonas Stienen's avatar
Jonas Stienen committed
216
Enabled = false
217
Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
218
NumChannels = 2
219
220
IRFilterLengthSamples = 88200
IRFilterDelaySamples = 0
221
OutputMonitoring = true
Jonas Stienen's avatar
Jonas Stienen committed
222
223
224
225

[Renderer:MyAirTrafficNoiseRenderer]
Class = BinauralAirTrafficNoise
Enabled = false
226
Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
227
228
229


[Renderer:MyVBAPFreefield]
230
Class = VBAPFreeField
Jonas Stienen's avatar
Jonas Stienen committed
231
232
Enabled = false
Output = VRLab_Horizontal_LS
233
Reproductions = MixdownHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
234
235
236


[Renderer:MyDummyRenderer]
237
class = PrototypeDummy
Jonas Stienen's avatar
Jonas Stienen committed
238
239
240
Description = Dummy renderer for testing and benchmarking
Enabled = false
OutputGroup = MyDesktopHP
241
Reproductions = MyTalkthroughHeadphones
Jonas Stienen's avatar
Jonas Stienen committed
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262


# --= Audio reproduction =--

# Here you write down the audio reproduction modules that are created after VA starts.
# Each section has the format [Reproduction:<ID>] (<ID> must be unique and is freely chooseable).


# Warum diese Schicht mit Eingngen und Ausgngen?
#- Vernnftige Gruppierung fr Meters
#- Abstraktion der Renderer und Reproductions von physikalischen Kanlen
#- Zusatzfunktionalitt unbh. von Renderer und Reproductions: Equalization
#
#- Diese Inputs mssen als Signalquellen im Core erscheinen


[Reproduction:MyTalkthroughHeadphones]
Class = Talkthrough
Enabled = true
Name = Generic talkthrough to output group
Outputs = MyDesktopHP
263
264
InputDetectorEnabled = false
OutputDetectorEnabled = false
265
266
267
268
RecordInputEnabled = false
RecordInputFilePath = $(ProjectName)_Reproduction_MyTalkthroughHeadphones_Input.wav
RecordOutputEnabled = false
RecordOutputFilePath = $(ProjectName)_Reproduction_MyTalkthroughHeadphones_Output.wav
Jonas Stienen's avatar
Jonas Stienen committed
269

270
271
272
273
274
[Reproduction:MySubwooferMixer]
Class = LowFrequencyMixer 
Enabled = false
Name = Generic low frequency (subwoofer) loudspeaker mixer
Outputs = Cave_SW
275
MixingChannels = ALL
276

Jonas Stienen's avatar
Jonas Stienen committed
277
278
279
280
[Reproduction:MyHD600]
Class = Headphones
Enabled = false
# Headphone impulse response inverse file path (normalized)
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
281
HpIRInvFile = HPEQ/HD600_all_eq_128_stereo.wav
Jonas Stienen's avatar
Jonas Stienen committed
282
283
284
285
286
287
288
289
290
291
#HpIRInvFilterLength = 22050
# Headphone impulse response inverse gain for calibration ( HpIR * HpIRInv == 0dB )
HpIRInvCalibrationGainDecibel = 0.1
Name = Equalized Sennheiser HD600 headphones
Outputs = MyDesktopHP

[Reproduction:MyNCTC]
Class = NCTC
Enabled = false
Name = Crosstalk cancellation for N loudspeaker
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
292
Outputs = MyDesktopLS
Jonas Stienen's avatar
Jonas Stienen committed
293
294
295
296
297
298
TrackedListenerID = 1
# algorithm: reg|...
Algorithm = reg
RegularizationBeta = 0.01
DelaySamples = 2048
UseTrackedListenerHRIR = false
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
299
CTCDefaultHRIR = $(DefaultHRIR)
Jonas Stienen's avatar
Jonas Stienen committed
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
Optimization = OPTIMIZATION_NONE

[Reproduction:MyAmbisonics]
Class = HOA
Enabled = false
Name = Higher-Order Ambisonics
Enabled = false
Algorithm = HOA
Outputs = VRLab_Horizontal_LS

[Reproduction:MyMixdownHeadphones]
Class = BinauralMixdown
Enabled = false
Name = Binaural mixdown of virtual loudspeaker setup using HRIR techniques
Outputs = MyDesktopHP
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
315
VirtualOutput = MyDesktopLS
Jonas Stienen's avatar
Jonas Stienen committed
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
TrackedListenerID = 1
HRIRFilterLength = 128

[Reproduction:HearingAidTalkthrough]
Class = Talkthrough
Enabled = false
Name = Hearing aid takthrough
Outputs = HearingAid


[Setup]

# hardware setup example for a desktop environment, usually more sophisticated
# settings are outsourced to a VASetup.ini that is included in the 'Files' section

# -- outputs

[Output:MyDesktopHP]
Description = Desktop user with headphones
Devices = MyHP

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
337
338
339
340
[Output:MyDesktopLS]
Description = Desktop user with loudspeaker monitors
Devices = MyLSLeft, MyLSRight

Jonas Stienen's avatar
Jonas Stienen committed
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355

# -- inputs

[Input:MyDesktopMike]
Description = Generic desktop microphone, i.e. from WebCam or Line-In
Devices = MyLineIn


# -- hardware devices

[OutputDevice:MyHP]
Type = HP
Description = Headphone hardware device (two-channels)
Channels = 1,2

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
356
357
358
359
360
361
362
363
364
365
366
367
[OutputDevice:MyLSLeft]
Type = LS
Description = Loudspeaker hardware device
Channels = 1
Position = -0.5, 0.2, -0.4

[OutputDevice:MyLSRight]
Type = LS
Description = Loudspeaker hardware device
Channels = 2
Position = 0.5, 0.2, -0.4

Jonas Stienen's avatar
Jonas Stienen committed
368
369
370
371
372
[InputDevice:MyLineIn]
Type = MIC
Description = Table microphone in front of user using line-in
Position = 0, -0.3, 0.2
Channels = 1