Giter Site home page Giter Site logo

3dtune-in / 3dti_audiotoolkit Goto Github PK

View Code? Open in Web Editor NEW
210.0 210.0 44.0 218.49 MB

3D Tune-In Toolkit is a custom open-source C++ library developed within the EU-funded project 3D Tune-In. The Toolkit provides a high level of realism and immersiveness within binaural 3D audio simulations, while allowing for the emulation of hearing aid devices and of different typologies of hearing loss.

License: GNU General Public License v3.0

C++ 99.71% C 0.21% HTML 0.07%

3dti_audiotoolkit's People

Contributors

ardgzrivero avatar areyesl avatar dgonzalezt avatar ernestodelarubia avatar fabianarr avatar franmorauma avatar lmtanco avatar lpicinali avatar mariacuevas avatar michaelkrzyzaniak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

3dti_audiotoolkit's Issues

Cannot make Reverberation with BRIR working

Hey 3DTune-In team,
I'm currently trying to use your library to spatialize the sound of a mosquito (for a Brain-Computer Interface experiment).

I need to use the BRIR files to have a good externalisation of the sound but i can't get it to work.
The sound is distorded : it works for .1sec then nothing for .1sec then work for .1sc...

I tried it with the provided example but the same problem is there. (Sample rate 44100Hz, all buffer size with the provided WAV/HRTF/BRIR files)

Is there a way to make it work?
And is the source code for the 3D Tune-In Toolkit Test app available?

Thank you

Why not LGPL?

Hello, I'm building an MIT licensed open source XR social platform and I'm wanting to contribute all the effort back to the Godot asset library for others to use in their games.

I found this library and have been very excited to get started working with it, but I have a concern. My project aims to allow users to export XR games made within our ecosystem as standalone binaries at some point, which would mean that our users would not be able to sell their games and this could likely lead to some interesting legal issues if we used 3dti audio toolkit.

Would it be possible to re-license 3dti audio toolkit as LGPL instead of GPL so it may be compatible with a wider range of project types?

Problem setting Frame Sizes

There is a problem when setting large frame sizes. Setting time increases exponentially as the frame size increases, taking several minutes in some cases

I can't make reverberation work

Hi 3DTI Team,
As you showed in the example, I've done the audio anechoic spatialization. But when I tryed to follow your example to add reverb, It generated some noise, i don't know why. I work on the juce platform, there is my code in audio loop:
Common::CEarPair<CMonoBuffer<float>> bufferReverb; bufferReverb.left.resize(_bufferSize); bufferReverb.right.resize(_bufferSize); environment->ProcessVirtualAmbisonicReverb(bufferReverb.left,bufferReverb.right);
best wish!
maggie

HRIR losses due to rounding

In HRTF.cpp, void CHRTF::AddHRIR (float azimuth, float elevation, THRIRStruct && newHRIR), line 66, there is a problem when rounding Azimuth and Elevation.
Captura

Using some databases, such as "H3_48K_24bit_256tap_FIR_SOFA.sofa", whose azimuth has some decimal data, cause an error using emplace.

For example:
Captura
the data 75 and 91 have same elevation(-81) but different azimuth(12.8 and 13.3). When rounding, this two azimuth will be the same (13). So, using emplace the first time will place the data in { 13, -81} , but the second time it will see there is already data in that position and descard it.

compilation instructions

Does the toolkit come with compilation instructions/tools or are we expected to configure our own build systems?

3DTI software does not work after Windows installation

I have installed the software on Windows 10 without any error, but when I try to run it a terminal window appears and disappear after one second.

The content of the terminal is:

[verbose] App built date: Oct 20 2020 | time: 15:17:54

[verbose]
List of devices availables:

ID: 0 Name: Realtek ASIO

[verbose] Device selected : ID: 0 Name: Realtek ASIO.

[verbose] HL Setup Simulator postponed until activation
[verbose] nearDistanceILD Near Field Effect simulation file NearFieldCompensation_ILD_44100.3dti-ild has been loaded successfully.
[verbose] nearDistanceILD Spatialization simulation file HRTF_ILD_44100.3dti-ild has been loaded successfully

Any idea about what is the problem or what am I doing wrong?

Ear-blasting clipping is in dire need of a limiter/normalizer

I've lost count of the amount of jump scares I've had with this app, due to how obscenely loud it can get with barely any sort of safeguards like a limiter/normalizer to prevent clipping.
DirectSound mode seems to apply a soft limiter but still clipping and pops can be heard, but ASIO? It'd break the sound barrier and my eardrums if I let it.
The Calibration option doesn't seem to do anything either (nothing plays and even when setting system volume to 1, the audio can still easily clip)
It happens if the sound clip is too loud, if its volume slider isn't low enough (sometimes not even the lowest is enough), if it's too close or even when using certain HRTF SOFA files at any point that's not way outside the circle.

