Changelog for libVoiceSeekerLight.
- DOA init
- Support of i.MX95_CM7
- Support of i.MX95_CM7
- Added algorithm to choose optimal mic pairs for DOA.
- Port latest DOA code from Conversa.
- Increase maximum number of mics from 4 to 8 for _WIN32 and __ARM_NEON builds.
VoiceSeekerLight_TriggerFound
returnsTRIGGER_START_OVERFLOW
ifAtrigger_start_offset_samples
is longer than the buffer length minus the noise pre-roll window.
- Limit noise pre-roll window to 0.5 s by default.
- Increase number of eigenvector iterations to improve beamformer convergence.
- Shorten default time constant for beamformer noise estimate.
- Increase maximum number of mics from 4 to 6 for RT600 build.
- Add license check for i.MX 8QXP and i.MX 8ULP on Cortex A35.
- Add license check for i.MX 91, 93, 94, 95, & 97 on Cortex A55.
- Use
RDSP_PLUGIN_SCRATCH_MALLOC_ALIGN
to ensure proper memory alignment.
- Fixed license check for Cortex A builds.
- SRC memory usage is now thread safe.
- Added license check for
Device_RW610_CM33_NO_DSP
.
- Fixed AEC output selector for
_ARM_NEON
. - Fixed license check for
Device_IMX8ULP_CM33
.
- Improve postbuild.
- Rename library build output to
libvoiceseeker
.
- Fix corrupted MSVC Linux build project.
- Update
rdsp_utilities
andrdsp_utilities_public
submodules.
- Fix maximum number of reference channel analysis filterbanks.
- Print error messages if num_mics or num_spks are not configured correctly.
- Increased max_num_spks to 32 for
_WIN32
and_ARM_NEON
builds. - Disable trial timeout for no AEC builds.
- Ensure scratch memory for AFB & SFB is 16 byte aligned when using PFFFT.
- Skip allocation of PFFFT and FFTW plans during
VoiceSeekerLight_GetRequiredHeapMemoryBytes
call.
- Use PFFFT library instead of FFTW for
_WIN32
filterbank.
- Changed ARM Neon zip and unzip instrinsics to ones supported by 32bit ARM NEON cores
- Support for Cortex_A7
- Use common
rdsp_utilities
repo.
- Device selection enum. Platform used now needs to be set by using "RDSP_DeviceId_en"
- Added support for i.MX8ULP Cortex M33.
- Freeze beamformer for 8 seconds after a trigger.
- Use common
rdsp_utilities_public
repo.
- Added Directional of Arrival (DOA) support. Use
VoiceSeekerLight_GetDoaOutput()
to get the angle of speech in degrees.
- Optimize AEC for
__ARM_NEON
. - Add
RDSP_VOICESEEKERLIGHT_LIB_FB_USES_MODULATION
define, allowing filterbank modulation sequence to be disabled. Currently, only supported for_WIN32
and__ARM_NEON
.
- Add
VoiceSeekerLight_GetLibVersion()
to public API.
- Beamforming improvements.
- Work on beamformer improvements.
- Fix issue with beamformer initialization.
- Revert mic gain to 0 dB.
- Fix issue with output buffer.
- Hash internal function names.
- Increase mic gain.
- Fix cycle count wrap around for
__aarch64__
. - Fix
rdsp_plugin_scratch_GetAllocatedBytes()
.
- Add dynamic compressor after beamformer for gain control.
- Add support for Fusion F1, HiFi3, HiFi4 targets.
- Add license check for RT106A and RT106P.
- Enable
-Osize
optimization for i.MX 8M Cortex M builds. - Reduce beamformer memory usage.
- Fix filterbank config.
- Use
rdsp_float
andrdsp_floatx2
typedef.
- Update public API for using VAD, AGC and windback buffer.
- Size optimizations.
- Add license check for i.MX 8M targets.
- Add check if AEC is available in library during create.
- Update parameters.
- Build with
-fno-exceptions
on Arm Cortex M. - Disable
printf
and file I/O.
- Specify microphone geometry in create configuration.
- Specify AEC filter length in create configuration.
- Disable memory optimizations in beamformer due to quantization issue with certain inputs.
- Beamforming improvements.
- Fix beamformer initialization.
- Reduce beamformer memory usage.
- Add license check for RT1170.
- Fix bug in cycle counting.
- Add calculation of AEC attenuation.
- Add VAD and AGC parameters.
- Add
enable_cycle_counter
parameter; disabled by default.
- Use
typedef enum RdspStatus
to support more compilers.
- Add check of create call return statuses.
- Fix mic delay when AEC is enabled.
- Ensure output buffer is large enough if framesize_out is increased.
- Fix counting of total memory usage.
- Bypass AEC processing if
ref_in
is set toNULL
pointer. - Freeze AEC adaptation if reference signal is below certain threshold.
- Add optional decimation of AEC processing to reduce CPU load.
- Change
init_ccount()
andread_ccount()
toextern
functions. Can now be disabled from outside of library.
- Enable
-Ofast
optimization for__arch64__
targets. - Add trial timeout for
__arch64__
targets.
- Add multi-channel sample rate convertors.
- Add cycle counting for
__arch64__
targets.
- Add
__aarch64__
support for Arm Cortex-A. - Add
buffer_length_sec
tordsp_voiceseekerlight_config_t
.
- Change filterbank configuration for better AEC performance; uses input framesize of 32 samples.
- Increase number of AEC filter taps.
- Move VAD, AGC and windback buffer to public API.
- Ensure calling
VoiceSeekerLight_TriggerFound()
is thread safe.
- Add Voice Activity Detector (VAD).
- Add cycle counting for profiling.
- Add trial timeout of 1 hour.
- Add license check for RT1060.
- Add check if
rdsp_plugin_malloc
fails. ReturnsMALLOC_FAIL
.
- Fix postbuild script.
- Add new filterbank configuration.
- Use
-Ofast
optimization
- Work on Acoustic Echo Canceller (AEC) support.
- Add CMSIS support for Arm Cortex-M
- Add
VoiceSeekerLight_SetParameterID()
andVoiceSeekerLight_SetParameterBin()
to public API.
- Use
rdsp_voiceseekerlight_config_t
when callingVoiceSeekerLight_Create()
. - Beamforming improvements.
- Beamforming improvements for detecting initial triggers.
- Add option to write individual payloads to wav files.
- Add
--pre-lv-bin
command line option for loading a predetermined look vector.
- Fix incorrect usage of VoiceSpot thresholding.
- Fix issue with wrap around in circular lookback buffer.