Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't hardcode the max channels for HRTF B-Format decoding | Chris Robinson | 2018-05-26 | 1 | -1/+0 |
| | |||||
* | Add a function to calculate coefficients from X, Y, Z components | Chris Robinson | 2018-05-17 | 1 | -6/+3 |
| | |||||
* | Use more accurate elevations for virtual HRTF speaker positions | Chris Robinson | 2018-05-14 | 1 | -8/+8 |
| | |||||
* | Pass in the number of channels per order to InitNearFieldCtrl | Chris Robinson | 2018-05-01 | 1 | -26/+14 |
| | |||||
* | Move the bnad-splitter filters to a separate source | Chris Robinson | 2018-04-21 | 1 | -0/+1 |
| | |||||
* | Adjust the stereo panning front gain | Chris Robinson | 2018-04-19 | 1 | -2/+2 |
| | | | | This gives it a (more) precise -4.5dB gain drop for front-center panned sounds. | ||||
* | Don't minimize the HRTF per-response delay | Chris Robinson | 2018-04-16 | 1 | -2/+2 |
| | | | | | | The reverts both fa9ab9af7cb559ff9ecc1846f2996265bfbea1ec and 79604c3c0e0f3f71832a09348cc273a38882cc3e. As helpful as it was for the high frequencies, the overall response's gain suffered. | ||||
* | Limit the near-field control distance to 10m. | Chris Robinson | 2018-03-31 | 1 | -2/+2 |
| | |||||
* | Fix HRTF HOA coefficients | Chris Robinson | 2018-03-31 | 1 | -21/+37 |
| | | | | | | ACN8 was accidentally put on ACN7. However, rather than adding the missing channel of silence, set up the coefficient map to only use the ambisonic channels that can contribute to output. | ||||
* | Reduce the gain of front-panned sounds with plain stereo | Chris Robinson | 2018-03-25 | 1 | -2/+2 |
| | | | | | | Now front-center sounds are attenuated by roughly -4.5dB instead of -3dB. This will help keep rear-panned sounds from attenuating too much while not making front-panned also attenuate too much. | ||||
* | Avoid multiple GetChannelIdxByName calls | Chris Robinson | 2018-02-21 | 1 | -18/+20 |
| | |||||
* | Use a proper struct for specifying angular points | Chris Robinson | 2018-02-18 | 1 | -1/+1 |
| | |||||
* | Remove the unnecessary ComputeAmbientGains | Chris Robinson | 2018-02-18 | 1 | -26/+0 |
| | |||||
* | Preserve RMS for the high-frequency HRTF ambisonic coefficients | Chris Robinson | 2018-02-18 | 1 | -2/+2 |
| | |||||
* | Remove an unnecessary comment about if meters_per_unit is > 0 | Chris Robinson | 2018-02-18 | 1 | -3/+2 |
| | |||||
* | Avoid duplicating some scale tables | Chris Robinson | 2018-02-18 | 1 | -46/+2 |
| | |||||
* | Use an alternate ambisonic HRTF decode layout | Chris Robinson | 2018-02-13 | 1 | -48/+67 |
| | | | | | | 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 | -16/+8 |
| | |||||
* | Use an alternate virtual layout for Ambisonic HRTF decoding | Chris Robinson | 2018-02-10 | 1 | -42/+63 |
| | | | | | This uses 16 channels, an 8-channel octagon + 8-channel cube, which should improve horizontal resolution without affecting vertical too much. | ||||
* | Clarify some macro names using ambisonic mixed-mode notation | Chris Robinson | 2018-02-09 | 1 | -12/+12 |
| | |||||
* | Fix up some types for MSVC | Chris Robinson | 2018-01-11 | 1 | -1/+1 |
| | |||||
* | Move the config function declarations to their own header | Chris Robinson | 2018-01-11 | 1 | -0/+1 |
| | | | | And rename alcConfig.c to alconfig.c for consistency. | ||||
* | Avoid using macros to access anonymous structures | Chris Robinson | 2018-01-11 | 1 | -13/+16 |
| | |||||
* | Enable NFC filters for HRTF | Chris Robinson | 2017-10-23 | 1 | -0/+2 |
| | | | | Only applies to the Ambisonic mix (basic HRTF rendering, or B-Format buffers). | ||||
* | Add a front-stablizer config option for surround sound modes | Chris Robinson | 2017-07-31 | 1 | -0/+40 |
| | | | | | | | | | | | | 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. | ||||
* | Don't bother returning the IR length for B-Format decoding | Chris Robinson | 2017-07-31 | 1 | -3/+2 |
| | |||||
* | Print an error if the input channel isn't in the device | Chris Robinson | 2017-07-31 | 1 | -22/+16 |
| | | | | Rather than the other way around, if a device channel isn't in the channel map. | ||||
* | Update default 5.1 and 6.1 coefficients to exclude front-center | Chris Robinson | 2017-07-30 | 1 | -15/+12 |
| | | | | | | | Not all speaker kits have a front-center speaker capable of outputing full- range content. It's best to err on the side of caution and not include front- center for normal positional sound by default, leaving it instead for the dedicated dialog effect. | ||||
* | Scale the source volume by +3dB for a full spread | Chris Robinson | 2017-07-18 | 1 | -6/+7 |
| | | | | | This effectively turns a full spread source into an ambient response, preventing such sources from being unexpectedly quiet. | ||||
* | Round the B-Format HRTF response where the multiple is defined | Chris Robinson | 2017-06-16 | 1 | -3/+0 |
| | |||||
* | Don't enable NFC for a 0 reference delay | Chris Robinson | 2017-05-14 | 1 | -1/+1 |
| | |||||
* | Correctly enable the ambisonic upsampler for HOA output | Chris Robinson | 2017-04-21 | 1 | -1/+1 |
| | |||||
* | Check for the upsampler to determine if HRTF uses HOA | Chris Robinson | 2017-04-18 | 1 | -15/+12 |
| | |||||
* | Use a different way to get the size of structs with flexible array members | Chris Robinson | 2017-04-18 | 1 | -3/+1 |
| | |||||
* | Store the ambisonic order separate from the channel enum | Chris Robinson | 2017-04-12 | 1 | -19/+12 |
| | |||||
* | Don't explicitly restore the old HRTF when initializing panning | Chris Robinson | 2017-04-07 | 1 | -12/+0 |
| | | | | Otherwise it won't store the name in the device. | ||||
* | Clean up a comment | Chris Robinson | 2017-04-07 | 1 | -1/+1 |
| | |||||
* | Reference count HRTFs and unload them when unused | Chris Robinson | 2017-04-06 | 1 | -2/+30 |
| | |||||
* | Load HRTF files as needed | Chris Robinson | 2017-04-05 | 1 | -4/+4 |
| | | | | | Currently only applies to external files, rather than embedded datasets. Also, HRTFs aren't unloaded after being loaded, until library shutdown. | ||||
* | Store the loaded hrtf entry container in the enumerated hrtf entry | Chris Robinson | 2017-04-05 | 1 | -6/+8 |
| | |||||
* | Rename al_string_* functions to alstr_* | Chris Robinson | 2017-04-04 | 1 | -24/+24 |
| | |||||
* | Allocate as many channels for DirectHrtfState as needed | Chris Robinson | 2017-03-11 | 1 | -4/+5 |
| | |||||
* | Dynamically allocate the device's HRTF state | Chris Robinson | 2017-03-10 | 1 | -26/+29 |
| | |||||
* | Implement NFC filters for Ambisonic rendering | Chris Robinson | 2017-03-10 | 1 | -61/+111 |
| | | | | | | | | | | | | | | NFC filters currently only work when rendering to ambisonic buffers, which includes HQ rendering and ambisonic output. There are two new config options: 'decoder/nfc' (default on) enables or disables use of NFC filters globally, and 'decoder/nfc-ref-delay' (default 0) specifies the reference delay parameter for NFC-HOA rendering with ambisonic output (a value of 0 disables NFC). Currently, NFC filters rely on having an appropriate value set for AL_METERS_PER_UNIT to get the correct scaling. HQ rendering uses the averaged speaker distances as a control/reference, and currently doesn't correct for individual speaker distances (if the speakers are all equidistant, this is fine, otherwise per-speaker correction should be done as well). | ||||
* | Dynamically allocate the channel delay buffers | Chris Robinson | 2017-02-28 | 1 | -0/+16 |
| | |||||
* | Remove an unneeded function | Chris Robinson | 2017-02-28 | 1 | -1/+1 |
| | |||||
* | Use separate enums for the ambisonic channel order and normalization | Chris Robinson | 2017-02-27 | 1 | -4/+4 |
| | |||||
* | Remove CalcXYZCoeffs and inline CalcAngleCoeffs | Chris Robinson | 2017-02-23 | 1 | -11/+1 |
| | |||||
* | Alter how panpot/pair-wise panning works | Chris Robinson | 2017-02-23 | 1 | -4/+12 |
| | | | | | | | | | | | | | | | | | | | This change allows pair-wise panning to mostly go through the normal ambisonic panning methods, with one special-case. First, a term is added to the stereo decoder matrix's X coefficient so that a centered sound is reduced by -3dB on each output channel. Panning in front creates a similar gain response to the typical L = sqrt(1-pan) R = sqrt(pan) for pan = [0,1]. Panning behind the listener can reduce (up to) an additional -10dB, creating a audible difference between front and back sounds as if simulating head obstruction. Secondly, as a special-case, the source positions are warped when calculating the ambisonic coefficients so that full left panning is reached at -30 degrees and full right at +30 degrees. This is to retain the expected 60-degree stereo width. This warping does not apply to B-Format buffer input, although it otherwise has the same gain responses. | ||||
* | Rename stereo-panning option to stereo-encoding | Chris Robinson | 2017-02-22 | 1 | -7/+7 |
| | | | | Also rename the 'paired' value to 'panpot', and make it the default. |