image

This happens way too often, and I can't help but think there's something I'm missing because I can't be the first one to point out the elephant in the room or if it's related to Windows, ASIO or something more specific to my case. But even if there is a crucial step, there should a clear warning in the app because someone who's none the wiser could hit play with their headphones on full blast and get a free ticket to Tinnitus or hear the real thing without the need of a simulation 😅

real time question

When I was doing brir processing, 20 seconds of audio processing took 30 minutes, which could not be processed in real time but your test app could be processed in real time, why?

Update required

The test.app doesn't open and I get the notification that the software needs an update. I am trying to install it on a mac.

Test application crashes when playing with multiple sources and convolutional reverb

Actions to crash:

  • Open a second source
  • Play both
  • Disable convolutional reverb
  • Stop one of the sources
  • Enable convolutional reverb again ---> crash

It seems that when reverb is disabled, ir remembers that two sources were being included in the reverb. Then, when it is enabled again, only one is active and that seems to create a conflct.

More specifically, the problem occurs when two sources are loaded and one of them is stopped. The loop in CEnvironment::ProcessVirtualAmbisonicReverbThreedimensional() iterates through all sources, not only those being played.

In Environment.cpp, line 1032, it is checked if every source has updated the buffer. When a source is stopped, it doesn't update the buffer, but this control prevents the crash. However, when the reverb is switched on, in the first frame, this control fails and the app crashes

Loading one of the supplied .wav Files

Hello 3DTI Team,
I just installed your toolkit and I'm realy looking forward to use it in an application I'm working at the moment. To test your toolkit I frist wanted to write a simple program witch loads one of the supplied wav files and spatialize it.

I tryed to follow your example but I don't know at which point I have to load the raw data. I assume I have to load it into some buffer in the CSingleSourceDSP Class but I couldn't find a method for that.

I would appreciate it if you could give me a quick example how I load one of the wav-files and spatialize it with your tool.

Have a nice week

cmake build example

Hi,

I need to use a binaural audio library for android. Would be awesome if you could make a build example for android using cmake :)

3DTI-Test Reaper session crash on load Windows 10 64-bit

Hi,

I just tried to install the 3DTI VST for Windows and downloaded the reaper examples but each time I try to launch the .rpp file, Reaper crash.
I tried to open a new project and loaded the 3DTI Spatialisation VST which also lead to an instant crash.

I gave a look a the videos demos, it's very interesting and the binaural rendering is really convincing (Beyerdynamics DT990), bravo!
Pierre

Pro Tools VST

Hello
I don't seem to be able to see the VST plugins in Pro Tools. I can see them in Reaper and Resolve. Any ideas?

Toolkit crashing (but no logs?)

Every time after I open the program, after about 5 minutes, it crashes for no apparent reason. Here's what I see in my terminal:

$ BiTA  
[verbose] App built date: Oct 20 2020 | time: 10:17:13

[verbose] 
List of devices availables: 

ID: 3 Name: Alder Lake PCH-P High Definition Audio Controller HDMI / DisplayPort 1 Output
ID: 4 Name: Alder Lake PCH-P High Definition Audio Controller HDMI / DisplayPort 2 Output
ID: 5 Name: Alder Lake PCH-P High Definition Audio Controller HDMI / DisplayPort 3 Output


[verbose] Device selected : ID: 3  Name: Alder Lake PCH-P High Definition Audio Controller HDMI / DisplayPort 1 Output.

[verbose] HL Setup Simulator postponed until activation
[verbose] nearDistanceILD Near Field Effect simulation file NearFieldCompensation_ILD_44100.3dti-ild has been loaded successfully.
[verbose] nearDistanceILD Spatialization simulation file HRTF_ILD_44100.3dti-ild has been loaded successfully
[verbose] HRTF loaded from SOFA file ../../../../../usr/bin/BiTA-dir/data/./HRTF/SOFA/3DTI_HRTF_D2_256s_44100Hz.sofa with length 256

[verbose] BRIR loaded from SOFA file ../../../../../usr/bin/BiTA-dir/data/./BRIR/SOFA/3DTI_BRIR_Trapezoid_44100Hz_3D.sofa with length 39700

[verbose] Starting HL Setup, this may take a while..... BUFFER SIZE: 512
[verbose] HL Setup finished
[verbose] OpenDialog: User selected a file: 
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
[warning] ofRtAudioSoundStream: stream over/underflow detected
zsh: killed     BiTA

I get the zsh: killed message with no information as to why the program was killed. Where can I look?
I assumed that the over/underflow messages were benign but they may not be. I am using pipewire-jack for realtime audio control.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.