Chris Robinson
61e43d4039
Release 1.18.0
openal-soft-1.18.0
2017-06-04 07:31:22 -07:00
Chris Robinson
9222d89de2
Update ChangeLog about OpenSL capture support
2017-06-04 05:44:08 -07:00
Chris Robinson
e1dcfa4b9b
Update default 48khz HRTF dataset
2017-06-01 04:09:08 -07:00
Chris Robinson
1c04cbad04
Resample HRIRs prior to minimum phase reconstruction
2017-06-01 04:06:08 -07:00
Chris Robinson
f54946f9cb
Remove unused HIDDEN_DECL macro
2017-05-30 09:58:06 -07:00
Chris Robinson
e893211b65
Restrict ClampedDist to RefDistance for invalid distance attenuation
2017-05-30 05:13:54 -07:00
Chris Robinson
6d4adc6ad6
Use an RMS limit of -3dB for the output limiter
2017-05-29 03:38:27 -07:00
Chris Robinson
07bb5f1322
Add a missing include
2017-05-28 00:53:33 -07:00
Chris Robinson
a79e8f3d95
Use peak limiting rather than RMS detection
2017-05-27 22:47:40 -07:00
Chris Robinson
e9505b164e
Fix source sends' initial HF absorption and decay calculation
...
The HF absorption is applied given the source distance, as relative to the
source's immediate environment, with additional absorption being applied given
the room/reverb environment. This does double up the amount of absorption
compared to the dry path, but it can be assumed the initial reflections travel
a longer distance.
2017-05-27 22:33:40 -07:00
Chris Robinson
c51df897db
Use normal air absorption for the sends
...
Applies just for the normal air absorption which uses the air absorption
factor, not the automated decay applied when WetGainAuto is enabled.
2017-05-27 03:40:52 -07:00
Chris Robinson
c4ef7399f8
Add a new compressor/limiter
...
This is just for the output limiter right now, but in the future can be used
for the compressor EFX effect. The parameters are also hardcoded, but can be
made configurable after 1.18.
2017-05-27 03:36:34 -07:00
Chris Robinson
653f0a1405
Fix handling chorus and flanger LFO displacement offset
...
The phase offset is modulo-wrapped rather than masked, so it's best to avoid
negative offsets.
2017-05-26 09:09:35 -07:00
Chris Robinson
2b14c1d623
Properly handle the chorus and flanger LFOs
...
The effects' specified delay is the average delay time, meaning the delay
offset should move between -n and +n relative to the delay, where n <= delay.
2017-05-26 08:52:07 -07:00
Chris Robinson
59d016dfcd
Update ChangeLog about ALC_SOFT_output_limiter
2017-05-25 04:17:09 -07:00
Chris Robinson
db90dbe9f2
Finalize ALC_SOFT_output_limiter
2017-05-25 04:16:07 -07:00
Chris Robinson
9d4f601a8a
Apply distance compensation separately
2017-05-25 03:24:35 -07:00
Chris Robinson
c68a537ae8
Update ChangeLog for the limiter and dithering
2017-05-24 04:22:03 -07:00
Chris Robinson
2266fb76b9
Add a config option to specify custom ALSA devices
2017-05-23 18:12:45 -07:00
Chris Robinson
dd6c5270b6
Add a dithering option to alsoft-config
2017-05-23 01:12:49 -07:00
Chris Robinson
e6be113903
Add an option to dither 8- and 16-bit output
2017-05-23 00:35:22 -07:00
Chris Robinson
49e5c53591
Reduce the amount of variables that hold the same value
2017-05-21 03:47:52 -07:00
Chris Robinson
95ea3fdd05
Avoid calculating the filter coefficients multiple times
2017-05-21 03:38:19 -07:00
Chris Robinson
5691dceb38
Add a method to copy a filter's coefficients
2017-05-21 03:31:44 -07:00
Chris Robinson
edcdc1dae8
Avoid unnecessary doubles
2017-05-21 02:42:44 -07:00
Chris Robinson
0b2467ed54
Use a macro to specify the decay target gain
2017-05-21 00:01:39 -07:00
Chris Robinson
c234b25ac7
Use more correct doppler shift calculations
2017-05-20 03:28:40 -07:00
Chris Robinson
492050b816
Restore spec-defined cone behavior for auxiliary sends
2017-05-20 02:22:11 -07:00
Chris Robinson
a306407b67
Apply more proper air absorption to the wet path
...
This properly accounts for the room rolloff factor for normal air absorption
(which makes it none by default, like distance attenuation), and uses the
reverb's decay time, decay hf ratio, decay hf limit, and room air absorption
properties to calculate an initial hf decay with the WetGainAuto flag. This
mirrors the behavior of the initial distance decay.
2017-05-19 23:13:39 -07:00
Chris Robinson
efd797a6f6
Reorganize some code to have fewer temporaries
2017-05-17 22:49:34 -07:00
Chris Robinson
a49e2ebbc5
Add an env var to specify a default pulse device
...
Some apps don't allow selecting an audio device, and due to problems with KDE,
PulseAudio isn't allowed to move the stream after being created by default.
2017-05-16 16:50:43 -07:00
Chris Robinson
154e53b911
Reduce the main reverb filter gain limit to match the rest
2017-05-16 13:23:16 -07:00
Chris Robinson
98392fbe90
Limit the dry and wet path filter gains to -60dB
2017-05-15 17:20:09 -07:00
Chris Robinson
fecf26318a
Improve distance-related absorption and decay attenuation
2017-05-15 17:13:05 -07:00
Chris Robinson
2aa620e58f
Make reverb delay line structs use interleaved floats
2017-05-15 00:30:47 -07:00
Chris Robinson
b2760baa64
Make the reverb's early and late feedback lines interleaved
2017-05-14 23:28:22 -07:00
Chris Robinson
cc1b774837
Don't enable NFC for a 0 reference delay
2017-05-14 18:50:22 -07:00
Chris Robinson
232f05be93
Update ChangeLog for AL_SOFT_source_spatialize
2017-05-13 19:52:37 -07:00
Chris Robinson
7cbce6806b
Update a couple comments about the reverb modulation
2017-05-13 16:08:45 -07:00
Chris Robinson
0b66b2bbe7
Replace 4 separate all-passes with one vector all-pass
...
Each 4 related all-passes now share a structure with one delay line, which uses
an interleaved sample history. Also fixes some potential rounding problems for
delay lines with interleaved samples.
2017-05-13 15:45:05 -07:00
Chris Robinson
87d4710bc4
Apply reverb modulation to the late feedback lines
...
This seems to be more in-line with the intended behavior, to allow build-up and
overlap within the reverb decay, rather than a pitch-shift on input.
Unfortunately there's no readily available implementation of this reverb model
that includes modulation to compare with, so a low depth coefficient is used to
keep it very subtle.
2017-05-12 20:53:14 -07:00
Chris Robinson
d456c799fd
Remove the 0.5 gain on the reverb output
...
Turns out to be unnecessary, as it reduced the volume below what other reverb
implementations provide with the same presets.
2017-05-11 23:26:29 -07:00
Chris Robinson
685dc24299
Restore the previous reverb B2A and A2B matrices
...
Also, untranspose the A2B matrix.
2017-05-11 21:48:47 -07:00
Chris Robinson
ef58a8f205
Log whether the output limiter is enabled or disabled
2017-05-11 16:29:05 -07:00
Chris Robinson
748dfb1526
Finalize AL_SOFT_source_spatialize
2017-05-11 14:38:04 -07:00
Chris Robinson
a6f6533a28
Update ALC_OUTPUT_LIMITER_SOFT to handle ALC_DONT_CARE_SOFT
...
Essentially just adding a comment about it. Since we default to on, the
behavior already fit.
2017-05-11 11:04:25 -07:00
Chris Robinson
a2c25378a9
Reduce LIMITER_VALUE_MAX
...
The previous value couldn't actually be expressed as a float and got rounded up
to the next whole number value, leaving the potential for an overrun in the
squared sum.
2017-05-09 11:56:03 -07:00
Chris Robinson
4a4442ad91
Store the output limiter values as fixed-point integers
...
This helps keep the squared sum stable over larger updates, also avoiding the
need to keep recalculating it.
2017-05-08 16:23:16 -07:00
Chris Robinson
f880f67049
Update reverb conversion matrices and output gain
2017-05-08 13:57:31 -07:00
Chris Robinson
0dabe6398f
Apply attenuation when downmixing multi-channel sounds for panning
2017-05-07 18:28:43 -07:00