brings 600–700 bps-class speech quality and intelligibility to just 400 bps. Below are comparative test results against MELPe 600 bps and CODEC2 700 bps, which require 50% and 75% more bitrate, respectively.
Deployed in Digital HF Radio, tactical communications, secure voice and other bandwidth-constrained communication applications.
- Advanced Speech Coding Approach: Pitch-synchronous processing and proprietary Tri-Wave excitation, providing an alternative to MELPe, AMBE+2 and ACELP-based approaches.
- Mature & Proven: Nearly two decades of continuous development and real-world deployment in professional communication systems.
- Speech & Beyond: High-quality speech plus improved reproduction of tones, sirens, music and other non-speech signals.
Note:
The original ITU-T P.50 speech files were resampled to 8 kHz. Files for each language were combined and inter-speech pauses were shortened to minimize the effect of silence on the evaluation results.
| Language | TWELP 400 bps | MELPe 600 bps | CODEC2 700 bps |
|---|---|---|---|
| American | 2.290 | 2.184 | 2.268 |
| Arabic | 2.169 | 2.168 | 2.213 |
| British | 2.317 | 2.195 | 2.101 |
| Chinese | 2.100 | 2.054 | 2.230 |
| Danish | 2.256 | 2.156 | 2.280 |
| Dutch | 2.161 | 2.069 | 1.992 |
| Finnish | 2.258 | 2.245 | 2.027 |
| French | 2.330 | 2.239 | 2.293 |
| German | 2.375 | 2.225 | 2.190 |
| Greek | 2.242 | 2.180 | 2.207 |
| Hindi | 2.402 | 2.334 | 2.218 |
| Hungarian | 2.335 | 2.259 | 2.314 |
| Italian | 2.450 | 2.399 | 2.424 |
| Japanese | 2.335 | 2.251 | 2.286 |
| Norwegian | 2.216 | 2.205 | 2.299 |
| Polish | 2.300 | 2.236 | 2.131 |
| Portuguese | 2.428 | 2.369 | 2.387 |
| Russian | 2.153 | 2.038 | 2.029 |
| Spanish | 2.394 | 2.322 | 2.416 |
| Swedish | 2.434 | 2.420 | 2.315 |
| Average | 2.297 | 2.227 | 2.231 |
|
The results show that TWELP 400 bps slightly outperforms MELPe 600 bps and CODEC2 700 bps on average while operating at a significantly lower bitrate. | |||
STOI and ESTOI were calculated using the updated 8 kHz test set described above. ASR-based Speech Intelligibility was evaluated separately using the original ITU-T P.50 speech files at their original 16 kHz sampling rate.
ASR reference transcripts were generated by whisper.cpp with the Whisper large-v3 model directly from the original, unprocessed 16 kHz P.50 speech files. For vocoder evaluation, the same speech files were converted to 8 kHz, processed by the vocoder, converted back to 16 kHz and transcribed using the same ASR system.
ASR-based Speech Intelligibility is calculated as 100 - CER (%) by comparing each processed-speech transcript with its corresponding ASR reference transcript.
CER is used instead of WER because it measures character-level recognition errors without treating an entire word as incorrect due to a single-character error.
CER scoring ignores letter case, whitespace and punctuation.
Control measurement: the same 16 kHz → 8 kHz → 16 kHz conversion path, but without any vocoder processing, resulted in an overall ASR-based intelligibility of 99.41%. This shows that narrowband conversion alone produces a small measurable reduction in the ASR-based intelligibility measure, even for clean, unencoded speech.
All vocoder results below are scored against the ASR reference transcripts generated from the original, unprocessed 16 kHz speech, not against transcripts from the converted signal.
| Language | TWELP 400 bps | MELPe 600 bps | CODEC2 700 bps |
|---|---|---|---|
| American | 94.75 | 94.13 | 92.18 |
| Arabic | 82.89 | 71.81 | 85.23 |
| British | 93.38 | 95.42 | 92.78 |
| Chinese | 84.73 | 80.30 | 80.54 |
| Danish | 67.41 | 72.92 | 64.83 |
| Dutch | 89.59 | 89.98 | 83.59 |
| Finnish | 76.39 | 77.10 | 52.36 |
| French | 94.85 | 94.03 | 93.53 |
| German | 94.08 | 93.37 | 90.49 |
| Greek | 83.31 | 83.86 | 73.36 |
| Hindi | 77.77 | 75.98 | 65.33 |
| Hungarian | 88.60 | 90.88 | 89.74 |
| Italian | 92.57 | 94.77 | 89.86 |
| Japanese | 93.72 | 93.87 | 92.01 |
| Norwegian | 91.14 | 92.66 | 86.15 |
| Polish | 87.95 | 89.69 | 84.35 |
| Portuguese | 97.04 | 95.56 | 91.82 |
| Russian | 97.47 | 95.60 | 96.39 |
| Spanish | 93.43 | 94.02 | 89.41 |
| Swedish | 68.80 | 76.79 | 55.88 |
| Overall | 86.79 | 87.66 | 81.38 |
|
Overall ASR-based speech intelligibility: 86.79% for TWELP 400 bps, versus 87.66% for MELPe 600 bps and 81.38% for CODEC2 700 bps. | |||
| Language | TWELP 400 bps | MELPe 600 bps | CODEC2 700 bps |
|---|---|---|---|
| American | 81.15 | 79.14 | 75.33 |
| Arabic | 78.75 | 78.42 | 73.47 |
| British | 77.96 | 75.26 | 71.45 |
| Chinese | 78.87 | 77.37 | 76.00 |
| Danish | 81.03 | 79.06 | 75.35 |
| Dutch | 79.49 | 76.61 | 71.49 |
| Finnish | 75.66 | 74.75 | 70.04 |
| French | 80.75 | 78.58 | 75.55 |
| German | 80.93 | 78.82 | 74.03 |
| Greek | 78.94 | 77.93 | 74.01 |
| Hindi | 80.04 | 78.26 | 72.82 |
| Hungarian | 81.09 | 77.96 | 75.91 |
| Italian | 79.36 | 78.00 | 73.17 |
| Japanese | 79.72 | 79.01 | 76.32 |
| Norwegian | 80.64 | 79.28 | 77.45 |
| Polish | 80.40 | 78.11 | 73.52 |
| Portuguese | 80.78 | 77.96 | 75.42 |
| Russian | 78.71 | 75.33 | 71.82 |
| Spanish | 78.19 | 77.82 | 74.64 |
| Swedish | 77.48 | 76.84 | 72.96 |
| Average | 79.50 | 77.73 | 74.04 |
|
Average STOI scores: 79.50 for TWELP 400 bps, 77.73 for MELPe 600 bps, and 74.04 for CODEC2 700 bps. | |||
| Language | TWELP 400 bps | MELPe 600 bps | CODEC2 700 bps |
|---|---|---|---|
| American | 70.92 | 69.68 | 62.85 |
| Arabic | 70.23 | 69.96 | 61.09 |
| British | 68.54 | 67.07 | 59.87 |
| Chinese | 71.44 | 69.87 | 66.90 |
| Danish | 71.78 | 69.72 | 63.09 |
| Dutch | 69.88 | 69.31 | 61.75 |
| Finnish | 66.96 | 66.21 | 59.36 |
| French | 71.40 | 70.05 | 63.46 |
| German | 70.99 | 68.43 | 59.97 |
| Greek | 71.55 | 70.61 | 63.82 |
| Hindi | 68.61 | 67.76 | 57.26 |
| Hungarian | 69.68 | 67.07 | 62.83 |
| Italian | 69.11 | 68.54 | 62.25 |
| Japanese | 71.37 | 70.92 | 65.92 |
| Norwegian | 72.23 | 70.63 | 66.61 |
| Polish | 71.25 | 70.38 | 61.92 |
| Portuguese | 71.41 | 69.39 | 63.50 |
| Russian | 68.66 | 66.28 | 60.21 |
| Spanish | 70.41 | 70.33 | 65.38 |
| Swedish | 67.11 | 67.10 | 60.06 |
| Average | 70.18 | 68.97 | 62.41 |
|
Average ESTOI scores: 70.18 for TWELP 400 bps, 68.97 for MELPe 600 bps, and 62.41 for CODEC2 700 bps. | |||
The open-source whisper.cpp ASR engine and the corresponding Whisper large-v3 model can be obtained separately from their official repositories.
The supplied tools and instructions allow the results presented above to be independently reproduced and verified.
Speech Samples (WAV files)
Independent listeners compared TWELP 400 bps with MELPe 600 bps and CODEC2 700 bps in preference listening tests. Listening preferences were closely divided, but TWELP was preferred overall in comparisons with both vocoders, with listeners describing its speech as more natural and clear.
Listen to the source speech and the corresponding CODEC2 700 bps, MELPe 600 bps and TWELP 400 bps samples below.
For more accurate comparison, we recommend using good-quality headphones or speakers.
The complete P.50 sample sets for all languages are also available in the Downloads section at the bottom of this page.
Speech & Beyond
Unlike many low-bitrate vocoders optimized primarily for speech, TWELP also provides improved reproduction of non-speech signals, including alert tones, police, ambulance and fire sirens, music and other audio signals.
Combined with natural speech reproduction, this makes TWELP well suited for digital radio and other communication systems where both speech and non-speech signals must be transmitted over a very low-bitrate channel.
Listen to the comparison below:
| Source signal | CODEC2 700 bps | MELPe 600 bps | TWELP 400 bps |
|---|---|---|---|
For this comparison, ESTOI was selected as a single objective intelligibility metric to provide a focused and consistent evaluation of speech under acoustic-noise conditions.
| Language | TWELP 400 bps | MELPe 600 bps | CODEC2 700 bps |
|---|---|---|---|
| American | 63.38 | 58.30 | 54.65 |
| Arabic | 62.56 | 59.81 | 54.86 |
| British | 60.10 | 56.25 | 51.27 |
| Chinese | 65.06 | 60.16 | 58.59 |
| Danish | 63.01 | 57.92 | 53.17 |
| Dutch | 60.49 | 56.16 | 52.60 |
| Finnish | 59.03 | 55.11 | 51.52 |
| French | 63.99 | 59.85 | 55.06 |
| German | 61.30 | 56.66 | 51.86 |
| Greek | 63.43 | 59.48 | 55.75 |
| Hindi | 59.39 | 55.65 | 49.93 |
| Hungarian | 63.31 | 59.02 | 54.75 |
| Italian | 60.28 | 57.41 | 53.55 |
| Japanese | 65.53 | 61.41 | 57.93 |
| Norwegian | 65.67 | 61.08 | 57.47 |
| Polish | 62.44 | 59.52 | 53.57 |
| Portuguese | 63.10 | 58.46 | 55.27 |
| Russian | 60.91 | 56.19 | 50.70 |
| Spanish | 64.21 | 59.90 | 57.50 |
| Swedish | 56.66 | 53.45 | 50.33 |
| Average | 62.20 | 58.09 | 54.02 |
|
Average ESTOI score in acoustic noise: 62.20 for TWELP 400 bps, versus 58.09 for MELPe 600 bps and 54.02 for CODEC2 700 bps. | |||
The samples below compare heavily noisy English speech (SNR = 10 dB) processed by CODEC2 700 bps, MELPe 600 bps and TWELP 400 bps, first with noise preprocessing disabled and then enabled (MELPe NPP / TWELP NCSE).
| NPP NCSE | Input speech (SNR=10dB) | CODEC2 700 bps | MELPe 600 bps | TWELP 400 bps |
|---|---|---|---|---|
| Disabled | ||||
| Enabled |
The NCSE integrated into the TWELP vocoder is described in more detail on the webpage for our standalone product, 'NCSE-AGC Preprocessor'.
These vocoders are based on an effective Joint Source-Channel Coding approach. Each vocoder is equipped with a custom-designed FEC, tailored to its specific characteristics and operational conditions.
TWELP Robust vocoders provide high speech quality simultaneously in noisy channel as well as in noiseless channel. FEC can operate with "soft decisions" as well as with "hard decisions" from a modem. "Soft decisions" mode provides much better robustness in comparison with the "hard decisions" mode.
For all users of our non-robust vocoder versions, we offer the following recommendations.
Essentially, the diagram shows by what percentage speech quality is reduced when a specific bit is distorted. The first bits in order cause catastrophic distortions, while the latter bits have significantly less impact on quality.
Additional Functionalities. The following additional functionalities are developed by DSPINI and integrated into TWELP vocoders:
- Noise Cancellation Speech Enhancement (NCSE)
- Automatic Gain Control (AGC),
- Voice Activity Detector (VAD),
- Discontinuous Transmission (DTX),
- Tone Detection/Generation (Single tones and Dual tones). The tones are transmitted by the vocoder facilities.
Note:
The Tone Detector/Generator and DTX are not integrated into the code by default but can be added free of charge upon request.
Each functionality has unique features, performance and characteristics, providing significant superiority over any well-known implementations on the market.
Technical Characteristics And Resource Requirements:
| Bit Rate (bps) | Algorithm | Frame size (ms) | Algorithmic delay (including frame size) (ms) | Sampling rate (kHz) | Signal format | Bit stream format |
|---|---|---|---|---|---|---|
| 400 | TWELP | 100 | 120 | 8 | Linear 16-bit PCM |
40 |
| Name | Functionality | Technical characteristics | |
|---|---|---|---|
| Name | Value | ||
| AGC | Automatic Gain Control |
Control range: | 0 ... +42 dB |
| NCSE | Noise Canceller - Speech Enhancer |
SNR improvement | 20 dB |
| Speech quality improvement |
> 0.1 PESQ | ||
| Tone Detector |
Single/Dual tones detection |
In accordance with international standards | |
| Tone Generator |
Single/Dual tones generation |
Special generator, kept continuity of signal (phase and amplitude of signal of previous frame) |
|
| DTX | Discontinuous Transmission |
Reduces bit rate down to 110 bps in pauses between active speech regions |
|
| VAD | Voice Activity Detection |
High reliability even with pink noise at an SNR < 0 dB. | |
| CNG | Comfort Noise Generation |
Spectrally shaped based on the estimated background noise spectrum | |
| Average RMS level | −58.2 dBFS | ||
The NCSE and AGC integrated into the TWELP vocoder are described in more detail on the webpage for our standalone product, 'NCSE-AGC Preprocessor'.
| Module | MIPS* peak | Memory (KBytes) | ||||
|---|---|---|---|---|---|---|
| Program | Data | |||||
| Constants | Channel | Heap | Stack | |||
| Voice Encoder | 49 | 42 | 196 | 4.7 | 6.7 | 1.0 |
| NCSE | 6.0 | |||||
| AGC | 0.5 | |||||
| Voice Decoder | 19 | |||||
| Voice Encoder + Voice Decoder |
68 | |||||
| Total | 74.5 | |||||
| Module | MIPS* peak | Memory (KBytes) | ||||
|---|---|---|---|---|---|---|
| Program | Data | |||||
| Constants | Channel | Heap | Stack | |||
| Voice Encoder | 17.6 | 81 | 196 | 4.7 | 6.7 | 1.0 |
| NCSE | 2.6 | |||||
| AGC | 0.3 | |||||
| Voice Decoder | 5.3 | |||||
| Voice Encoder + Voice Decoder |
22.9 | |||||
| Total | 25.8 | |||||
| Module | MIPS* peak | Memory (KBytes) | ||||
|---|---|---|---|---|---|---|
| Program | Data | |||||
| Constants | Channel | Heap | Stack | |||
| Voice Encoder | 30 | 26 | 196 | 4.7 | 6.7 | 1.0 |
| NCSE | 6.2 | |||||
| AGC | 0.4 | |||||
| Voice Decoder | 13 | |||||
| Voice Encoder + Voice Decoder |
43 | |||||
| Total | 49.6 | |||||
* DSPINI continues optimization of the TWELP algorithm and code in order to minimize computational complexity of the vocoder.
Software Integrity and Security. DSPINI guarantees the ABSOLUTE integrity of its software, free from any undocumented features, undeclared capabilities, or hidden functions. Our customers can be assured that none of our software/code contains any secret features or functionalities concealed from the user. If necessary, we are ready to provide the source code of our software products for appropriate certification.
Moreover, our software is available in source code form—you simply need to purchase the appropriate license to use it.
Guarantee And Support. DSPINI guarantees a quality and accordance of all technical characteristics of the product to requirement of current specifications. Testing and other method of quality control are used for guarantee support.
Any Platforms. DSPINI can port this vocoder software into any other DSP, RISC or general- purposes platform inshort time: 1-2 months.
Licensing Terms. To use the vocoder, customer should obtain a license from DSPINI only.
Customization. The vocoder can be customized under any specific requirements- other bit rate, frame size, any other robustness to channel errors, etc. Please contact with us for details.
Prospects. DSPINI is impoving and developing continuously a set of new vocoders with range from 300 bps up to 9600 bps, based on TWELP technology.
Related Software. This vocoder may be effectively used in a bundle with other DSPINI's products:
- Linear and acoustic echo cancellers,
- Multichannel noise cancellers (including two-microphone adaptive array),
- Wired or radiomodems for any types of channels and bitrates,
- Other products.
- Datasheet (pdf)
- ITU-T P.50 source speech samples (zip)
- TWELP 400 bps speech samples (zip)
- MELPe 600 bps speech samples (zip)
- CODEC2 700 bps speech samples (zip)
- P.862 and STOI/ESTOI utilities
- PC-evaluation package (zip) — on request
- User's Guide document (pdf) — on request