Experimenting with VoiceCapture and VRAudioWorks

Howdy,

Been using
nvphysx/VRWorks-Audio-4.15.1

implemented user’s voice to acoustic ray tracing.

Would appreciate any help in testing / sharing.

Cheers,

#liveLongProsper

The cool projects from this application of user microphone data into the acoustic ray tracing pipeline through VoiceCapture to SoundWave are perhaps great?

I am not interested in playing back the soundwave file, only the reflections from the world. So I set global attenuation settings by creating a dervied blueprint actor. Unfortunately, that crashes the game when testing,

Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000002e0

UE4Editor-Engine.dll!USoundWaveProcedural::QueueAudio() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private\soundwaveprocedural.cpp:25]
UE4Editor-MyProject.dll!AMyCharacter::VoiceCaptureTick() [w:\ue4vraudioworks_4.15.1\myproject-master\source\myproject\private\mycharacter.cpp:96]
UE4Editor-Engine.dll!AActor::TickActor() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private\actor.cpp:863]
UE4Editor-Engine.dll!FActorTickFunction::ExecuteTick() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private\actor.cpp:125]
UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private icktaskmanager.cpp:269]
UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\core\public\async askgraphinterfaces.h:883]
UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\core\private\async askgraph.cpp:954]
UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\core\private\async askgraph.cpp:701]
UE4Editor-Core.dll!FTaskGraphImplementation::WaitUntilTasksComplete() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\core\private\async askgraph.cpp:1798]
UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private icktaskmanager.cpp:538]
UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private icktaskmanager.cpp:1450]
UE4Editor-Engine.dll!UWorld::RunTickGroup() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private\leveltick.cpp:758]
UE4Editor-Engine.dll!UWorld::Tick() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private\leveltick.cpp:1373]
UE4Editor-Engine.dll!UGameEngine::Tick() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\engine\private\gameengine.cpp:1145]
UE4Editor.exe!FEngineLoop::Tick() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
UE4Editor.exe!GuardedMain() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor.exe!GuardedMainWrapper() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor.exe!WinMain() [w:\ue4vraudioworks_4.15.1\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
KERNEL32.DLL!0x000000005D881FE4
ntdll.dll!0x000000005F37F061
ntdll.dll!0x000000005F37F061

[2018.06.07-22.17.31:425][163]LogSavePackage: Save=16.51ms
[2018.06.07-22.17.31:425][163]LogSavePackage: Moving ‘…/…/…/MyProject-master/Saved/NewMap_BuiltDataBEEB8AED46C15659F6A80093C3616A34.tmp’ to ‘…/…/…/MyProject-master/Content/NewMap_BuiltData.uasset’
[2018.06.07-22.17.31:426][163]LogSavePackage:Display: Finished SavePackage …/…/…/MyProject-master/Content/NewMap_BuiltData.uasset
[2018.06.07-22.17.31:432][163]LogEditorTransaction: Undo Spawn Play From Here Start

Any help would be greatly appreciated.

Here is a few videos to demonstrate what I have been testing,

Specifically the aliasing or distortion, I am unsure of the source or nature of this issue. Any help would be appreciated.

Specifically excited to model the interior of a cave with acoustic meshes, and then allow the users voice to explore the undergrounds!

Cheers,

-io

https://github.com/nvphysx/unrealengine/tree/VRWorks-Audio-4.15.1

I am using this engine, and have been trying to get VoiceCapture to pass the Soundwave so that it interfaces with the acoustic meshes. Can anyone help ?

I was able to fix the issue, and I made a video of it. Will double check the code tomorrow and upload to Github. Really excited to integrate this into multiplayer, to finally get physical acoustic ray traced voice chat.

Got it working, super excited. Now on to test it out in multiplayer.

Disable Engine VOIP and only use projected soundwave data from mic voice-capture acoustic-ray-traced in the game world!

If you look closeley at ur crash log, u will find error from line 96 at your mycharacter.cpp file , which is VoiceCaptureAudioComponent->SetSound(VoiceCaptureSoundWaveProcedural);

Try to work around it.

I found a workaround, adding the component at Runtime, rather than before hand - so after Event Begin Play I add the component to the character.

Stimuli were represented in memory as 32-bit integers so that the full dynamic range could be tested without risk of quantization distortion.

I will be updating the code to handle Voice Capture data in 32-bit integers, rather than the current 8-bit integers.

Will post video soon, hopefully tomorrow.

-io