hrtf

Head-Related Transfer Function (HRTF) audio signal processor.

Latest version: 0.8.1 registry icon
Maintenance score
0
Safety score
0
Popularity score
72
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
0.8.1 0 0 0 0 0
0.8.0 0 0 0 0 0
0.7.0 0 0 0 0 0
0.6.0 0 0 0 0 0
0.5.0 0 0 0 0 0
0.4.0 0 0 0 0 0
0.3.0 0 0 0 0 0
0.2.0 0 0 0 0 0
0.1.0 0 0 0 0 0

Stability
Latest release:

0.8.1 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant



Head-Related Transfer Function (HRTF) audio signal processor.

Overview

HRTF stands for Head-Related Transfer Function and can work only with spatial sounds. For each of such sound source after it was processed by HRTF you can definitely tell from which location sound came from. In other words HRTF improves perception of sound to the level of real life.

HRIR Spheres

This crate uses Head-Related Impulse Response (HRIR) spheres to create HRTF spheres. HRTF sphere is a set of points in 3D space which are connected into a mesh forming triangulated sphere. Each point contains spectrum for left and right ears which will be used to modify samples from each spatial sound source to create binaural sound. HRIR spheres can be found here. HRIR spheres from the base are recorded in 44100 Hz sample rate, this crate performs automatic resampling to your sample rate.

Performance

HRTF is heavy, this is essential because HRTF requires some heavy math (fast Fourier transform, convolution, etc.) and lots of memory copying.

Known problems

This renderer still suffers from small audible clicks in very fast moving sounds, clicks sounds more like "buzzing" - it is due the fact that hrtf is different from frame to frame which gives "bumps" in amplitude of signal because of phase shift each impulse response have. This can be fixed by short cross fade between small amount of samples from previous frame with same amount of frames of current as proposed in here

Clicks can be reproduced by using clean sine wave of 440 Hz on some source moving around listener.

Algorithm

This crate uses overlap-save convolution to perform operations in frequency domain. Check this link for more info.