Wave Arts VQE 1.00
Voice Quality Enhancement
VQE parameter structure. More...
|sample synchronization parameters |
|AEC algorithm. |
|union of AEC parameters |
|number of FIFO buffers to accept before primed |
|number buf times to allow buffer over/underrun |
|cache latency, else measure every time if false |
|has auto-gain? |
|auto-gain parameters |
|has declip? |
|declip parameters |
|produce MATLAB data dump for analysis |
|produce WAV dump files |
|dump AEC impulse response |
|input file before aec (raw recording) |
|input file after aec (error, or echo-cancelled result) |
|output file before aec (far signal) |
|output file after aec (sent to speaker) |
|directory for dumping files including '/' terminator |
VQE parameter structure.
The VQEParam structure is passed to VQE on creation. At creation time you must specify various DSP parameters, namely the echo cancellation algorithm and its parameters, whether VQE will implement auto-gain and de-clipping functions, and any debugging parameters. Some of the algorithms have limited runtime control; in particular it is possible to enable/disable the echo canceller, the auto-gain, and the declipper.
The static method WaVQE::GetDefaultParam initializes the VQEParam to sensible defaults. Currently this selects the AEC algorithm set up with a tail length of 192 msec at 8 kHz, or 96 msec at 16 kHz, and the speaker compensation mode of AEC_SPKR_DESKTOP for medium desktop speakers. See AecParam for more information on specific Aec parameters.
The default VQEParam also selects no sample rate synchronization. See AecSyncParam and AecCalibrator for more information on sample rate calibration and synchronization. If you want to select a synchronization method by using information from prior calibration, you must set up the AecSyncParam structure.
By default the auto-gain feature is created and enabled, and the de-clipper feature is created and enabled.
The cacheLatency parameter specifies whether the latency measurement (beep) is to be repeated every time the audio stream is open, setting this true causes the measurement to be done only once, however the latency is not stored in a file. The default is false, hence the latency is measured each time the stream is opened.
WadParams that overlap AEC params (e.g., sampling rate, number channels) take precendence over the corresponding AEC params which are ignored. Also, VQE can be set up to run unidirectional streams, and if the stream is unidirectional the AEC and associated AecInFifo are simply not created. Sample synchronization and latency measurement are enabled only if the AEC is created. The AEC is created only if the stream is bidirectional and the sampling rate is 8 kHz or 16 kHz. When running an input unidirectional stream, auto-gain and de-clip are still active if selected.