CANEC is a mature software speech enhancement library forming a complete conferencing appliance that meets
and exceeds the highest requirements. It has been optimized in quality and performance
over many years and proved to be very robust in the most challenging acoustic environments. Thanks to its scalability, it
has been deployed in many markets, from professional and installed audio to mobile devices and video phones; with excellent success allover.
CANEC is directly available on all major embedded, mobile, and desktop platforms. It is
provided in the form of a Software Development Kit (SDK) with clean Application Programming Interface (API)
to be integrated either directly into the end user application or into the audio device driver.
What professionals say about CANEC
Manolo van Ee after comparing CANEC to a well known open source solution on the BeagleBone board:
"Yes, from our experience I can agree with the BMW vs Fiat Punto comparison. We tested Canec in a stairwell today, which has a lot of echo, and we had good results as well."
Bill Gardner, WaveArts after integrating CANEC SDK:
"I tried a live test and CANEC performed great. It was in a very noisy office (AC + traffic noise) and both single-talk and double-talk worked fine, all echo and background suppressed. Very impressive."
CANEC has been optimized in quality, features, and performance based on valuable customer feedback over the years.
It includes advanced features that are required in modern high end conferencing and hands-free applications such as fast convergence,
low processing delay, robustness during double talk, microphone muting support, automatic estimation and compensation of initial delay,
performance reporting, and much more.
Efficient implementation at the algorithm level as well as at the code level resulted in unparalleled performance. For instance
a single ADSP-21489 processor
without any external memory can implement up to 6 channels of echo and noise cancellers, each channel has 250 ms echo
tail length at 48 kHz audio sampling rate, and also combine the output of the processed microphones signals with the
adaptive beamformer (request this demo). If beamformer is
not required, 8 channels of 250 ms tail length at 48 kHz sampling rate fit easily on a single ADSP-21489 processor with
plenty of MIPS and memory left for other tasks.
The sample audio files below demonstrate the audio quality of the processed speech signal during extended double-talk periods. The
female voice in the unprocessed microphone signal (LEFT) is the echo that must be
removed, while the male voice is the voice of the local conference participant that must be preserved.
The result of processing through CANEC echo canceller (RIGHT) shows how CANEC
can remove the female voice entirely without distorting the male speech. The image at the left shows the spectral contents of the
unprocessed microphone signal, while the image at the right shows the spectral contents of the processed signal.
CANEC includes all audio digital signal processing required in a high end conferencing and hands-free applications.
Processing modules that enhance both the down-link (signal received from the communication channel) as well as
the up-link (signal picked up by the local microphones) are included.
The down-link processing modules include DC blocking filter, Loudspeaker Filters, Octave Graphic Equalizer,
Stationary Noise Reduction, and Automatic Gain Controller.
The up-link processing modules include DC blocking filter, High-Pass Filter, Adaptive Echo Canceller, Echo Suppressor,
Comfort Noise Generator, Stationary Noise Reduction, Automatic Gain Controller, Octave Graphic Equalizer,
and Beam-former/auto-mixer/ microphone selector.
In addition to the above processing modules, a feedback canceller is also available which is necessary in large conferencing
spaces. The feedback canceller prevents howling therefore allowing the processed microphone signal to be
amplified and played to a local loudspeaker so that participants seated in the same large room but far from each other,
can still hear each other clearly.
The following is a partial list of the most important CANEC features:
- Low algorithm processing delay; defined by the user-adjustable block length.
- Supports multiple loudspeakers and multiple microphones.
- Each processing module can be dynamically enabled or disabled at run-time.
- Includes a robust and efficient adaptive beam-forming algorithm.
- Unlike other beamformers, the RAY beamformer does not need any calibration, works with any microphone array shape, and any number of microphones, therefore supports any acoustic/industrial design.
- Adaptation of beam-former can be frozen at any time so that the beam-former remains focusing in a specific direction.
- Includes a high quality auto-mixer to combine all microphone signals for use with application that don't require beam-former.
- Acoustic echo canceller complies fully with G.167, P.340, and VDA (category 1).
- Acoustic echo canceller employs a robust and efficient adaptive algorithm.
- Acoustic echo canceller provides superior and consistent single-talk echo reduction of 80 dB in any acoustic environments.
- Acoustic echo canceller provides stable echo reduction of 40 dB or more during double-talk periods.
- Acoustic echo canceller convergence rate up to 100 dB per second.
- Echo tail length is user adjustable.
- A multichannel high quality echo suppressor is also included which further reduces any remaining residual echo with negligible double-talk distortion.
- Noise reduction algorithm provides up to 25 dB of background noise reduction with negligible speech distortion.
- Noise reduction level is user-adjustable.
- Loudspeakers response can be seamlessly fine-tuned using the built-in octave graphic equalizer.
- Microphones signals level can be automatically adjusted by the up-link multichannel automatic gain controller.
- Loudspeakers signals can be automatically adjusted by the down-link multichannel automatic gain controller.
- Includes a sample synchronization module for clock skew correction, resulting in high quality sound on desktop and portable computing platforms.
- Works at any sampling frequency without any calibration or modification. It has been already deployed in top quality products running at sample rates ranging from 8kHz to 48kHz.
- Provides consistent performance in all acoustic environments, from a small car with a reverberation time of less than 100 ms to a large conference hall with reverberation time of several seconds.
- Trivial to integrate due to its simple Application Programming Interface.
- Fully configurable. System designers have complete control on system switches and algorithm parameters, including the ability to enable, disable and adjust the target level of individual channels in any processing module.
- Already lab and field tested on several fixed-point and floating-point processors and DSPs with and without an operating system.
- Supported on all major desktop, mobile, and embedded platforms.
- Floating-point and Fixed-point implementations optimized for several general purpose processors, microcontrollers, as well as digital signal processors are directly available.
- Proven excellent performance in many high end applications including installed audio and video conferencing, Unified Collaboration, hands-free telephones, and consumer electronics.
Several demonstration programs are available that allow you to evaluate CANEC while running in real-time on your preferred platform. Some of the demonstration applications also allows you to enable and disable processing modules and hear the effect in real-time.
- The OCEAN-ADSP21489 demonstrator comes out of the box ready to use as a front-end plug-in module in any high end conferencing application. This demonstrator is available for small rooms (no feedback canceller) as well as for large rooms (feedback canceller included).
- The OneTerminal application simulates one side of a real-time full-duplex communication scenario and is recommended to start with since it gives reproducible results. This application plays a speech file of your choice to the device's loudspeaker the same way a full-duplex communication application plays the received audio from the network. At the same time, OneTerminal records from the microphones. The recorded signals, which includes echo, noise, and the local user's speech, are processed through CANEC in real-time and the result is stored to a wave files. You may also save the unprocessed speaker and microphone signals to wave files. You can then examine the audio files to compare the sound quality before and after processing through CANEC. OneTerminal supports up to 8 microphones if the device running the application has multiple microphones, but can also be used on a single microphone device (no beamforming or mixing is performed).
- The TwoTerminals application allows you to establish a hands-free voice over IP connection between two devices (a Windows PC at one side and an Android mobile phone at the other side for instance). On each device, the recorded microphone signals are processed through CANEC, encoded, and sent to the other device across the network. The received audio is decoded, processed through CANEC, and played to the loudspeaker. TwoTerminals supports up to 8 microphones if the device running the application has multiple microphones, but can also be used on a single microphone device (no beamforming or mixing is performed).
- The SpotMe demo provides the same functionality as the OneTerminal and TwoTerminals applications mentioned above, but is optimizes to use a multi-channel sound card for better sound quality. The SpotMe demo is available for Windows, Mac, and also on the SHARC ADSP-21479/21489/21469 DSP EZ-KIT from Analog Devices. The SpotMe demo on Windows and Mac needs a multi-channel sound card such as the TASCAM US-1800 which allows processing an array of up to 8 microphones. The EZ-KIT board has only 4 analog inputs and therefore can process an array of maximum 3 microphones (the fourth input is used for the AEC reference signal).
The above demonstration applications are currently available for the following platforms.
- Windows XP and higher, including Windows Vista, Windows 7, 8, 10, and embedded versions of Windows.
- Mac OS X 10.6 and higher.
- Linux PC (x86) with 2.6 kernel or newer and ALSA audio driver.
- Embedded Linux with kernel 2.6 or higher and ALSA audio driver (several platforms including the low cost Beagle Board).
- iOS (iPhone, iPod Touch, and iPad).
- Android 2.1 and higher.
- Several real-time operating systems and OS-less systems are also supported.
To request the CANEC demo, please fill in this short form.