Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoid extraneous temporaries when filling vectors | Chris Robinson | 2022-12-15 | 2 | -0/+5 |
| | |||||
* | Avoid manually specifying FFT template parameters | Chris Robinson | 2022-12-14 | 1 | -2/+2 |
| | |||||
* | Use the existing common FFT functions in makemhr | Chris Robinson | 2022-11-27 | 2 | -84/+16 |
| | |||||
* | Avoid nesting lambdas | Chris Robinson | 2022-10-24 | 1 | -42/+27 |
| | |||||
* | Don't pass null to fprintf | Chris Robinson | 2022-10-10 | 1 | -2/+2 |
| | |||||
* | Handle the delays specified in SOFA files | Chris Robinson | 2022-10-10 | 1 | -44/+55 |
| | |||||
* | Resample before frequency analysis | Chris Robinson | 2022-05-13 | 5 | -38/+92 |
| | | | | | | | | | | 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 include | Chris Robinson | 2021-02-16 | 1 | -0/+1 |
| | |||||
* | Avoid allocating for each HRIR reconstruction | Chris Robinson | 2020-08-14 | 1 | -9/+9 |
| | |||||
* | Simplify StrSubst in makemhr | Chris Robinson | 2020-08-13 | 1 | -36/+27 |
| | |||||
* | Improve handling main() with UTF-8 args on Windows | Chris Robinson | 2020-08-12 | 1 | -2/+0 |
| | |||||
* | Apply simulated HRIR occlusion in the frequency domain | Chris Robinson | 2020-06-21 | 1 | -50/+59 |
| | |||||
* | Synthesize missing elevations in the frequency domain | Chris Robinson | 2020-06-21 | 1 | -141/+147 |
| | | | | | | This should help avoid destructive phase interference. The occlusion low-pass filter is still applied in the time domain due to no clear topology (cutoff frequency, slope, bandwidth, etc). | ||||
* | Use multiple threads for magnitude calculations | Chris Robinson | 2020-06-19 | 3 | -46/+107 |
| | | | | Also allow user-declarable thread count. | ||||
* | Avoid blending multiple IRs for the -90 elevation IR | Chris Robinson | 2020-06-19 | 1 | -33/+27 |
| | |||||
* | Calculate the HRIR onsets and magnitudes separately from loading | Chris Robinson | 2020-06-17 | 1 | -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. | ||||
* | Add a makemhr option to use the farthest field only | Chris Robinson | 2020-06-17 | 1 | -8/+30 |
| | | | | | All fields are used for equalization, but only the farthest field is resampled, reconstructed, normalized, and written to the mhr. | ||||
* | Resample HRIRs after equalization | Chris Robinson | 2020-06-17 | 1 | -93/+93 |
| | |||||
* | Avoid reinitializing the resampler with each HRIR | Chris Robinson | 2020-06-17 | 1 | -10/+11 |
| | |||||
* | Resample HRTFs in the frequency domain in makemhr | Chris Robinson | 2020-06-17 | 1 | -29/+93 |
| | | | | | | | | | | | | This should produce far better results given it works directly on the frequency response magnitudes prior to phase reconstruction, as it doesn't deal with a linear phase filter on a truncated time-domain response (with the result also getting truncated in both direction). The in-library on-load HRTF resampler still uses the linear filter due to its relative performance and simplicity benefits. It's good enough as a backup, though users with custom HRTFs would benefit from resampling when creating the mhr (adjusting its window size as appropriate/desired). | ||||
* | Add missing <cstdarg> | ArthurSonzogni | 2020-04-10 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenAL-Soft fails to compile on some GCC version: https://travis-ci.com/github/ArthurSonzogni/smk/jobs/318304162 It has regressed likely after: https://github.com/kcat/openal-soft/commit/c83609277bed4be4ef40ed306bf2c57fefa19519 va_start is defined in: - <stdarg.h> - <cstdarg> The repository is using it from: - al/error.cpp - al/filter.cpp - alc/alu.cpp - alc/helpers.cpp - common/alexcpt.cpp - utils/makemhr/loaddef.cpp - utils/openal-info.c This patch is adding its definition in the files missing it: - common/alexcpt.cpp - utils/makemhr/loaddef.cpp - utils/openal-info.c Bug: https://travis-ci.com/github/ArthurSonzogni/smk/jobs/318304162 | ||||
* | Update the makemhr utility and default HRTF | Chris Robinson | 2020-02-11 | 1 | -17/+13 |
| | |||||
* | Scale delays when exceeding the max for generated mhr files | Chris Robinson | 2020-02-10 | 1 | -15/+35 |
| | |||||
* | Use the peak IR magnitude to get the onset | Chris Robinson | 2020-01-25 | 2 | -19/+7 |
| | | | | | | | | | | | | 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. | ||||
* | Fix MHR limits | Chris Robinson | 2019-12-11 | 1 | -7/+3 |
| | |||||
* | Move duplicate SOFA-related functions to a reusable library | Chris Robinson | 2019-12-11 | 1 | -244/+16 |
| | |||||
* | Simplify a status-checking loop | Chris Robinson | 2019-12-10 | 1 | -7/+6 |
| | |||||
* | Simplify a couple assignments | Chris Robinson | 2019-12-09 | 1 | -5/+3 |
| | |||||
* | Simplify a check | Chris Robinson | 2019-12-08 | 1 | -1/+1 |
| | |||||
* | Load SOFA HRIRs in a background thread | Chris Robinson | 2019-12-08 | 1 | -63/+79 |
| | |||||
* | Report the non-uniform elevations in sofa-info | Chris Robinson | 2019-12-08 | 1 | -14/+18 |
| | |||||
* | Report the number of IRs used from SOFA files | Chris Robinson | 2019-12-08 | 1 | -2/+9 |
| | |||||
* | Simplify some parameters | Chris Robinson | 2019-12-08 | 1 | -25/+23 |
| | |||||
* | Improve detection of compatible layouts in SOFA files | Chris Robinson | 2019-12-08 | 1 | -131/+137 |
| | |||||
* | Move the polyphase resampler to the common lib | Chris Robinson | 2019-11-28 | 4 | -250/+11 |
| | |||||
* | Limit the number of azimuths and elevations used in SOFA files | Chris Robinson | 2019-10-22 | 1 | -1/+9 |
| | |||||
* | Fix azimuth limit | Chris Robinson | 2019-10-22 | 2 | -4/+9 |
| | |||||
* | More consistently use doubles in makemhr and loadsofa | Chris Robinson | 2019-10-22 | 1 | -32/+37 |
| | |||||
* | Increase the max elevation and azimuth count for HRTFs | Chris Robinson | 2019-10-21 | 1 | -3/+3 |
| | |||||
* | Use istream for makemhr input | Chris Robinson | 2019-09-23 | 4 | -192/+198 |
| | |||||
* | Use our case-insensitive compare functions in makemhr | Chris Robinson | 2019-09-16 | 2 | -20/+22 |
| | |||||
* | Enable and fix more warnings | Chris Robinson | 2019-09-14 | 2 | -12/+7 |
| | |||||
* | Avoid implicit conversions with the examples and utils | Chris Robinson | 2019-09-12 | 1 | -1/+1 |
| | |||||
* | Avoid C-style casts in C++ | Chris Robinson | 2019-09-11 | 2 | -7/+7 |
| | |||||
* | Fix some implicit casts | Chris Robinson | 2019-09-11 | 2 | -34/+33 |
| | |||||
* | Clean up some more headers | Chris Robinson | 2019-07-28 | 1 | -23/+18 |
| | |||||
* | Properly include getopt.h | Chris Robinson | 2019-07-14 | 1 | -1/+1 |
| | |||||
* | Add missing header. | Penguin | 2019-07-14 | 1 | -0/+1 |
| | |||||
* | MSVC doesn't like parenthesized type initialization | Chris Robinson | 2019-07-13 | 1 | -11/+6 |
| | |||||
* | Simplify applying the field magnitude factor | Chris Robinson | 2019-03-27 | 1 | -2/+2 |
| |