Chris Robinson
3894c580bf
Use just the omnidirectional response for the compressor effect
...
This is not the output compressor/limiter, but the EFX effect. Consequently, it
simply compresses the dynamic range around 1.0 (boosting samples below it by up
to double, reducing samples above it by as much as half). This is not intended
to prevent clipping on the output, but to instead reduce the range between
quiet sounds and loud sounds.
2018-07-29 00:18:46 -07:00
Chris Robinson
8ab448b119
Inline the autowah peaking filter processing
2018-07-28 14:03:28 -07:00
Chris Robinson
39a5d0cb94
Mark a couple parameters as unused
2018-07-25 13:15:47 -07:00
Raulshc
7d68eeac88
EFX: Enable 3D processing
...
Use channel 0 envelope for calculate the frequency in all channels.
2018-07-25 12:51:09 -07:00
Raulshc
92fd59fe6a
EFX: Add 3D processing for autowah
...
Add 3D processing code. It can be activated at compilation time.
2018-07-25 12:51:09 -07:00
Raulshc
83dba26ea6
EFX: Autowah implementation
...
Add autowah effect using biquad peaking filter and envelope follower
2018-07-25 12:51:09 -07:00
Chris Robinson
809f709ba6
Limit the normalized filter frequency to under half
...
Nearing half, weird things can start happening with the filters' generated sine
and cosine values.
2018-07-21 14:22:52 -07:00
Chris Robinson
6fe1ffa3bb
Improve handling of 0hz ring modulator frequency
2018-07-21 14:21:00 -07:00
Chris Robinson
ed1f1d2bf3
Start an extension to allow source filter gains greater than 1
2018-07-15 21:01:26 -07:00
Tobias Kortkamp
e2d7c5dfb3
Prefer sndio over OSS when both are enabled
...
Signed-off-by: Tobias Kortkamp <tobik@FreeBSD.org>
2018-06-22 14:36:33 +02:00
Chris Robinson
73e08e51ba
Properly get the full executable and pathname on FreeBSD
2018-06-08 19:49:13 -07:00
Chris Robinson
fd1458ce1b
Always prepare the ALSA PCM handle before starting capture
...
Draining the ALSA device via stopping puts it into a setup state, which
requires re-preparing before playback can start again. Preparing it prior to
the first start seems to cause no harm, so just always do it before starting.
2018-06-08 05:02:47 -07:00
kdhp
35b78d55a4
Stop capture devices while closing
...
In 'alcCaptureCloseDevice', check if the capture device is
running and stop it if necessary.
This fixes the case where the device data is deallocated while
a background thread is still running (Issue #199 )
2018-06-08 01:42:13 +00:00
Chris Robinson
72e4b60374
Clamp the maximum normalized reference frequency too
2018-06-03 01:52:05 -07:00
Chris Robinson
48b265e136
Use a higher normalized frequency limit for the ring modulator
2018-06-02 00:02:14 -07:00
Chris Robinson
7865ebb6d5
Use the biquad high-pass in the ring modulator
2018-05-31 22:21:00 -07:00
Chris Robinson
f765099503
Slightly simplify the modulator square wave generator
2018-05-31 19:43:02 -07:00
Raulshc
1bba276aaf
EFX: Ring modulator fixes
...
Change from unipolar to bipolar carrier signal in the Ring modulator effect.
2018-05-31 15:47:47 +02:00
Chris Robinson
0b7f35b289
Avoid extra sample copies and storage in the modulator effect
2018-05-29 22:55:21 -07:00
Chris Robinson
46c59f382f
Use fastf2i instead of manual rounding in another place
2018-05-29 22:49:45 -07:00
Chris Robinson
a5edf487dd
Use a macro to handle common case formatting
2018-05-27 01:03:18 -07:00
Chris Robinson
728dd5a4e0
Avoid setting unnecessary variables
2018-05-26 20:43:05 -07:00
Chris Robinson
ec84a107a4
Don't hardcode the max channels for HRTF B-Format decoding
2018-05-26 00:26:11 -07:00
Chris Robinson
803d331711
Improve formatting of the hilbert function
2018-05-24 00:16:50 -07:00
Chris Robinson
422cf429e6
Clamp the dither depth between 2 and 20 bits
2018-05-23 19:49:49 -07:00
Chris Robinson
93de5350b9
Add some LIKELY and ASSUME statements
2018-05-23 19:22:21 -07:00
Chris Robinson
9bf3ee722c
Fix a function comment about a return value
2018-05-23 06:10:09 -07:00
Chris Robinson
1782208fde
Remove unused function
2018-05-23 05:58:06 -07:00
Chris Robinson
c2a4a35c2e
Use a tighter loop to handle the frequency shifter's fifo
2018-05-22 07:28:53 -07:00
Chris Robinson
f3d4220cab
Use fixed point for the frequency shifter's phase
2018-05-22 07:02:14 -07:00
Chris Robinson
8219bb374d
Fix a couple property variable names
2018-05-22 06:19:59 -07:00
Chris Robinson
80df89d0db
Improve the frequency shifter output accum handling
2018-05-22 06:12:55 -07:00
Chris Robinson
ecdc58c1c9
Fix formatting and line endings
2018-05-22 05:59:03 -07:00
kcat
da63b4a596
Merge pull request #193 from Raulshc/Frequency-shifter
...
EFX: Frequency shifter
2018-05-22 04:44:50 -07:00
Chris Robinson
4e315353c8
Add a method to queue multiple buffer layers onto a source
2018-05-21 23:25:56 -07:00
Chris Robinson
a235259b5e
Further clarify a comment about float precision
2018-05-21 06:16:03 -07:00
Raulshc
d3a81f4f28
EFX: Frequency Shifter implementation
...
Add frequency shifter effect using discrete Hilbert transform. Only mono signal processing by now (LEFT_DIRECTION).
2018-05-20 17:23:03 +02:00
Chris Robinson
7501c8b483
Simplify counting for the bsinc FIR loop
2018-05-19 08:18:08 -07:00
Chris Robinson
5e7513d0a0
Accumulate ambisonic upsampler gains using double-precision
2018-05-18 18:59:27 -07:00
Chris Robinson
0cd375f03c
Add a function to calculate coefficients from X, Y, Z components
2018-05-17 03:52:40 -07:00
Chris Robinson
588a6bcb4f
Simplify counting for SIMD MixRow functions
2018-05-15 23:14:23 -07:00
Chris Robinson
72e39ba1c9
Fix a function comment
2018-05-15 22:11:10 -07:00
Chris Robinson
6534aa0c27
Undefine the correct macros
2018-05-15 21:46:22 -07:00
Chris Robinson
2b9064cb6e
Move the ALcomplex and FFT functions to a separate file
2018-05-15 18:31:41 -07:00
Chris Robinson
197e88cdcc
Avoid using unsigned values for signed
2018-05-15 01:20:39 -07:00
Chris Robinson
4ee04cd444
Use a step counter for gain stepping
...
This should provide more stable stepping, preventing floating-point errors from
accumulating on each step/sample.
2018-05-14 23:41:29 -07:00
Chris Robinson
43dccc8807
Add a faster double-to-int converter for x87 builds
2018-05-14 18:00:43 -07:00
Chris Robinson
df9faba689
Use more accurate elevations for virtual HRTF speaker positions
2018-05-14 05:28:06 -07:00
Chris Robinson
dd055fc858
Use fastf2i instead of manually rounding with float2int
2018-05-12 21:36:23 -07:00
Chris Robinson
e787a241c0
Add and use a method for fast float rounding
...
Unlike fastf2i, this keeps the result as a float instead of converting to
integer.
2018-05-12 00:52:09 -07:00