diff --git a/work/developers.html b/work/developers.html index 98505f3de090a65c2d6a7e9f9a24e1bd310676da..70eb5a4cff4c0630ecfa5e2b30a47028162ef396 100644 --- a/work/developers.html +++ b/work/developers.html @@ -59,6 +59,14 @@
The documentation section offers a deeper insight into the principles of our approach, the design concept and implementation details. It is intended to address scientists who are looking for a profound description of VA, professionals of virtual acoustics who are interested in the details of concepts and software developer who are evaluating the deployment of VA.
For all others, the overview page and the getting stated section should be first point of contact.
The Paths
section allows to add search paths to the core. If resources are added that require a file (like HRTFs, geometry files, audio files), these folders are used to find it. Relative paths are resolved from the execution folder where the VA server application is started from. If you use the start batch scripts on Windows, it is recommended to add data
and conf
folders.
+
[Paths]
+
+data = data
+conf = conf
+
+my_data = C:/Users/Me/Documents/AuralizationData
+my_other_data = /home/me/auralization/input
+
+
+
+
+ The Files
section allows to name files that will be included as further configuration files. This is helpful when certain configuration sections must be outsourced to be reused efficiently. This is especially helpful to switch between static sections like hardware descriptions for laboratories or setups, but can also be used for rendering and reproduction modules (see below). Avoid copying larger configuration sections and use different files, instead.
+
+
[Files]
+
+old_lab = VASetup.OldLab.Loudspeakers.ini
+#new_lab = VASetup.NewLab.Loudspeakers.ini
+
+
+
+
+ The Macros
section is helpful to write clean scene scripts. Use macros if it is not explicitly required to use a this or that input file. For example, if any HRTF can be used for a scene, the DefaultHRIR
points to the default HRTF data set (in time domain, hence HRIR). 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
+ The example macros below are a good practice set that should be present in a configuration file in order to keep the example scripts valid.
+ Macros are also very helpful if certain exported file prefixes are desired, i.e. to get a more structured recording input and output file naming.
+
+
[Macros]
+
+DefaultHRIR = HRIR/ITA-Kunstkopf_HRIR_AP11_Pressure_Equalized_3x3_256.v17.ir.daff
+HumanDir = Directivity/Singer.v17.ms.daff
+Trumpet = Directivity/Trumpet1.v17.ms.daff
+
+# Define some other macros (examples)
+ProjectName = MyVirtualAcousticsProject
+
+
+
+
+
+ The Debug
section configures the initial behaviour of the core, i.e. log level and i/o recording. In the example, some macros are used (see Macros section above).
+
+
[Debug]
+
+# Record device input and store to hard drive (will record every input channel)
+OutputRecordEnabled = false
+OutputRecordFilePath = $(ProjectName)_in.wav
+
+# Record device output and store to hard drive (will record every output channel)
+InputRecordEnabled = false
+OutputRecordFilePath = $(ProjectName)_out.wav
+
+# Set log level: 0 = quiet; 1 = errors; 2 = warnings (default); 3 = info; 4 = verbose; 5 = trace;
+LogLevel = 3
+
+
+
+
+ The audio interface controls the backend driver and the device. Currently for the Driver
backend key, ASIO
is supported for Windows and Portaudio
is available on all platforms. By default, Portaudio with the default driver is used that usually produces audible sound without further ado. However, the block sizes are high and the update rates are not sufficient for real-time auralization using motion tracking. Therefore, dedicated hardware and small block sizes should be used - and ASIO is recommended for Windows platforms.
+
+ ASIO4ALL is a useful and well-implemented intermediate layer for audio I/O making it possible to use ASIO drivers for the internal hardware (and any other audio device available). It must be installed on the PC, first. +
[Audio driver]
+
+Driver = ASIO
+Samplerate = 44100
+Buffersize = AUTO
+Device = ASIO4ALL v2
+
+Although it apprears that the buffer size can be defined for ASIO devices, the ASIO backend will automatically detect the buffer size that has been configured by the driver when the AUTO
value is set (recommended). Set the buffer size in the ASIO driver dialog of your physical device, instead. Make sure, that the sampling rates are matching.Manufacturer | +Device | +ASIO device name | +
---|---|---|
RME | +Hammerfall DSP | +ASIO Hammerfall DSP |
+
RME | +Fireface USB | +ASIO Fireface USB |
+
RME | +MADIFace USB | +ASIO MADIface USB |
+
Focusrite | +2i2, 4i2, ... | +Focusrite USB 2.0 Audio Driver |
+
M-Audio | +Fast Track Ultra | +M-Audio Fast Track Ultra ASIO |
+
Steinberg | ++ | Yamaha Steinberg USB ASIO |
+
Zoom | +H6 | +Zoom H6 ASIO |
+
Table 1: Common ASIO device driver host names | +
+If you do not have any latency requirements you can also use Portaudio
under Windows and other platforms. The specific device names of Portaudio interfaces can be detected e.g. with the VLC player or with Audacity. But the default
device is recommended simply because it will pick the audio device that is also registered as the default device of your system. This is, what most people need anyway, and the system tools can be used to change the output device.
+If the Buffersize
is unkown, at least the native buffer size of the audio device should be used (which is most likely 1024
for on-board chips). Otherwise, timing will behave oddly which has a negative side effect on the rendering.
+
[Audio driver]
+
+Driver = Portaudio
+Samplerate = 44100
+Buffersize = 1024
+Device = default
+
+