aboutsummaryrefslogtreecommitdiffstats
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* Add the jack/connect-ports option to alsoft-configChris Robinson2020-08-052-1/+20
|
* Apply simulated HRIR occlusion in the frequency domainChris Robinson2020-06-211-50/+59
|
* Synthesize missing elevations in the frequency domainChris Robinson2020-06-211-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 calculationsChris Robinson2020-06-193-46/+107
| | | | Also allow user-declarable thread count.
* Avoid blending multiple IRs for the -90 elevation IRChris Robinson2020-06-191-33/+27
|
* 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.
* Add a makemhr option to use the farthest field onlyChris Robinson2020-06-171-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 equalizationChris Robinson2020-06-171-93/+93
|
* Avoid reinitializing the resampler with each HRIRChris Robinson2020-06-171-10/+11
|
* Resample HRTFs in the frequency domain in makemhrChris Robinson2020-06-171-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).
* Print the synthesized elevations' azimuth countsChris Robinson2020-06-161-2/+4
|
* Print why a sofa file couldn't be openedChris Robinson2020-05-211-1/+2
|
* Fix installing alsoft-configChris Robinson2020-04-151-1/+9
|
* Combine utility target installsChris Robinson2020-04-141-7/+0
|
* Add missing <cstdarg>ArthurSonzogni2020-04-102-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Require Qt5 for alsoft-configChris Robinson2020-04-051-49/+17
|
* Update the makemhr utility and default HRTFChris Robinson2020-02-111-17/+13
|
* Scale delays when exceeding the max for generated mhr filesChris Robinson2020-02-101-15/+35
|
* Use the peak IR magnitude to get the onsetChris Robinson2020-01-252-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 limitsChris Robinson2019-12-111-7/+3
|
* Move duplicate SOFA-related functions to a reusable libraryChris Robinson2019-12-114-510/+342
|
* Simplify a status-checking loopChris Robinson2019-12-101-7/+6
|
* Simplify a couple assignmentsChris Robinson2019-12-092-10/+6
|
* Simplify a checkChris Robinson2019-12-082-2/+2
|
* Load SOFA HRIRs in a background threadChris Robinson2019-12-081-63/+79
|
* Report the non-uniform elevations in sofa-infoChris Robinson2019-12-082-29/+46
|
* Report the number of IRs used from SOFA filesChris Robinson2019-12-081-2/+9
|
* Simplify some parametersChris Robinson2019-12-082-59/+49
|
* Improve detection of compatible layouts in SOFA filesChris Robinson2019-12-082-255/+279
|
* Update built-in HRTF name for alsoft-configChris Robinson2019-11-291-2/+1
|
* Move the polyphase resampler to the common libChris Robinson2019-11-284-250/+11
|
* Properly get the AppData path on Windows in alsoft-configChris Robinson2019-11-201-2/+21
|
* Limit HRTF ambisonic decoding to second-orderChris Robinson2019-11-091-5/+7
| | | | | | The generated third-order matrix has incorrect first-order coefficients, indicating a wonky decoder. The generated second-order matrix looks more stable.
* Adjust padding in alsoft-config and remove an invalid signalChris Robinson2019-10-271-76/+55
|
* Limit the number of azimuths and elevations used in SOFA filesChris Robinson2019-10-222-2/+18
|
* Fix azimuth limitChris Robinson2019-10-222-4/+9
|
* More consistently use doubles in makemhr and loadsofaChris Robinson2019-10-222-65/+75
|
* Increase the max elevation and azimuth count for HRTFsChris Robinson2019-10-211-3/+3
|
* Add "fast" variants for the bsinc resamplersChris Robinson2019-09-281-0/+2
| | | | | | This simply omits the scale factor from the filter, similar to how up-sampling does. The consequence of this is less smooth transitions when ramping the pitch while down-sampling, but otherwise behaves fine.
* Use istream for makemhr inputChris Robinson2019-09-234-192/+198
|
* Use a unique_ptr to auto-free MYSOFA_HRTFChris Robinson2019-09-231-47/+32
|
* Enable and fix some more warningsChris Robinson2019-09-181-2/+2
|
* Use our case-insensitive compare functions in makemhrChris Robinson2019-09-162-20/+22
|
* Fix a few more GCC warningsChris Robinson2019-09-141-1/+1
|
* Enable and fix more warningsChris Robinson2019-09-143-19/+10
|
* Avoid implicit conversions with the examples and utilsChris Robinson2019-09-122-2/+2
|
* Avoid C-style casts in C++Chris Robinson2019-09-113-8/+8
|
* Fix some implicit castsChris Robinson2019-09-113-35/+34
|
* Make hq-mode the default and update ambisonics.txtChris Robinson2019-09-081-2/+2
|
* Return a QString from GetVersionStringChris Robinson2019-08-313-4/+6
|