Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add an option to alsoft-config for EAX API support | Chris Robinson | 2022-04-26 | 2 | -1/+29 |
| | |||||
* | Print the output mode from openal-info | Chris Robinson | 2022-04-17 | 1 | -0/+29 |
| | |||||
* | Fix the UHJ decoder parameters in uhjdecoder | Chris Robinson | 2022-03-02 | 1 | -5/+5 |
| | |||||
* | Use a more compatible method to check for EFX effects | Chris Robinson | 2022-02-26 | 1 | -41/+68 |
| | | | | | | Creative's wrapper driver doesn't seem to handle EFX enums for alGetEnumValue, let alone return values only for what's supported. The only way to check which filter and effect types it supports is try to set them and check for errors. | ||||
* | Add options to encode 3- and 4-channel UHJ to uhjencoder | Chris Robinson | 2022-02-04 | 1 | -19/+71 |
| | | | | | | | The generated files won't play correctly if the player doesn't know they're 3- and 4-channel UHJ (the third and fourth channels must be ignored, or decoded, for playback). This is largely just for completion's sake, just in case someone has a use for it. | ||||
* | Rename Sqrt1_2 for consistency | Chris Robinson | 2022-02-01 | 1 | -2/+2 |
| | |||||
* | Remove math_defs.h | Chris Robinson | 2022-01-27 | 1 | -47/+48 |
| | |||||
* | Get rid of MathDefs | Chris Robinson | 2022-01-27 | 1 | -1/+2 |
| | |||||
* | Add an ambi-format option for ACN ordering and FuMa scaling | Chris Robinson | 2022-01-12 | 1 | -1/+2 |
| | |||||
* | Use the deprecated enum for older Qt versions | Chris Robinson | 2022-01-06 | 1 | -0/+4 |
| | |||||
* | Avoid a deprecated QString enum | Chris Robinson | 2022-01-05 | 1 | -1/+1 |
| | |||||
* | Add a third-order ambisonic decoder for HRTF | Chris Robinson | 2022-01-05 | 1 | -5/+4 |
| | | | | | Using the 20-channel dodecahedron, seems to be good enough to handle 16-channel third-order ambisonics. | ||||
* | Add the PipeWire config option to alsoft-config | Chris Robinson | 2021-12-25 | 2 | -0/+33 |
| | |||||
* | Slight update to the UHJ coefficients | Chris Robinson | 2021-11-28 | 2 | -34/+34 |
| | | | | | | | The extended precision of the encoder's 0.6512*X term was guesswork, with no real basis for it. Switch back to the original value until something better actually comes up. Also updates the decoder to account for the change in the encoder. | ||||
* | Recognize PipeWire in alsoft-config | Chris Robinson | 2021-11-26 | 1 | -0/+3 |
| | |||||
* | Slightly improve logging on Windows | Chris Robinson | 2021-11-21 | 1 | -64/+5 |
| | | | | | The characters won't display properly if the system codepage isn't UTF-8, but at least it shouldn't cut the line off prematurely. | ||||
* | Update alsoft-config | Chris Robinson | 2021-11-11 | 2 | -17/+49 |
| | |||||
* | Remove some lingering mentions of surround51rear | Chris Robinson | 2021-10-21 | 1 | -2/+3 |
| | |||||
* | Use a higher quality all-pass for the UHJ utils | Chris Robinson | 2021-07-30 | 2 | -8/+17 |
| | |||||
* | Add a utility to encode audio files to UHJ | Chris Robinson | 2021-07-09 | 1 | -0/+454 |
| | |||||
* | Fix UHJ encoding/decoding factors | Chris Robinson | 2021-04-11 | 1 | -1/+3 |
| | | | | | | | | | | | Classic B-Format uses scaling factors W=1, X=sqrt(2), Y=sqrt(2), and Z=sqrt(2), which is +3dB louder than FuMa. The base factors are designed assuming classic scaling, so encoding a 0dBFS FuMa signal without accounting for this would result in the UHJ signal peaking at about -3dBFS. Similarly, decoding UHJ to FuMa B-Format would be +3dB louder than intended. So encoding needs to implicitly boost the signal by +3dB, and decoding needs to attenuate by -3dB. | ||||
* | Remove some unnecessary includes | Chris Robinson | 2021-03-28 | 1 | -6/+0 |
| | |||||
* | Move the UHJ phase shifter to a common header | Chris Robinson | 2021-03-28 | 1 | -196/+31 |
| | |||||
* | Add an option to change the UHJ decoder method | Chris Robinson | 2021-03-26 | 1 | -27/+50 |
| | | | | | | | | | | | | For 2-channel UHJ, two decoding equations are provided in the original paper. The alternative one is most often referenced for 2-channel UHJ decoding, but the original/general one can also be used by assuming T is fully attenuated (which the format allows for, as T can be variably attenuated by a factor between 0 and 1 to deal with an imperfect transmission medium). Neither method can be perfect for 2-channel UHJ, it's irrevocably lossy to the original source, but my subjective testing indicates the general equation produces less audibly errant results. | ||||
* | Fix a comment typo | Chris Robinson | 2021-03-24 | 1 | -2/+2 |
| | |||||
* | Update the UHJ decoding coefficients | Chris Robinson | 2021-03-24 | 1 | -60/+66 |
| | |||||
* | Add support for decoding 3- and 4-channel UHJ audio | Chris Robinson | 2021-03-21 | 1 | -32/+185 |
| | | | | | | | There are no known file formats intended to support 3- and 4-channel UHJ, but it is possible to store them in various audio files when a player/decoder is aware of what it's dealing with. So there's no reason not to have it as an option. | ||||
* | Don't assume two input channels in uhjdecoder | Chris Robinson | 2021-03-21 | 1 | -1/+1 |
| | |||||
* | Add a utility to decode UHJ sound files to AMB | Chris Robinson | 2021-03-21 | 1 | -0/+515 |
| | | | | | | Currently only supports 2-channel UHJ, and the produced .amb files shouldn't be played as normal B-Format (decoded 2-channel UHJ needs to use different shelf filters). | ||||
* | Add missing include | Chris Robinson | 2021-02-16 | 1 | -0/+1 |
| | |||||
* | Avoid a deprecated function | Chris Robinson | 2020-11-13 | 1 | -10/+10 |
| | |||||
* | Print the number of used measurements in sofa-info | Chris Robinson | 2020-10-07 | 1 | -1/+9 |
| | |||||
* | Avoid using a deprecated function | Chris Robinson | 2020-08-31 | 1 | -4/+3 |
| | |||||
* | Avoid allocating for each HRIR reconstruction | Chris Robinson | 2020-08-14 | 1 | -9/+9 |
| | |||||
* | Simplify StrSubst in makemhr | Chris Robinson | 2020-08-13 | 1 | -36/+27 |
| | |||||
* | Improve handling main() with UTF-8 args on Windows | Chris Robinson | 2020-08-12 | 3 | -5/+4 |
| | |||||
* | Add the jack/connect-ports option to alsoft-config | Chris Robinson | 2020-08-05 | 2 | -1/+20 |
| | |||||
* | Apply simulated HRIR occlusion in the frequency domain | Chris Robinson | 2020-06-21 | 1 | -50/+59 |
| | |||||
* | Synthesize missing elevations in the frequency domain | Chris Robinson | 2020-06-21 | 1 | -141/+147 |
| | | | | | | This should help avoid destructive phase interference. The occlusion low-pass filter is still applied in the time domain due to no clear topology (cutoff frequency, slope, bandwidth, etc). | ||||
* | Use multiple threads for magnitude calculations | Chris Robinson | 2020-06-19 | 3 | -46/+107 |
| | | | | Also allow user-declarable thread count. | ||||
* | Avoid blending multiple IRs for the -90 elevation IR | Chris Robinson | 2020-06-19 | 1 | -33/+27 |
| | |||||
* | Calculate the HRIR onsets and magnitudes separately from loading | Chris Robinson | 2020-06-17 | 1 | -21/+82 |
| | | | | | This should help improve memory use a bit since the SOFA file can be unloaded before allocating some temp buffers for onset detection and FFT calculation. | ||||
* | Add a makemhr option to use the farthest field only | Chris Robinson | 2020-06-17 | 1 | -8/+30 |
| | | | | | All fields are used for equalization, but only the farthest field is resampled, reconstructed, normalized, and written to the mhr. | ||||
* | Resample HRIRs after equalization | Chris Robinson | 2020-06-17 | 1 | -93/+93 |
| | |||||
* | Avoid reinitializing the resampler with each HRIR | Chris Robinson | 2020-06-17 | 1 | -10/+11 |
| | |||||
* | Resample HRTFs in the frequency domain in makemhr | Chris Robinson | 2020-06-17 | 1 | -29/+93 |
| | | | | | | | | | | | | This should produce far better results given it works directly on the frequency response magnitudes prior to phase reconstruction, as it doesn't deal with a linear phase filter on a truncated time-domain response (with the result also getting truncated in both direction). The in-library on-load HRTF resampler still uses the linear filter due to its relative performance and simplicity benefits. It's good enough as a backup, though users with custom HRTFs would benefit from resampling when creating the mhr (adjusting its window size as appropriate/desired). | ||||
* | Print the synthesized elevations' azimuth counts | Chris Robinson | 2020-06-16 | 1 | -2/+4 |
| | |||||
* | Print why a sofa file couldn't be opened | Chris Robinson | 2020-05-21 | 1 | -1/+2 |
| | |||||
* | Fix installing alsoft-config | Chris Robinson | 2020-04-15 | 1 | -1/+9 |
| | |||||
* | Combine utility target installs | Chris Robinson | 2020-04-14 | 1 | -7/+0 |
| |