| SAF
    | 
Internal source for the reverb processing module (SAF_REVERB_MODULE) More...
Go to the source code of this file.
| Functions | |
| void | ims_shoebox_echogramCreate (void **phEcho, int include_rt_vars) | 
| Creates an instance of an echogram container. | |
| void | ims_shoebox_echogramResize (void *hEcho, int numImageSources, int nChannels) | 
| Resizes an echogram container. | |
| void | ims_shoebox_echogramCopy (void *hEchoX, void *hEchoY) | 
| Copies echogram data from container 'X' into container 'Y' (also resizing 'Y' as needed) | |
| void | ims_shoebox_echogramDestroy (void **phEcho) | 
| Destroys an instance of an echogram container. | |
| void | ims_shoebox_coreWorkspaceCreate (void **phWork, int nBands) | 
| Creates an instance of the core workspace. | |
| void | ims_shoebox_coreWorkspaceDestroy (void **phWork) | 
| Destroys an instance of the core workspace. | |
| void | ims_shoebox_coreInitT (void *hWork, float room[3], ims_pos_xyz src, ims_pos_xyz rec, float maxTime_s, float c_ms) | 
| Calculates an echogram of a rectangular space using the image source method, for a specific source/reciever combination up to a maximum propagation time. | |
| void | ims_shoebox_coreInitN (void *hWork, float room[3], ims_pos_xyz src, ims_pos_xyz rec, int maxN, float c_ms) | 
| Calculates an echogram of a rectangular space using the image source method, for a specific source/reciever combination up to a maximum reflection order. | |
| void | ims_shoebox_coreRecModuleSH (void *hWork, int sh_order) | 
| Imposes spherical harmonic directivies onto the echogram computed with ims_shoebox_coreInit() for a specific source/reciever combination. | |
| void | ims_shoebox_coreAbsorptionModule (void *hWork, float **abs_wall) | 
| Applies boundary absoption per frequency band, onto the echogram computed with ims_shoebox_coreRecModuleSH() for a specific source/reciever combination. | |
| void | ims_shoebox_renderRIR (void *hWork, int fractionalDelayFLAG, float fs, float **H_filt, ims_rir *rir) | 
| Renders a room impulse response for a specific source/reciever combination. | |
Internal source for the reverb processing module (SAF_REVERB_MODULE)
A collection of reverb and room simulation algorithms.
Definition in file saf_reverb_internal.c.
| void ims_shoebox_coreAbsorptionModule | ( | void * | hWork, | 
| float ** | abs_wall ) | 
Applies boundary absoption per frequency band, onto the echogram computed with ims_shoebox_coreRecModuleSH() for a specific source/reciever combination.
Absorption coefficients are given for each of the walls on the respective planes [x+ y+ z+; x- y- z-].
| [in] | hWork | workspace handle | 
| [in] | abs_wall | Absorption coefficients; nBands x 6 | 
Definition at line 576 of file saf_reverb_internal.c.
| void ims_shoebox_coreInitN | ( | void * | hWork, | 
| float | room[3], | ||
| ims_pos_xyz | src, | ||
| ims_pos_xyz | rec, | ||
| int | maxN, | ||
| float | c_ms ) | 
Calculates an echogram of a rectangular space using the image source method, for a specific source/reciever combination up to a maximum reflection order.
| [in] | hWork | workspace handle | 
| [in] | room | Room dimensions, in meters | 
| [in] | src | Source position, in meters | 
| [in] | rec | Receiver position, in meters | 
| [in] | maxN | Maximum propagation time to compute the echogram, seconds | 
| [in] | c_ms | Speed of source, in meters per second | 
Definition at line 399 of file saf_reverb_internal.c.
| void ims_shoebox_coreInitT | ( | void * | hWork, | 
| float | room[3], | ||
| ims_pos_xyz | src, | ||
| ims_pos_xyz | rec, | ||
| float | maxTime, | ||
| float | c_ms ) | 
Calculates an echogram of a rectangular space using the image source method, for a specific source/reciever combination up to a maximum propagation time.
Note the coordinates of source/receiver are specified from the left ground corner of the room:
* * ^x * __|__ _ * | | | | * | | | | * y<----. | | l * | | | * | | | * o_____| - * * |-----| * w * *
| [in] | hWork | workspace handle | 
| [in] | room | Room dimensions, in meters | 
| [in] | src | Source position, in meters | 
| [in] | rec | Receiver position, in meters | 
| [in] | maxTime | Maximum propagation time to compute the echogram, seconds | 
| [in] | c_ms | Speed of source, in meters per second | 
Definition at line 269 of file saf_reverb_internal.c.
| void ims_shoebox_coreRecModuleSH | ( | void * | hWork, | 
| int | sh_order ) | 
Imposes spherical harmonic directivies onto the echogram computed with ims_shoebox_coreInit() for a specific source/reciever combination.
| [in] | hWork | workspace handle | 
| [in] | sh_order | Spherical harmonic order | 
Definition at line 523 of file saf_reverb_internal.c.
| void ims_shoebox_coreWorkspaceCreate | ( | void ** | phWork, | 
| int | nBands ) | 
Creates an instance of the core workspace.
The idea is that there is one core workspace instance per source/receiver combination.
| [in] | phWork | (&) address of the workspace handle | 
| [in] | nBands | Number of bands | 
Definition at line 173 of file saf_reverb_internal.c.
| void ims_shoebox_coreWorkspaceDestroy | ( | void ** | phWork | ) | 
Destroys an instance of the core workspace.
| [in] | phWork | (&) address of the workspace handle | 
Definition at line 224 of file saf_reverb_internal.c.
| void ims_shoebox_echogramCopy | ( | void * | hEchoX, | 
| void * | hEchoY ) | 
Copies echogram data from container 'X' into container 'Y' (also resizing 'Y' as needed)
| [in] | hEchoX | echogram container X | 
| [in] | hEchoY | echogram container Y | 
Definition at line 107 of file saf_reverb_internal.c.
| void ims_shoebox_echogramCreate | ( | void ** | phEcho, | 
| int | include_rt_vars ) | 
Creates an instance of an echogram container.
| [in] | phEcho | (&) address of the echogram container | 
| [in] | include_rt_vars | 1: optional run-time helper functions enabled, 0: disabled | 
Definition at line 36 of file saf_reverb_internal.c.
| void ims_shoebox_echogramDestroy | ( | void ** | phEcho | ) | 
Destroys an instance of an echogram container.
| [in] | phEcho | (&) address of the echogram container | 
Definition at line 138 of file saf_reverb_internal.c.
| void ims_shoebox_echogramResize | ( | void * | hEcho, | 
| int | numImageSources, | ||
| int | nChannels ) | 
Resizes an echogram container.
| [in] | hEcho | echogram container | 
| [in] | numImageSources | New number of image sources | 
| [in] | nChannels | New number of channels | 
Definition at line 70 of file saf_reverb_internal.c.
| void ims_shoebox_renderRIR | ( | void * | hWork, | 
| int | fractionalDelayFLAG, | ||
| float | fs, | ||
| float ** | H_filt, | ||
| ims_rir * | rir ) | 
Renders a room impulse response for a specific source/reciever combination.
| [in] | hWork | workspace handle | 
| [in] | fractionalDelayFLAG | 0: disabled, 1: use Lagrange interpolation | 
| [in] | fs | SampleRate, Hz | 
| [in] | H_filt | filterbank; nBands x (filterOrder+1) | 
| [out] | rir | Room impulse response | 
Definition at line 640 of file saf_reverb_internal.c.