aboutsummaryrefslogtreecommitdiffstats
path: root/utils/makemhr/loadsofa.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Don't pass null to fprintfChris Robinson2022-10-101-2/+2
|
* Handle the delays specified in SOFA filesChris Robinson2022-10-101-44/+55
|
* Resample before frequency analysisChris Robinson2022-05-131-9/+33
| | | | | | | | | | We want to resample before minimum phase reconstruction since that changes the phase relationship of the sampled signal, introducing a slight bit of noise from truncated sampling. It's not clear that the frequency domain resampling method is accurate, so resampling prior to frequency analysis is an alternative to ensure the resulting frequencies are given the proper phase for sampling. This also cleans up some micro allocations in loops.
* Add missing includeChris Robinson2021-02-161-0/+1
|
* Use multiple threads for magnitude calculationsChris Robinson2020-06-191-30/+71
| | | | Also allow user-declarable thread count.
* Calculate the HRIR onsets and magnitudes separately from loadingChris Robinson2020-06-171-21/+82
| | | | | This should help improve memory use a bit since the SOFA file can be unloaded before allocating some temp buffers for onset detection and FFT calculation.
* Avoid reinitializing the resampler with each HRIRChris Robinson2020-06-171-10/+11
|
* Use the peak IR magnitude to get the onsetChris Robinson2020-01-251-7/+3
| | | | | | | | | | | | While maybe not technically correct, we actually only care about the difference between onsets (any base constant is removed). This should work better since it determines when the IR is most audible, whereas previously it used a variable threshold of when it reached 15% of the max amplitude. An even better method may be to check where the IR amplitude exceeds a fixed threshold (i.e. the same threshold applied to all IRs), but that would need tweaking to find a level that doesn't catch random noise and doesn't potentially miss the more occluded IRs.
* Move duplicate SOFA-related functions to a reusable libraryChris Robinson2019-12-111-244/+16
|
* Simplify a couple assignmentsChris Robinson2019-12-091-5/+3
|
* Simplify a checkChris Robinson2019-12-081-1/+1
|
* Load SOFA HRIRs in a background threadChris Robinson2019-12-081-63/+79
|
* Report the non-uniform elevations in sofa-infoChris Robinson2019-12-081-14/+18
|
* Report the number of IRs used from SOFA filesChris Robinson2019-12-081-2/+9
|
* Simplify some parametersChris Robinson2019-12-081-25/+23
|
* Improve detection of compatible layouts in SOFA filesChris Robinson2019-12-081-131/+137
|
* Move the polyphase resampler to the common libChris Robinson2019-11-281-3/+3
|
* Limit the number of azimuths and elevations used in SOFA filesChris Robinson2019-10-221-1/+9
|
* More consistently use doubles in makemhr and loadsofaChris Robinson2019-10-221-32/+37
|
* Use istream for makemhr inputChris Robinson2019-09-231-19/+22
|
* Enable and fix more warningsChris Robinson2019-09-141-7/+3
|
* Avoid implicit conversions with the examples and utilsChris Robinson2019-09-121-1/+1
|
* Avoid C-style casts in C++Chris Robinson2019-09-111-1/+1
|
* MSVC doesn't like parenthesized type initializationChris Robinson2019-07-131-11/+6
|
* Avoid recreating temporary buffers all the timeChris Robinson2019-03-261-68/+85
|
* Fix a return type for accumulationChris Robinson2019-03-261-1/+1
|
* Require IR dimensions from a SOFA fileChris Robinson2019-03-261-2/+2
|
* Avoid some explicit loopsChris Robinson2019-03-261-39/+30
|
* Support loading SOFA files directly with makemhrChris Robinson2019-03-251-0/+649
| | | | | | | This extracts the definition info it can from the SOFA, and uses the same logic as sofa-info to automatically detect an appropriate layout. There is a bit of code duplication from loaddef.cpp and sofa-info.cpp, though there are slight modifications.
* Move makemhr's .def loading code to a separate sourceChris Robinson2019-03-241-0/+4
|
* Rename makehrtf to makemhr and move it to a subdirectoryChris Robinson2019-03-241-0/+0