7296 Commits

Author SHA1 Message Date
Chris Robinson
bc91e4d302 Update the default HRTF 2020-06-19 15:44:20 -07:00
Chris Robinson
8780976979 Avoid blending multiple IRs for the -90 elevation IR 2020-06-19 15:28:22 -07:00
Chris Robinson
4cd0e333c8 Calculate the HRIR onsets and magnitudes separately from loading
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.
2020-06-17 17:15:26 -07:00
Chris Robinson
3f26ce4a82 Add a makemhr option to use the farthest field only
All fields are used for equalization, but only the farthest field is resampled,
reconstructed, normalized, and written to the mhr.
2020-06-17 16:25:40 -07:00
Chris Robinson
beba71a6f9 Resample HRIRs after equalization 2020-06-17 13:03:26 -07:00
Chris Robinson
4cfd63a1c7 Avoid reinitializing the resampler with each HRIR 2020-06-17 01:50:11 -07:00
Chris Robinson
cd6bb65d49 Resample HRTFs in the frequency domain in makemhr
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).
2020-06-17 01:15:01 -07:00
Chris Robinson
8ea7d5183b Print the synthesized elevations' azimuth counts 2020-06-16 17:33:26 -07:00
Chris Robinson
b0b720c609 Avoid an unnecessary local variable 2020-06-16 14:01:39 -07:00
Chris Robinson
bd0144065a Set channel labels from WFX channel masks 2020-06-15 20:21:54 -07:00
Chris Robinson
c142b49981 Print the name of unhandled PulseAudio channels 2020-06-15 14:07:21 -07:00
Chris Robinson
6db6d1510a Remove the Lower channel labels and rename the Upper labels 2020-06-15 13:49:45 -07:00
Chris Robinson
401a9bacd1 Don't bother with otherwise unused Aux channels 2020-06-15 02:27:29 -07:00
Chris Robinson
540315b07c Handle the front stablizer with the B-Format decoder 2020-06-15 02:13:14 -07:00
Chris Robinson
c951190d3a Fix a typo 2020-06-12 12:54:05 -07:00
Chris Robinson
6ce9bf6c94 Move a couple related functions to the backend base 2020-06-12 12:53:47 -07:00
Chris Robinson
26eccd159f Link with the CoreFoundation framework on iOS 2020-06-11 08:55:52 -07:00
Chris Robinson
ad9fc31bfd More capitalization fixes 2020-06-11 08:55:24 -07:00
Chris Robinson
df1bdc7bc4 Fix some capitalization 2020-06-11 07:56:45 -07:00
kcat
8fee1da426
Merge pull request #439 from halx99/patch-1
Enable to detect Windows SDK v2004
2020-06-11 07:55:53 -07:00
HALX99
3702dcb1d3
Enable to detect Windows SDK v2004 2020-06-11 22:39:47 +08:00
Chris Robinson
15437e3140 Don't export functions when static linking 2020-06-10 21:03:04 -07:00
Chris Robinson
c50250c978 Use a range-for loop instead of for_each 2020-06-09 21:28:09 -07:00
Chris Robinson
b2b3ad570b Use better types for array lengths 2020-06-09 11:52:48 -07:00
Chris Robinson
46eb353b84 Update changelog 2020-06-07 18:59:49 -07:00
Chris Robinson
b7b52ec28b Simplify the aligned over-allocation strategy 2020-06-07 15:40:04 -07:00
Chris Robinson
9322c86e2f Avoid explicit checks for _BitScanForward[64] 2020-06-07 14:15:48 -07:00
Chris Robinson
ab3ccb513a Check the returned sample endianess with sndio 2020-06-07 11:50:16 -07:00
Chris Robinson
2a324d34be Fix a return value 2020-06-07 11:47:39 -07:00
Chris Robinson
b4a52321c4 Use a safer layout if sndio changes the channel count 2020-06-07 11:45:06 -07:00
Chris Robinson
c8f67cffc5 Use a more appropriate size value for copying 2020-06-07 11:00:19 -07:00
Chris Robinson
03eb6a01b9 Use a better type for array access 2020-06-07 11:00:19 -07:00
kcat
4acfbfc37a
Merge pull request #435 from DanielGibson/sndio-more-channels
sndio: Support more than 2 channels
2020-06-07 10:59:54 -07:00
Daniel Gibson
5cffe7e50a sndio: Support more than 2 channels
So far the sndio backend only supports Mono and Stereo, but sndio
supports up to 16 channels (64 in their current git code).
This adds support for all the openal-soft formats (DevFmt*).
I tested this on Linux with 5.1 surround speakers.
2020-06-07 17:22:51 +02:00
Chris Robinson
70d345bbf2 Avoid convolving an always-0 sample 2020-05-30 16:29:23 -07:00
Chris Robinson
7a95a870be Clarify some changelog entries 2020-05-27 15:46:25 -07:00
Chris Robinson
f1612ce228 Use dual-biquad processing for the equalizer effect 2020-05-26 18:08:57 -07:00
Chris Robinson
9b63e2460c Update the Changelog 2020-05-26 14:13:02 -07:00
Chris Robinson
7b642330c5 Simplify UHJ delay handling 2020-05-26 12:19:19 -07:00
Chris Robinson
8d77c59da4 Fade over more of the update with HRTF 2020-05-25 16:57:38 -07:00
Chris Robinson
4e82feffef Only apply non-silent inputs for blended HRIR 2020-05-25 16:37:31 -07:00
Chris Robinson
5eb1ae5a14 Simplify the HRTF blending fade out gain scaling 2020-05-25 13:18:10 -07:00
Chris Robinson
4d9d406966 Clarify an error message 2020-05-25 02:02:50 -07:00
kcat
070ed0d5ac
Merge pull request #429 from jbeich/ci
Add FreeBSD to CI
2020-05-24 11:31:06 -07:00
Jan Beich
c262d0146e CI: add FreeBSD job 2020-05-24 13:12:18 +00:00
Chris Robinson
1a287f434a Round the pitch shifter frequency bin targets 2020-05-22 16:36:41 -07:00
Chris Robinson
978f32acf7 Round the scaled HRTF delays 2020-05-21 17:59:15 -07:00
Chris Robinson
109875942c Slightly increase the HRTF direct delay
To help improve the phase-corrected HF scaler.
2020-05-21 15:25:03 -07:00
Chris Robinson
94105409f8 Print why a sofa file couldn't be opened 2020-05-21 13:51:48 -07:00
Chris Robinson
da3dfa2fb0 Simplify handling the stablizer side channel delay 2020-05-21 13:48:50 -07:00