Commit 9e85af13 authored by Michael Kohnen's avatar Michael Kohnen
Browse files

Merged develop

parents 98086a3d b876d14f
...@@ -3,6 +3,7 @@ conf/VACore.experimental.ini ...@@ -3,6 +3,7 @@ conf/VACore.experimental.ini
conf/*.ini conf/*.ini
*.log *.log
*.daff *.daff
*.dat
*.sofa *.sofa
*.wav *.wav
HTML HTML
......
...@@ -48,8 +48,8 @@ vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES ) ...@@ -48,8 +48,8 @@ vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITADSP REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITADSP REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITADataSources REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITADataSources REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITAConvolution REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITAConvolution REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITACTC REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITASampler REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITASampler REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITACTC REQUIRED FIND_DEPENDENCIES )
vista_use_package( OpenDAFF REQUIRED ) vista_use_package( OpenDAFF REQUIRED )
vista_use_package( SPLINE REQUIRED ) vista_use_package( SPLINE REQUIRED )
vista_use_package( Eigen REQUIRED ) vista_use_package( Eigen REQUIRED )
...@@ -62,10 +62,10 @@ if( ITA_VA_CORE_LIBS_FFT_USES_FFTW3 ) ...@@ -62,10 +62,10 @@ if( ITA_VA_CORE_LIBS_FFT_USES_FFTW3 )
endif( ) endif( )
if( NOT DEFINED ITA_VACORE_VERSION_MAJOR ) if( NOT DEFINED ITA_VACORE_VERSION_MAJOR )
set( ITA_VACORE_VERSION_MAJOR "v2018" CACHE STRING "VACore version major (usually 'v' and year)" ) set( ITA_VACORE_VERSION_MAJOR "v2019" CACHE STRING "VACore version major (usually 'v' and year)" )
endif( ) endif( )
if( NOT DEFINED ITA_VACORE_VERSION_MINOR ) if( NOT DEFINED ITA_VACORE_VERSION_MINOR )
set( ITA_VACORE_VERSION_MINOR "b" CACHE STRING "VACore version minor (usually a,b,c ...)" ) set( ITA_VACORE_VERSION_MINOR "a" CACHE STRING "VACore version minor (usually a,b,c ...)" )
endif( ) endif( )
# Settings # Settings
...@@ -157,6 +157,10 @@ endif( ) ...@@ -157,6 +157,10 @@ endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE ) if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE )
set( ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE OFF CACHE BOOL "Build VACore with rendering module: outdoor noise" ) set( ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE OFF CACHE BOOL "Build VACore with rendering module: outdoor noise" )
endif( ) endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_BINAURAL_CLUSTERING )
set( ITA_VACORE_WITH_RENDERER_BINAURAL_CLUSTERING ON CACHE BOOL "Build VACore with rendering module: clustering renderer" )
endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD ) if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD )
set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: prototype free-field" ) set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: prototype free-field" )
...@@ -171,6 +175,9 @@ endif( ) ...@@ -171,6 +175,9 @@ endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH ) if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )
set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH ON CACHE BOOL "Build VACore with rendering module: prototype generic path" ) set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH ON CACHE BOOL "Build VACore with rendering module: prototype generic path" )
endif( ) endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE )
set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE ON CACHE BOOL "Build VACore with rendering module: prototype image source" )
endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD ) if( NOT DEFINED ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
set( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: vector-base amplitude panning free-field" ) set( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: vector-base amplitude panning free-field" )
...@@ -273,6 +280,7 @@ if( ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD ) ...@@ -273,6 +280,7 @@ if( ITA_VACORE_WITH_RENDERER_BINAURAL_FREE_FIELD )
add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_FREE_FIELD" ) add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_FREE_FIELD" )
endif( ) endif( )
if( ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB ) if( ITA_VACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB )
vista_use_package( DspFilters REQUIRED FIND_DEPENDENCIES )
add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB" ) add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_ARTIFICIAL_REVERB" )
endif( ) endif( )
if( ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS ) if( ITA_VACORE_WITH_RENDERER_BINAURAL_ROOM_ACOUSTICS )
...@@ -287,7 +295,7 @@ if( ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE ) ...@@ -287,7 +295,7 @@ if( ITA_VACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE )
add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE" ) add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_AIR_TRAFFIC_NOISE" )
endif( ) endif( )
if( ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE ) if( ITA_VACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE )
add_definitions( -DVACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE ) add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_OUTDOOR_NOISE" )
endif( ) endif( )
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD ) if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD )
add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD" ) add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_FREE_FIELD" )
...@@ -301,9 +309,15 @@ endif( ) ...@@ -301,9 +309,15 @@ endif( )
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH ) if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )
add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH" ) add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH" )
endif( ) endif( )
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE )
add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE" )
endif( )
if( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD ) if( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
add_definitions( "-DVACORE_WITH_RENDERER_VBAP_FREE_FIELD" ) add_definitions( "-DVACORE_WITH_RENDERER_VBAP_FREE_FIELD" )
endif( ) endif( )
if( ITA_VACORE_WITH_RENDERER_BINAURAL_CLUSTERING )
add_definitions( "-DVACORE_WITH_RENDERER_BINAURAL_CLUSTERING" )
endif( )
# Reproduction definitions # Reproduction definitions
if( ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH ) if( ITA_VACORE_WITH_REPRODUCTION_TALKTHROUGH )
...@@ -346,10 +360,11 @@ endif( ) ...@@ -346,10 +360,11 @@ endif( )
# Files # Files
vista_add_files_to_sources( ProjectSources "conf" NON_RECURSIVE SOURCE_GROUP "conf" "ini" ) vista_add_files_to_sources( ProjectSources "conf" NON_RECURSIVE SOURCE_GROUP "conf" "ini" )
vista_add_files_to_sources( ProjectSources "conf" NON_RECURSIVE SOURCE_GROUP "conf" "proto" )
vista_add_files_to_sources( ProjectSources "data" SOURCE_GROUP_MIRROR_DIR "data" "wav" "daff" "mat" "ac" "skp" ) vista_add_files_to_sources( ProjectSources "data" SOURCE_GROUP_MIRROR_DIR "data" "wav" "daff" "mat" "ac" "skp" )
add_library( VACore ${ProjectSources} "conf/VACore.ini.proto" ) add_library( VACore ${ProjectSources} )
target_link_libraries( VACore ${VISTA_USE_PACKAGE_LIBRARIES} ) # contains all libraries from vista_use_package() calls target_link_libraries( VACore ${VISTA_USE_PACKAGE_LIBRARIES} ) # contains all libraries from vista_use_package() calls
set( BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_TEMP} ) set( BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_TEMP} )
...@@ -377,6 +392,7 @@ if( ITA_VACORE_DEPLOY_WITH_COMMON_DATA ) ...@@ -377,6 +392,7 @@ if( ITA_VACORE_DEPLOY_WITH_COMMON_DATA )
install( FILES "data/Singer.v17.ms.daff" DESTINATION "data" ) install( FILES "data/Singer.v17.ms.daff" DESTINATION "data" )
install( FILES "data/Trumpet1.v17.ms.daff" DESTINATION "data" ) install( FILES "data/Trumpet1.v17.ms.daff" DESTINATION "data" )
install( FILES "data/WelcomeToVA.wav" DESTINATION "data" ) install( FILES "data/WelcomeToVA.wav" DESTINATION "data" )
install( FILES "data/ambeo_rir_ita_doorway.wav" DESTINATION "data" )
endif( ) endif( )
if( ITA_VACORE_DEPLOY_WITH_COMMON_CONFIGS ) if( ITA_VACORE_DEPLOY_WITH_COMMON_CONFIGS )
...@@ -387,6 +403,9 @@ if( ITA_VACORE_DEPLOY_WITH_COMMON_SCRIPTS ) ...@@ -387,6 +403,9 @@ if( ITA_VACORE_DEPLOY_WITH_COMMON_SCRIPTS )
# nothing yet # nothing yet
endif( ) endif( )
if( ITA_VA_INSTALL_WITH_DLLS )
vista_install_all_dlls( bin )
endif( )
# tests # tests
if( ITA_VA_WITH_TESTS OR ITA_VACORE_WITH_TESTS ) if( ITA_VA_WITH_TESTS OR ITA_VACORE_WITH_TESTS )
......
#define _USE_MATH_DEFINES
#include <VA.h> #include <VA.h>
#include <VACoreFactory.h> #include <VACoreFactory.h>
#include <stdlib.h>
#include <iostream> #include <iostream>
#include <vector> #include <vector>
#include <math.h>
#include <VistaBase/VistaTimeUtils.h> #include <VistaBase/VistaTimeUtils.h>
#include <ITAStopWatch.h> #include <ITAStopWatch.h>
#include <stdlib.h>
using namespace std; using namespace std;
int main( int, char** ) CVAStruct GetCoreConfig()
{ {
IVAInterface* pCore = NULL;
try
{
CVAStruct oConfig; CVAStruct oConfig;
CVAStruct oSectionDebug; CVAStruct oSectionDebug;
oSectionDebug[ "loglevel" ] = 1; oSectionDebug["loglevel"] = 0;
oConfig[ "debug" ] = oSectionDebug; oConfig["debug"] = oSectionDebug;
CVAStruct oSectionDriver; CVAStruct oSectionDriver;
oSectionDriver[ "driver" ] = "Portaudio"; oSectionDriver["driver"] = "Virtual";
oConfig[ "audio driver" ] = oSectionDriver; oSectionDriver["buffersize"] = 64;
oSectionDriver["outputchannels"] = 2;
oConfig["audio driver"] = oSectionDriver;
CVAStruct oDevice1; CVAStruct oDevice1;
oDevice1[ "type" ] = "HP"; oDevice1["type"] = "Trigger";
oDevice1[ "channels" ] = "1,2"; oDevice1["channels"] = "1,2";
oConfig[ "OutputDevice:MyHP" ] = oDevice1;
oConfig["OutputDevice:MyHP"] = oDevice1;
CVAStruct oOutput1; CVAStruct oOutput1;
oOutput1[ "devices" ] = "MyHP"; oOutput1["devices"] = "MyHP";
oConfig[ "Output:MyDesktopHP" ] = oOutput1; oConfig["Output:MyDesktopHP"] = oOutput1;
CVAStruct oReproduction; CVAStruct oReproduction1;
oReproduction[ "class" ] = "Talkthrough"; oReproduction1["class"] = "Talkthrough";
oReproduction[ "outputs" ] = "MyDesktopHP"; oReproduction1["outputs"] = "MyDesktopHP";
oConfig[ "Reproduction:MyTalkthroughHeadphones" ] = oReproduction; oConfig["Reproduction:Talkthrough"] = oReproduction1;
CVAStruct oRenderer; CVAStruct oRenderer1;
oRenderer[ "class" ] = "PrototypeDummy"; oRenderer1["class"] = "BinauralRealTime";
oRenderer[ "outputs" ] = "MyTalkthroughHeadphones"; oRenderer1["Reproductions"] = "MyTalkthroughHeadphones";
oRenderer[ "outputgroup" ] = "MyDesktopHP"; oConfig["Renderer:BRT_CoreTest"] = oRenderer1;
oConfig[ "Renderer:BenchmarkDummyRenderer" ] = oRenderer;
pCore = VACore::CreateCoreInstance( oConfig );
return oConfig;
}
CVAStruct time;
CVAStruct trigger;
int main( int, char** )
{
IVAInterface* pCore = NULL;
try
{
pCore = VACore::CreateCoreInstance(GetCoreConfig());
pCore->Initialize(); pCore->Initialize();
int iIterations = 100; int iterations = 10;
int iMaxNumParallelSources = 200; int _parallelSources = 1000;
for( int i = 1; i < iMaxNumParallelSources; i++ )
double clock = 0;
double timestep = 64 / 44100.;
//auto d = pCore->CreateDire
int receiverID = pCore->CreateSoundReceiver("ITAListener");
int directivityID = pCore->CreateDirectivityFromFile("C:/dev/VA/VACore/data/ITA_Artificial_Head_5x5_44kHz_128.v17.ir.daff", "HRTF");
pCore->SetSoundReceiverDirectivity(receiverID, directivityID);
pCore->LockUpdate();
std::vector< int > viSourceIDs(_parallelSources);
for (int k = 0; k < _parallelSources; k++)
{
viSourceIDs[k] = pCore->CreateSoundSource("BenchmarkSoundSource");
}
pCore->UnlockUpdate();
for (int j = 0; j < iterations; j++)
{ {
ITAStopWatch swIterations; pCore->LockUpdate();
for( int j = 0; j < iIterations; j++ ) for (int k = 0; k < (_parallelSources); k++)
{ {
swIterations.start();
std::vector< int > viSourceIDs( i ); float azimuth = ((rand() % 3600) / 1800.0) * M_PI;
for( int k = 0; k < i; k++ ) float elevation = ((rand() % 1800) / 1800.0) * M_PI;
viSourceIDs[ k ] = pCore->CreateSoundSource( "BenchmarkSoundSource" );
for( int k = 0; k < i; k++ ) float x = sin(elevation) * cos(azimuth) * 5;
pCore->DeleteSoundSource( viSourceIDs[ k ] ); float y = cos(elevation) * 5;
swIterations.stop(); float z = sin(azimuth) * sin(elevation) * 5;
pCore->SetSoundSourcePosition(viSourceIDs[k], VAVec3(x, y, z));
} }
cout << "Statistics for " << i << " parallel source: " << swIterations.ToString() << endl; pCore->UnlockUpdate();
_sleep(100);
}
string audio = pCore->CreateSignalSourceBufferFromFile("X:/Sciebo/2018 MA Lucas Msch Auralization/input_files/Schluesselbund.wav");
pCore->SetSignalSourceBufferPlaybackAction(audio, 2);
pCore->SetSignalSourceBufferLooping(audio, true);
for (int k = 0; k < _parallelSources; k++)
{
pCore->SetSoundSourceSignalSource(viSourceIDs[k], audio);
}
_sleep(2000);
for (int j = 0; j < iterations; j++)
{
clock += timestep;
time["time"] = clock;
pCore->CallModule("manualclock", time);
trigger["trigger"] = true;
pCore->CallModule("virtualaudiodevice", trigger);
} }
delete pCore; delete pCore;
......
...@@ -48,6 +48,7 @@ voices_dir = data/Voices ...@@ -48,6 +48,7 @@ voices_dir = data/Voices
# List further config files to be appended to this configuration (also looking at paths) # List further config files to be appended to this configuration (also looking at paths)
#VRLabSetup = VASetup.VRLab.ini #VRLabSetup = VASetup.VRLab.ini
VASetupHOAIdeal = VASetup.HOAIdeal.ini
[Macros] [Macros]
...@@ -147,7 +148,7 @@ Reproductions = MyTalkthroughHeadphones ...@@ -147,7 +148,7 @@ Reproductions = MyTalkthroughHeadphones
OutputDetectorEnabled = false OutputDetectorEnabled = false
RecordOutputEnabled = false RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/MyBinauralFreeField RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/binaural/freefield
HRIRFilterLength = 256 HRIRFilterLength = 256
MotionModelNumHistoryKeys = 10000 MotionModelNumHistoryKeys = 10000
MotionModelWindowSize = 0.1 MotionModelWindowSize = 0.1
...@@ -157,19 +158,31 @@ MotionModelLogEstimatedOutputSources = false ...@@ -157,19 +158,31 @@ MotionModelLogEstimatedOutputSources = false
MotionModelLogInputListener = false MotionModelLogInputListener = false
MotionModelLogEstimatedOutputListener = false MotionModelLogEstimatedOutputListener = false
SwitchingAlgorithm = linear SwitchingAlgorithm = linear
FilterBankType = iir_burg_order10
[Renderer:MyAmbientMixer] [Renderer:MyAmbientMixer]
class = AmbientMixer class = AmbientMixer
Description = Low-cost renderer to make sound audible without spatializations Description = Low-cost renderer to make sound audible without spatializations
Enabled = false Enabled = false
OutputGroup = MyDesktopHP Reproductions = MyAmbisonicsBinauralMixdown
Reproductions = MyTalkthroughHeadphones # OutputGroup = MyDesktopHP
NumChannels = 9
SignalSourceMixingEnabled = true
SamplerEnabled = false
[Renderer:HOARender]
Class = AmbisonicsFreeField
Enabled = false
Reproductions = MyAmbisonics, MyAmbisonicsBinauralMixdown
TruncationOrder = 2
ReproductionCenterPos = 0,1.34,0
SwitchingAlgorithm = cubicspline
[Renderer:MyBinauralArtificialReverb] [Renderer:MyBinauralArtificialReverb]
Class = BinauralArtificialReverb Class = BinauralArtificialReverb
Enabled = false Enabled = false
Reproductions = MyTalkthroughHeadphones Reproductions = MyTalkthroughHeadphones
ReverberationTime = 0.71 ReverberationTime = 1, 0.71, 0.3
RoomVolume = 200 RoomVolume = 200
RoomSurfaceArea = 88 RoomSurfaceArea = 88
MaxReverbFilterLengthSamples = 88200 MaxReverbFilterLengthSamples = 88200
...@@ -198,18 +211,52 @@ UpdateRateER = 4.2 ...@@ -198,18 +211,52 @@ UpdateRateER = 4.2
UpdateRateDD = 0.08 UpdateRateDD = 0.08
DirectSoundPowerCorrectionFactor = 0.05 DirectSoundPowerCorrectionFactor = 0.05
[Renderer:MyBinauralClustering]
Enabled = false
Class = BinauralClustering
Reproductions = MyTalkthroughHeadphones
OutputDetectorEnabled = false
RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/binaural/clustering
HRIRFilterLength = 256
MotionModelNumHistoryKeys = 10000
MotionModelWindowSize = 0.4
MotionModelWindowDelay = 0.2
MotionModelLogInputSources = false
MotionModelLogEstimatedOutputSources = false
MotionModelLogInputListener = false
MotionModelLogEstimatedOutputListener = false
SwitchingAlgorithm = linear
NumClusters = 12
AngularDistanceThreshold = 0.33
[Renderer:MyBinauralOutdoorNoise]
Enabled = false
Class = BinauralOutdoorNoise
Reproductions = MyTalkthroughHeadphones
OutputDetectorEnabled = false
RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/binaural/outdoornoise
HRIRFilterLength = 256
SwitchingAlgorithm = linear
NumClusters = 6
AngularDistanceThreshold = 0.0
[Renderer:MyPrototypeFreeField] [Renderer:MyPrototypeFreeField]
Class = PrototypeFreeField Class = PrototypeFreeField
Enabled = false Enabled = false
Reproductions = MyTalkthroughHeadphones Reproductions = MyTalkthroughHeadphones
MotionModelNumHistoryKeys = 10000 MotionModelNumHistoryKeys = 10000
MotionModelWindowSize = 0.2 MotionModelWindowSize = 0.1
MotionModelWindowDelay = 0.1 MotionModelWindowDelay = 0.1
MotionModelLogInputSources = false MotionModelLogInputSources = false
MotionModelLogEstimatedOutputSources = false MotionModelLogEstimatedOutputSources = false
DumpListeners = false DumpListeners = false
DumpListenersGain = 1.0 DumpListenersGain = 1.0
SwitchingAlgorithm = linear SwitchingAlgorithm = linear
FilterBankType = IIR
[Renderer:MyHearingAidRenderer] [Renderer:MyHearingAidRenderer]
Class = PrototypeHearingAid Class = PrototypeHearingAid
...@@ -226,6 +273,7 @@ HRIRFilterLength = 256 ...@@ -226,6 +273,7 @@ HRIRFilterLength = 256
DumpListeners = false DumpListeners = false
# Gain for listener dumping [Factor] # Gain for listener dumping [Factor]
DumpListenersGain = 10 DumpListenersGain = 10
FilterBankType = IIR
[Renderer:MyGenericRenderer] [Renderer:MyGenericRenderer]
Class = PrototypeGenericPath Class = PrototypeGenericPath
...@@ -236,20 +284,47 @@ IRFilterLengthSamples = 88200 ...@@ -236,20 +284,47 @@ IRFilterLengthSamples = 88200
OutputMonitoring = true OutputMonitoring = true
RecordOutputEnabled = false RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/MyGenericRenderer RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/prototype/generic
[Renderer:MyImageSourceRenderer]
Class = PrototypeImageSource
Enabled = false
Reproductions = MyTalkthroughHeadphones
NumChannels = 2
RoomLength = 5
RoomWidth = 5
RoomHeight = 5
MaxOrder = 2
Betax1 = 0.1
Betax2 = 0.1
Betay1 = 0.1
Betay2 = 0.1
Betaz1 = 0.1
Betaz2 = 0.1
DirectSound = true
HRIRFilterLength = 256
IRFilterLengthSamples = 88200
OutputMonitoring = true
RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/prototype/imagemodel
[Renderer:MyAirTrafficNoiseRenderer] [Renderer:MyAirTrafficNoiseRenderer]
Class = BinauralAirTrafficNoise Class = BinauralAirTrafficNoise
Enabled = false Enabled = false
Reproductions = MyTalkthroughHeadphones Reproductions = MyTalkthroughHeadphones
RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/binaural/airtrafficnoise
FilterBankType = IIR
[Renderer:MyVBAPFreefield] [Renderer:MyVBAPFreefield]
Class = VBAPFreeField Class = VBAPFreeField
Enabled = false Enabled = false
Output = VRLab_Horizontal_LS Output = VRLab_Horizontal_LS
Reproductions = MixdownHeadphones Reproductions = MixdownHeadphones
FilterBankType = IIR
ReproductionCenterPos = 0,0,0
[Renderer:MyDummyRenderer] [Renderer:MyDummyRenderer]
class = PrototypeDummy class = PrototypeDummy
...@@ -324,9 +399,23 @@ Optimization = OPTIMIZATION_NONE ...@@ -324,9 +399,23 @@ Optimization = OPTIMIZATION_NONE
Class = HOA Class = HOA
Enabled = false Enabled = false
Name = Higher-Order Ambisonics Name = Higher-Order Ambisonics
Enabled = false
Algorithm = HOA Algorithm = HOA
Outputs = VRLab_Horizontal_LS Outputs = VRLab_Horizontal_LS
ReproductionCenterPos = 0,0,0
[Reproduction:MyAmbisonicsBinauralMixdown]
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
[Reproduction:MyMixdownHeadphones] [Reproduction:MyMixdownHeadphones]
Class = BinauralMixdown Class = BinauralMixdown
...@@ -335,7 +424,7 @@ Name = Binaural mixdown of virtual loudspeaker setup using HRIR techniques ...@@ -335,7 +424,7 @@ Name = Binaural mixdown of virtual loudspeaker setup using HRIR techniques
Outputs = MyDesktopHP Outputs = MyDesktopHP
VirtualOutput = MyDesktopLS VirtualOutput = MyDesktopLS
TrackedListenerID = 1 TrackedListenerID = 1
HRIRFilterLength = 128 HRIRFilterLength = 256
[Reproduction:HearingAidTalkthrough]