I want to decode the EVRC speech codec. I have checked the ffmpeg library but it seems like, EVRC is not being currently supported by ffmpeg.
Is there any alternate library which can be used to decode EVRC data?
Or if anybody have some algorithm or decoding mechanism or code snippet to do so, please let me know.
Thanks Nitin
There are some files claimed to be EVRC code here (on chinese sites): http://www.codeforge.com/article/67387
Same file on pudn.com: http://en.pudn.com/downloads95/sourcecode/comm/voice_compress/detail389385_en.html
It can be not so easy to download full 0.5 MB archive (registration required), but it looks like working EVRC codec (it is free to view any source file from this archive).
And for something more official than chinese site, there are some huge (0.5 GB) files on 3gpp2.org's ftp: http://www.mmnt.net/db/0/0/ftp.3gpp2.org/TSGC/Incoming/SWG11/Software_Published_in_TIA/evrc_rel-B_mps_software
There are so3 and so68 implementations in the archive ftp://ftp.3gpp2.org/TSGC/Incoming/SWG11/Software_Published_in_TIA/evrc_rel-B_mps_software/Software_Distribution_vB-1.0_for_C.S0018-B_v1.0_EVRC_MPS.zip
so3 sources look similar to some files from evrc.rar:
/* Enhanced Variable Rate Codec - Master C code Specification */
/* Copyright (C) 1997-1998 Telecommunications Industry Association. */
and so68 (EVRCB_FX) is for EVRC-B (both encoder and decoder):
EVRC-B vocoder fixed point c-simulation can be compiled using the standard GNU
c++ compile tools like g++, make, etc.
/* EVRC-B - Enhanced Variable Rate Coder - B Speech Service Option for */
/* Wideband Spread Spectrum Digital System */
/* C Source Code Simulation */
This archive is so large because it includes many sound samples, both encoded and raw.
According to http://wiki.multimedia.cx/index.php?title=EVRC there is the URL for spec and reference codecs: http://www.3gpp2.org/Public_html/specs/tsgc.cfm
Some recent and small (1.8MB) distribution: http://www.3gpp2.org/Public_html/specs/C.R0014-D_v1.0_EVRC-D_SoftwareDistribution_100125.zip
If it is fine for you to get a commercial library, you can try CouthIT's EVRC-B.
CODEC OVERVIEW
Enhanced Variable Rate Codec B (EVRC-B) was standardized by 3GPP2 in 2006. The EVRC codec operates on each 20ms frame of 16-bit speech signals sampled at 8 KHz and generates compressed bit-streams with bit-rates of 8.3, 7.57, 6.64, 6.18, 5.82, 5.45, 5.08, and 4.0 kbps (source encoding rates) respectively. EVRC-B is based on the Code Excited Linear Prediction (CELP), Prototype Pitch Period (PPP), and Noise Excited Linear Prediction (NELP) coding algorithms. It makes greater use of the intermediate coding rates through increased awareness of the nature of the individual speech samples. This more sophisticated coding approach allows EVRC-B to offer a voice quality equivalent to EVRC-A (IS-127), but at significantly lower average coding bit rates. The codec was primarily developed to replace the existing EVRC-A codec used in CDMA networks.
Another thing is EVRC-B and EVRC-WB 4GV™ Vocoders (Commercial):
Compandent Inc. intends to offer high-quality EVRC-B package as soon as at the beginning of 2008 and EVRC-WB package during the first half of 2008. The software package will include highly professional and optimized DSP codes with reduced complexity and improved quality for selected platforms. Compandent has been porting EVRC-B and EVRC-WB vocoders to various DSPs by Texas Instruments such as TMS320c54xx, TMS320c55xx, TMS320c64xx, OMAP, and DaVinci, and additional platforms are under consideration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With