Commit Graph

6708 Commits

Author SHA1 Message Date
Chris Robinson 9559f7bfc2 Update the second-order decoder for HRTF
This uses fewer virtual speakers to help with clarity. The fewer speakers used
for the response, the less destructive phase interference there should be.
2019-11-30 18:42:04 -08:00
Chris Robinson fcf03705e6 Clear the resampler after use 2019-11-29 18:19:01 -08:00
Chris Robinson 1a4a3764d1 Update built-in HRTF name for alsoft-config 2019-11-29 14:54:29 -08:00
Chris Robinson a8d06c0731 Store HRTF delays with some fractional precision
Since the delays get bilinearly filtered before use, maintaining a bit of extra
precision can help accuracy even if it ultimately gets rounded to the nearest
integer before use. This should help with resampled HRTFs, which need to scale
the delays that are already rounded, and can also be leveraged by an updated
MHR format.
2019-11-29 14:01:39 -08:00
Chris Robinson 2453f4ec14 Avoid a shadow declaration warning 2019-11-29 08:41:20 -08:00
Chris Robinson 7ff165b095 Use unsigned for array indices 2019-11-29 08:33:46 -08:00
Chris Robinson 34edd3a914 Fix sorting of loaded HRTFs 2019-11-29 06:19:06 -08:00
Chris Robinson 7b3f88c430 Avoid extraneous looping 2019-11-29 05:52:33 -08:00
Chris Robinson e80256e394 Remove an unnecessary alias 2019-11-28 16:17:00 -08:00
Chris Robinson b310e09f59 Rename the default HRTF 2019-11-28 15:48:07 -08:00
Chris Robinson 6069eef94d Also scale the HRTF delays for different rates 2019-11-28 14:53:13 -08:00
Chris Robinson 846a997956 Add an option to limit the HRTF's IR size 2019-11-28 14:51:45 -08:00
Chris Robinson 4eb9a0b835 Don't keep a resampled default HRTF 2019-11-28 12:57:42 -08:00
Chris Robinson f6105cbff0 Resample HRIRs when loading 2019-11-28 12:33:26 -08:00
Chris Robinson c093728ced Move the polyphase resampler to the common lib 2019-11-28 10:54:47 -08:00
Chris Robinson 576adf06b1 Store HRIR coefficients using HrirArray 2019-11-28 09:46:16 -08:00
Chris Robinson 925e6e979c Rework HRTF enuemration so the loaded HRTFs are separate 2019-11-28 08:24:29 -08:00
Chris Robinson 1e93fba6d0 Rename HrtfEntry to HrtfStore 2019-11-28 06:10:36 -08:00
Chris Robinson c0cf323e1d Release 1.20.0 openal-soft-1.20.0 2019-11-28 00:45:08 -08:00
Chris Robinson 39e3484dbe Update ChangeLog 2019-11-22 22:47:36 -08:00
Chris Robinson eb8922596a Apply the full HRIR length for the B-Format decoder 2019-11-21 23:55:10 -08:00
Chris Robinson 2fd8c619b3 Rename a couple struct fields 2019-11-21 02:58:35 -08:00
Chris Robinson 7bc4a27900 Allocate storage for full HRTF coefficient lengths 2019-11-21 02:43:34 -08:00
Chris Robinson f2eab3e919 Properly get the AppData path on Windows in alsoft-config 2019-11-20 14:22:04 -08:00
Chris Robinson 6159b837cf Add a first-order ambisonic decoder for HRTF 2019-11-18 00:32:01 -08:00
Chris Robinson c86a28af5c Simplify some pi statements 2019-11-16 14:33:09 -08:00
Chris Robinson 6ad252efda Use wrappers to distinguish elevation and azimuth values 2019-11-16 14:07:31 -08:00
Chris Robinson d120e1464f Improve precision of the HRTF ambisonic decoder matrix 2019-11-13 08:39:27 -08:00
Chris Robinson 0ad512dd51 Clear the whole response HRIR before blending 2019-11-10 21:56:19 -08:00
Chris Robinson 74cbba511d Limit HRTF ambisonic decoding to second-order
The generated third-order matrix has incorrect first-order coefficients,
indicating a wonky decoder. The generated second-order matrix looks more
stable.
2019-11-09 13:04:44 -08:00
kcat 89938b95cf Merge pull request #356 from Raulshc/modulator_fix
EFX: Modulator fix
2019-11-09 06:58:29 -08:00
Raulshc c5f88ab59f EFX: Add explicit cast to a square function
MSVC 2015 and above returns the expression according to its datatype.
In this case, returns 4294967295 instead of -1.
2019-11-09 12:12:53 +01:00
Chris Robinson d2608e4bde Avoid holding HRTF accumulation samples per-source
It notably simplifies things to mix HRTF sources into an accumulation buffer
together, which the Dry buffer's Ambisonic-to-HRTF decode is then added to,
before being mixed to the Real output.
2019-11-03 00:30:33 -07:00
Chris Robinson 2741a94e58 Use rotate to reorder the default list entry 2019-10-28 23:47:30 -07:00
Chris Robinson d37a294d4c Add a config option for custom ALSA capture devices 2019-10-27 19:20:26 -07:00
Chris Robinson 205ff0080e Adjust padding in alsoft-config and remove an invalid signal 2019-10-27 18:02:25 -07:00
Chris Robinson 101afb1ee4 Convert HRTF field distances to meters when creating storage 2019-10-27 15:50:59 -07:00
Chris Robinson 697da8724f Avoid an extraneous macro and use a simplified type alias 2019-10-27 00:47:33 -07:00
Chris Robinson cac4072781 Change a few more really small gain values to 0 2019-10-26 19:57:17 -07:00
Chris Robinson 0cba99ed1b Avoid static constexpr for arrays iterated over at run-time 2019-10-25 01:43:23 -07:00
Chris Robinson 5ac1f19241 Don't dereference the end iterator 2019-10-24 21:58:35 -07:00
Chris Robinson 48347f62b5 Don't trace twice for a new HRTF data file 2019-10-24 15:28:28 -07:00
Chris Robinson f0977e5cc9 Print the found file entries after sorting 2019-10-24 15:10:37 -07:00
Chris Robinson 7bed2fe7cc Report the real ambisonic order set for HRTF rendering 2019-10-24 14:33:43 -07:00
Chris Robinson f40e69f9e3 Use a 26-point Lebedev grid for the HRTF ambisonic decode 2019-10-23 23:36:02 -07:00
Chris Robinson 0dfdebdf6d Limit the number of azimuths and elevations used in SOFA files 2019-10-22 16:30:07 -07:00
Chris Robinson 4733fc6f1e Fix azimuth limit 2019-10-22 15:23:17 -07:00
Chris Robinson a8a3acb6f6 More consistently use doubles in makemhr and loadsofa 2019-10-22 15:22:37 -07:00
Chris Robinson fcde56e1fc Increase the max elevation and azimuth count for HRTFs 2019-10-21 11:30:39 -07:00
Chris Robinson f58167e72d More sanely handle the voice state when mixing 2019-10-14 20:45:23 -07:00