Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/AmbisonicBinauralization.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ The configuration parameters are:
- **HRTFPath**: An optional path to the .SOFA file containing the HRTF. If no path is supplied and the `HAVE_MIT_HRTF` compiler flag is used then the MIT HRTF will be used.
- **lowCpuMode**: (Optional) If this is set to true (its default value) then the symmetric head assumption is used to reduce CPU used [[4]](#ref4).

> [!IMPORTANT]
> When libspatialaudios internal MIT HRTF is used instead of SOFA, binauralization
> will only work for 1st order ambisonic, not for HOA like 2nd or 3rd order.

### Decoding a Signal

A B-format signal can be decoded to the binaural signals using the `Process()` function. The processing is non-replacing, so the original B-format signal is unchanged and the decoded signal is contained in the output array.
Expand Down
5 changes: 5 additions & 0 deletions docs/RendererOverview.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ The configuration parameters are:
- **reproductionScreen**: (Optional) Reproduction screen details used for screen scaling/locking.
- **layoutPositions**: (Optional) Real polar positions for each of the loudspeaker in the layout. This is used if they do not exactly match the ITU specification. Note that they must be within the range allowed by the specification.

> [!IMPORTANT]
> When the renderer is configured for binaural output and the internal MIT HRTF
> is used instead of SOFA, the binauralization will only work for 1st order ambisonics,
> not for higher order ambisonics.

### AddObject

`AddObject()` should be called for every Object stream to be rendered. Its corresponding `ObjectMetadata` should be supplied with it.
Expand Down
15 changes: 11 additions & 4 deletions include/AmbisonicBinauralizer.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,17 @@ namespace spaudio {
public:
AmbisonicBinauralizer();

/** Re-create the object for the given configuration. Previous data is
* lost. The tailLength variable it updated with the number of taps
* used for the processing, and this can be used to offset the delay
* this causes. The function returns true if the call is successful.
/**
* Configure the ambisonic binauralizer
*
* Re-create the object for the given configuration. Previous data is
* lost. The tailLength variable it updated with the number of taps
* used for the processing, and this can be used to offset the delay
* this causes. The function returns true if the call is successful.
*
* @important
* When libspatialaudios internal MIT HRTF is used instead of SOFA, binauralization
* will only work for 1st order ambisonic, not for higher order ambisonics.
*
* @param nOrder The order of the signal to be processed.
* @param b3D Set to true if the signal to be processed is 3D. Must be true.
Expand Down
6 changes: 5 additions & 1 deletion include/Renderer.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@ namespace spaudio {
Renderer();
~Renderer();

/** Configure the ADM Renderer.
/** Configure the Renderer.
*
* @important
* When libspatialaudios internal MIT HRTF is used instead of SOFA, binauralization
* will only work for 1st order ambisonic, not for higher order ambisonics.
*
* @param outputTarget The target output layout.
* @param hoaOrder The ambisonic order of the signal to be rendered.
Expand Down
Loading