|< we use the STL vector, map, and string classes |
|Typically CGestalt::blockSize() (or use a block resizer). |
|name of file list file |
|where are the HRTFs under the CSL_Data folder? |
|What's the default HRTF folder under data? |
|#define||cmac(in1, in2, out)|
|typedef vector< HRTF * >||csl::HRTFVector|
|#define HRTF_BLOCK_SIZE CGestalt::blockSize()|
Typically CGestalt::blockSize() (or use a block resizer).
BinauralDB.h -- Specification of the HRTF file format and database This is the CSL 5 version that uses the FFT wrapper framework
Classes HRTF: holds the data that corresponds to an HRTF for a single position as a stereo pair of multi-block arrays of complex spectra. HRTFDatabase: vector of HRTFs; implemented as a Singleton because it's large. Has a vector of HRTFs and can access them by position -- hrtfAt(CPoint) -- or by index -- hrtfAt(unsigned). Create it with a folder/resource name, it reads "files.txt" for a list of HRIR files to load. This has a number of file/folder/DB IO methods for load/store of bulk HRTF data sets in IRCAM format and CSL's pre-processed HRTF.dat files.
The companion file has the classes BinauralPanner: place sources in 3D using block-wise convolution with an HRTF; best heard over headphones . BinauralSourceCache: used for caching previous state of spatial sources.
See the copyright notice and acknowledgment of authors in the file COPYRIGHT Created by Jorge Castellanos on 7/19/06. Inspired by and partially based on the VST HRTF Plug-in written by Ryan Avery. Rewritten for FFT wrappers and pluggable sound file APIs in 8/09 by STP.
Interpolation of HRTFs. Currently the closest HRTF is being used.
geometry is a cr-separated list of 2 integers per line of the azim/elev in degrees of the points; empty line ends list.
Header is followed by the blocks of complex, blocked HRTF complex vectors 16 blocks/set, each has 513 complex values for L and R = 8 * 2 * 513 * 16 = 131 kB / HRTF * 188 = 24.6 MB / DB
Trailer is "\nHRTF\n" The methods storeToDB() and loadFromDB() implement this format.
|#define FLIST_NAME "files.txt"|
name of file list file
Referenced by csl::HRTFDatabase::loadFromFolder().
|#define DEFAULT_HRTF_FOLDER "IRCAM_HRTF/"|
where are the HRTFs under the CSL_Data folder?
Referenced by csl::HRTFDatabase::Database().
|#define HRTF_RESOURCE "IRC_1047_R"|
What's the default HRTF folder under data?
out += in1 * in2 - in1 * in2; \ out += in1 * in2 + in1 * in2;