Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Apply the all-pass separately from the upsampling mix | Chris Robinson | 2019-01-08 | 1 | -2/+2 |
| | |||||
* | Avoid macros for indexing HF and LF fequency bands | Chris Robinson | 2019-01-08 | 1 | -3/+5 |
| | |||||
* | Don't use the dual-band upsampler for basic ambisonic decoding | Chris Robinson | 2019-01-06 | 1 | -0/+2 |
| | |||||
* | Apply an all-pass on the existing output when upsampling ambisonics | Chris Robinson | 2019-01-06 | 1 | -3/+6 |
| | |||||
* | Revert back to using a band-splitter to increase the HF response | Chris Robinson | 2019-01-06 | 1 | -5/+10 |
| | | | | | | Unfortunately the shelf filter causes issues due to the shelf gain magnitude creating a varying phase offset. The splitter also creates phase offsets, but it's consistent regardless of gain. | ||||
* | Pass the normalized crossover frequency to the reset method | Chris Robinson | 2019-01-05 | 1 | -1/+1 |
| | |||||
* | Remove unnecessary structs and buffers | Chris Robinson | 2019-01-05 | 1 | -9/+3 |
| | |||||
* | Simplify MixParams and AmbiUpsampler | Chris Robinson | 2019-01-05 | 1 | -9/+3 |
| | | | | Since the dry buffer is always an ambisonic target now | ||||
* | Use BFormatDec for custom and built-in ambisonic decoding | Chris Robinson | 2019-01-05 | 1 | -1/+6 |
| | |||||
* | Enable simplified upsampling for AmbiUpsampler | Chris Robinson | 2019-01-05 | 1 | -1/+4 |
| | |||||
* | Simplify the BFormatDec upsampler | Chris Robinson | 2019-01-04 | 1 | -2/+2 |
| | | | | | | | Since the only difference applied is a scalar on the high-frequency response, a B-Format-to-B-Format transcode can be accomplished with a high-shelf filter. A similar thing can be done with AmbiUpsampler, but only when outputing to periphonic B-Format. | ||||
* | Avoid an intermediate mixing buffer | Chris Robinson | 2018-12-24 | 1 | -4/+2 |
| | |||||
* | Repack some AmbiUpsampler fields for better access patterns | Chris Robinson | 2018-12-23 | 1 | -4/+5 |
| | |||||
* | Use the AmbiUpsampler with higher order basic and custom panning | Chris Robinson | 2018-12-17 | 1 | -17/+0 |
| | | | | Also allocate the BFormatDec and AmbiUpsampler where they're (re)set. | ||||
* | Mix each frequency band individually for ambisonic upsampling | Chris Robinson | 2018-12-16 | 1 | -1/+1 |
| | |||||
* | Always use the transcode method with the AmbiUpsampler | Chris Robinson | 2018-12-16 | 1 | -1/+1 |
| | |||||
* | Avoid extraneous alignment requirements | Chris Robinson | 2018-12-16 | 1 | -2/+2 |
| | |||||
* | Put the ACN index map in a header | Chris Robinson | 2018-12-15 | 1 | -47/+0 |
| | | | | Also put it and the Ambisonic scales in a more appropriate header. | ||||
* | A bit more cleanup | Chris Robinson | 2018-12-10 | 1 | -3/+42 |
| | |||||
* | Avoid several uses of memset | Chris Robinson | 2018-12-08 | 1 | -2/+2 |
| | |||||
* | Use member functions for BFormatDec and AmbiUpsampler | Chris Robinson | 2018-12-08 | 1 | -29/+35 |
| | |||||
* | Clean up some more loops | Chris Robinson | 2018-12-08 | 1 | -1/+1 |
| | |||||
* | Use unique_ptr for BFormatDec and AmbiUpsampler | Chris Robinson | 2018-11-22 | 1 | -18/+49 |
| | |||||
* | Convert the BFormat decoder to C++ | Chris Robinson | 2018-11-03 | 1 | -3/+10 |
| | |||||
* | Replace restrict with RESTRICT | Chris Robinson | 2018-10-29 | 1 | -3/+3 |
| | |||||
* | Move the bnad-splitter filters to a separate source | Chris Robinson | 2018-04-21 | 1 | -34/+0 |
| | |||||
* | Avoid duplicating some scale tables | Chris Robinson | 2018-02-18 | 1 | -0/+8 |
| | |||||
* | Use an alternate ambisonic HRTF decode layout | Chris Robinson | 2018-02-13 | 1 | -2/+2 |
| | | | | | | Similar to the previous, but includes the top and bottom HRTF responses. The higher-order decode (for the "basic" HRTF output) also now uses 2H1P mixed- order instead of 2H1V, which seems more stable. | ||||
* | Make bformatdec_free and ambiup_free clear the freed pointer | Chris Robinson | 2018-02-12 | 1 | -2/+2 |
| | |||||
* | Clarify some macro names using ambisonic mixed-mode notation | Chris Robinson | 2018-02-09 | 1 | -8/+8 |
| | |||||
* | Replace some freq_mult variable names with f0norm | Chris Robinson | 2018-01-13 | 1 | -2/+2 |
| | | | | | | The latter is a bit more descriptive as f0 is often used to denote the reference frequency of a filter, so f0norm indicates the normalized reference frequency (ref_freq / sample_rate). | ||||
* | Add a front-stablizer config option for surround sound modes | Chris Robinson | 2017-07-31 | 1 | -0/+8 |
| | | | | | | | | | | | | This improves a stereo (front-left + front-right) sound "image" by generating a front-center channel signal. Done correctly, it helps reduce the comb effects and phase errors associated with using only two speakers to simulate center sounds. Note that it shouldn't be used if the front-center channel is already included in the positional audio mix (the dialog effect is okay). In general, it may actually be better to exclude the front-center channel from the positional audio mix and use this to generate front-center output. | ||||
* | Add an all-pass filter that replicates the band splitter's phase shift | Chris Robinson | 2017-07-19 | 1 | -0/+12 |
| | |||||
* | Remove an unneeded function | Chris Robinson | 2017-02-28 | 1 | -1/+0 |
| | |||||
* | Remove an unused function | Chris Robinson | 2017-02-23 | 1 | -1/+0 |
| | |||||
* | Remove an unused flag enum | Chris Robinson | 2017-02-20 | 1 | -3/+0 |
| | |||||
* | Apply distance compensation when writing to the output | Chris Robinson | 2017-02-19 | 1 | -1/+1 |
| | |||||
* | Don't use periphonic FOA when the HOA decoder is not periphonic | Chris Robinson | 2017-02-19 | 1 | -0/+1 |
| | |||||
* | Replace more ALuint with ALsizei | Chris Robinson | 2017-01-29 | 1 | -1/+1 |
| | |||||
* | Improve the ambisonic upscaling methods | Chris Robinson | 2017-01-24 | 1 | -0/+18 |
| | | | | | | | | This now takes advantage of the differences seen in generated decoder matrices for first-order compared to second- and third-order, such that with the appropriate frequency-dependent scaling applied to first-order content, the result is identical with a higher-order decoder matrix compared to a first- order matrix for the same layout. | ||||
* | More ALsizei, with the B-Format decoder | Chris Robinson | 2017-01-16 | 1 | -4/+4 |
| | |||||
* | Use ALsizei in a few more places | Chris Robinson | 2017-01-16 | 1 | -1/+1 |
| | |||||
* | Make some pointer-to-array parameters const | Chris Robinson | 2016-10-04 | 1 | -3/+3 |
| | |||||
* | Band-split the HRIRs when building the ambisonic decoder filters | Chris Robinson | 2016-08-21 | 1 | -0/+15 |
| | | | | | This allows each HRIR to contribute a frequency-dependent response, essentially acting like a dual-band decoder playing over the cube speaker array. | ||||
* | Add a stand-alone upsampler for higher-order ambisonic oputput | Chris Robinson | 2016-07-30 | 1 | -0/+10 |
| | |||||
* | Add a config option for distance compensation | Chris Robinson | 2016-03-26 | 1 | -1/+5 |
| | |||||
* | Up-sample first-order content when using a higher order HQ decoder | Chris Robinson | 2016-03-23 | 1 | -0/+5 |
| | |||||
* | Add a specific output for first-order sources | Chris Robinson | 2016-03-22 | 1 | -0/+1 |
| | |||||
* | Add a dual-band ambisonic decoder | Chris Robinson | 2016-03-15 | 1 | -0/+14 |
This uses a virtual B-Format buffer for mixing, and then uses a dual-band decoder for improved positional quality. This currently only works with first- order output since first-order input (from the AL_EXT_BFROMAT extension) would not sound correct when fed through a second- or third-order decoder. This also does not currently implement near-field compensation since near-field rendering effects are not implemented. |