HRTF-Individualization

授权协议 Readme
开发语言
所属分类 应用工具、 科研计算工具
软件类型 开源软件
地区 不详
投 递 者 牧业
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 generatevirtual sound sources over headphones. According to the model ofHRTF individualization using Principal Components (PCs), a PrincipalComponent Weight (PCW) set is sought that when multiplied with a PCbasis results in an HRTF set that yields good localization for a number ofgiven directions of sound incidence. Although this is a promising model,the extent to which listeners can perform the individualization by hearingis debatable. The process requires adjustment for each location and PCof interest.

In this work, the feasibility of a local and global method isnumerically evaluated by estimating the accuracy with which a given basiscomponent can model HRTFs regarding different kinds of input data. Thenumber of required adjustments for a given direction set is then reducedby decomposing the PCW of individual users upon a Spherical HarmonicsBasis. Optimal spherical model parameters are sought, depending on theorder and reconstruction accuracy. In a listening test, subjects were askedto identify changes in localization when weights of individual directionsare automatically modified. This allows a deeper inside into the usabilityof 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

  •        HRTF:是一种音效定位算法,它的实际作用在于欺骗我们的耳朵。简单说这就是个头部反应传送函数(Head-Response Transfer Function)。要具体点呢,可以分成几个主要的步骤来描述其功用。 第一步:制作一个头部模型并安装一支麦克风到耳膜的位置; 第二步:从固定的位置发出一些声音; 第三步:分析从麦克风中得到声音并得出被模型所改变的具体数据; 第四步:设计一个音频过