All Projects → jhoelzl → HRTF-Individualization

jhoelzl / HRTF-Individualization

Licence: other
Head-related Transfer Function Customization Process through Slider using PCA and SH in Matlab

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to HRTF-Individualization

Dimensionality-reduction-and-classification-on-Hyperspectral-Images-Using-Python
In this repository, You can find the files which implement dimensionality reduction on the hyperspectral image(Indian Pines) with classification.
Stars: ✭ 63 (+65.79%)
Mutual labels:  pca, principal-components
spaudiopy
Spatial Audio Python Package
Stars: ✭ 91 (+139.47%)
Mutual labels:  hrtf, spherical-harmonics
federated pca
Federated Principal Component Analysis Revisited!
Stars: ✭ 30 (-21.05%)
Mutual labels:  pca, principal-components
NMFADMM
A sparsity aware implementation of "Alternating Direction Method of Multipliers for Non-Negative Matrix Factorization with the Beta-Divergence" (ICASSP 2014).
Stars: ✭ 39 (+2.63%)
Mutual labels:  pca, principal-components
MachineLearning
โค้ดประกอบเนื้อหา Python Machine Learning เบื้องต้น [2020]
Stars: ✭ 28 (-26.32%)
Mutual labels:  pca
WaveProp in MATLAB
Single-file implementations of 2D and 3D acoustic and elastic wave propagation in time domain using finite-differences(FDTD). Simple formulation and implementation
Stars: ✭ 39 (+2.63%)
Mutual labels:  acoustic
supervised-random-projections
Python implementation of supervised PCA, supervised random projections, and their kernel counterparts.
Stars: ✭ 19 (-50%)
Mutual labels:  pca
SpatPCA
R Package: Regularized Principal Component Analysis for Spatial Data
Stars: ✭ 16 (-57.89%)
Mutual labels:  pca
dropClust
Version 2.1.0 released
Stars: ✭ 19 (-50%)
Mutual labels:  pca
binaural-audio-editor
This is an audio application that produces 3D binaural audio from 2D mono audio samples and positional information given by the graphical user interface. Listen to 3D audio through stereo headphones. Video Demo:https://www.youtube.com/watch?v=peF9cZSwVGw
Stars: ✭ 37 (-2.63%)
Mutual labels:  hrtf
pca
Principal component analysis (PCA) in Ruby
Stars: ✭ 25 (-34.21%)
Mutual labels:  pca
lin-im2im
Linear image-to-image translation
Stars: ✭ 39 (+2.63%)
Mutual labels:  pca
mnist-challenge
My solution to TUM's Machine Learning MNIST challenge 2016-2017 [winner]
Stars: ✭ 68 (+78.95%)
Mutual labels:  pca
VisualML
Interactive Visual Machine Learning Demos.
Stars: ✭ 104 (+173.68%)
Mutual labels:  pca
NIDS-Intrusion-Detection
Simple Implementation of Network Intrusion Detection System. KddCup'99 Data set is used for this project. kdd_cup_10_percent is used for training test. correct set is used for test. PCA is used for dimension reduction. SVM and KNN supervised algorithms are the classification algorithms of project. Accuracy : %83.5 For SVM , %80 For KNN
Stars: ✭ 45 (+18.42%)
Mutual labels:  pca
zAnalysis
zAnalysis是基于Pascal语言编写的大型统计学开源库
Stars: ✭ 52 (+36.84%)
Mutual labels:  pca
models-by-example
By-hand code for models and algorithms. An update to the 'Miscellaneous-R-Code' repo.
Stars: ✭ 43 (+13.16%)
Mutual labels:  pca
ml
经典机器学习算法的极简实现
Stars: ✭ 130 (+242.11%)
Mutual labels:  pca
deepsphere-cosmo-tf1
A spherical convolutional neural network for cosmology (TFv1).
Stars: ✭ 119 (+213.16%)
Mutual labels:  spherical-harmonics
Universal Head 3DMM
This is a Project Page of 'Towards a complete 3D morphable model of the human head'
Stars: ✭ 138 (+263.16%)
Mutual labels:  pca

HRTF Adaptation Tool in Matlab

This tool consists of a set of matlab functions and GUIs to provide an customization process of HRTFs using three open access HRTF databases.

Individual head-related transfer functions (HRTFs) can be used to generate virtual sound sources over headphones. According to the model of HRTF individualization using Principal Components (PCs), a Principal Component Weight (PCW) set is sought that when multiplied with a PC basis results in an HRTF set that yields good localization for a number of given directions of sound incidence. Although this is a promising model, the extent to which listeners can perform the individualization by hearing is debatable. The process requires adjustment for each location and PC of interest.

In this work, the feasibility of a local and global method is numerically evaluated by estimating the accuracy with which a given basis component can model HRTFs regarding different kinds of input data. The number of required adjustments for a given direction set is then reduced by decomposing the PCW of individual users upon a Spherical Harmonics Basis. Optimal spherical model parameters are sought, depending on the order and reconstruction accuracy. In a listening test, subjects were asked to identify changes in localization when weights of individual directions are automatically modified. This allows a deeper inside into the usability of each technique.

Requirements

  1. Matlab

  2. At least one of these open access HRTF databases:

  • ARI (Acoustics Research Institute) with 85 subjects and 1550 source positions
  • CIPIC (University of California at Davis) with 45 subjects and 1250 source positions
  • IRCAM (Institut de Recherche et Coordination Acoustique/Musique) with 50 subjects and 187 source positions

Please download these databases and copy the content into the directory db/.

Getting Started

  • Clone or download this repository: git clone https://github.com/jhoelzl/HRTF-Individualization.git
  • Add at least one of the HRTF databases listed above and extract the contents into db/database-name/. Alternatively you can use a custom HRTF database and add the import function in model/matlabcode/functions/core/database_import.m.
  • Adjust your active HRTF databases in model/matlabcode/config.xml
  • In Matlab add model/matlabcode to the search path (use addpath or go through menu settings)
  • Go to Matlab code directory: cd model/matlabcode
  • Run gui_model in Matlab. A graphical user interface like in the screenshot below should appear.

HRTF Model

HRTF Model GUI

Graphical User Interface

HRTF Model GUI

Mathematical Background

Principal Component Analaysis (PCA)

Principal Component Analysis is a robust statistical method for data representation. The technique projects an original dataset on an orthogonal subspace that is estimated by taking the covariance of the data into account. The technique can be used to unveil relationships between the independent variables in a dataset and in this way reduce a high-dimensional dataset into a more meaningful, low-dimensional space. It has been widely used in computer vision and pattern recognition to find relevant structure in data and neglect redundant information. Usually the input data is pre-processed and aligned prior PCA to increase the performance. The resulting model parameters can be calculated directly from the input data through Singular Value Decomposition (SVD). Through a linear combination of the new basis and their corresponding principal weights, the original dataset can be reconstructed with a controllable accuracy, because the orthogonal principal components are sorted according to their variance describing the original data.

Spherical Harmonic Decomposition (SH)

Spherical Harmonic Decomposition, primary intended for the modeling and approximation of continuous functions on the sphere, has also been applied to model HRTFs. As HRTF measurements occur for positions distributed on a sphere, or spherical sections, such an approach is inherently appropriate. The dataset is projected onto spherical basis functions of a desired order, whose weighted combination can be used for modeling or approximation purposes. In contrast to PCA, where the basis functions are computed from the dataset, the spherical harmonic functions are fixed and defined hierarchically.

Conclusion

Diploma Thesis

Project Thesis

Analytics

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].