您的位置:首页 > 其它

语音音频压缩格式 speex vs nellymoser:The CELT ultra-low delay audio codec

2011-09-02 15:25 513 查看
Speex是一套免费开源,无专利保护的音频压缩格式,主要针对语音。Speex工程着力于通过提供一个可以替代高性能语音编解码来降低应用中语音输入的障碍 。而且,Speex也是很适合网络应用,这方面,相对于其它编解码器Speex也有着自己独特的优势。Speex还是GNU工程的一部分,在改版的BSD协议下得到了很好的支持。

Speex is based on CELPand is designed to compress voice at bitratesranging from 2 to 44kbps.Some of Speex's features include:

Narrowband (8 kHz), wideband (16 kHz), and ultra-wideband (32 kHz) compression in the same bitstream
Intensity stereo encoding
Packet loss concealment

Variable bitrate operation (VBR)

Voice Activity Detection (VAD)

Discontinuous Transmission (DTX)
Fixed-point port
Acoustic echo canceller
Noise suppression

Codec :Speex

Requirement:Flash Player 10 or above. Recomemded flash player version (10,0,22,87 ) or above.

Type:Open Source

What is speex :Speex is a new audio codec introduced in flash player 10 and above. It overcomes many limitations of oldNellymoser codec. This new codec will provide better audio quality using less bandwidth. Speex can be used
for both kind of communication , through Flash Media Server or P2P.Speex is opensource so it can be decoded or converted to any format unlike nellymoser .

Speex Description:
Speex encoder and decoder are present in flash player 10 and above. Speex compression is controlled by settingencodeQuality. Encode quality can be set using 11 quality levels 0(Lowest) - 10(Highest).Default value
is 6. Speex encoder for flash works in constant bit-rate (CBR). Speex is designed for Voice over IP (VoIP) which means it provides high quality speech at low bit rate.

Speex vs NellyMoser comparison

P2P and Speex:
This codec can be used for P2P audio. For implementing P2P in application currently Adobe LabsStratus beta service can be used which allow developers to begin building applications . The new protocolRTMFP
and UDP can be used withStratus only .Future version next to FMS 3.5 is likely to come with its support.



Code to use Speex in Flex AS3:


//Create a fms connection first

ns = new NetStream(your fms connection here );

//Give name to file and record

ns.publish("testingSpeex", "record");

activeMic = Microphone.getMicrophone();

//set codec to speex

activeMic.codec = "Speex"

//rate from 0 to 10 are supported in Speex. 0 is lowest quality.

activeMic.encodeQuality = 6;

ns.attachAudio(Microphone.getMicrophone());

[align=center]Speex Quality , Bandwidth and filesize table[/align]
Quality (encodeQuality)Required bandwidth in kbpsPer minute file size in KB
03.9528.9
15.7542.1
27.7556.7
39.8071.7
412.893.7
516.8123.0
620.6150.8
723.8174.3
827.8203.6
934.2250.4
1042.2309.0
Test and Results: The encodeQuality for speex codec becomes quite usable from 4 (12.8kbps) although 3 can also be used for very low bandwidth requirements.It was also noticed that almost no processor overhead was there.So this codec will not
add any load to applications requiring heavy processor.

Bug:It was found that the sound seemed to be very choppy and noisy for users more than 2. This bug is fixed in Flash Player 10,0,22,87 and above.

Speex vs Nellymoser

Nellymoser 是closed format codec, 而Speex 是opensource的.

对Flash Player的要求:

Nellymoser 可在Flash player 6及以上版本使用, Speex 要求Flash Player 10.

音频质量:

Speex做了优化,音频质量优于Nellymoser.

带宽要求:

Speex在比Nellymoser音频好的情况下,带宽要求反而更低。

编码质量:

Speex有11级 (0-10) 编码质量可选.Nellymoser有5级 (5,8,11,22,44)


License type: Nellymoser is closed format codec whereas
Speex is opensource which means that files created using speex can be decoded or encoded without any licence requirement.

Flash Player Requirement: Nellymoser works from Flash player 6 onwards whereas Speex requires atleast Flash Player 10. Although speex works with flash player 10 but there is a audio disturbance bug on listener end which was fixed in version
10,0,22,87.So player 10,0,22,87 and above is recommended.

Quality: Speex is optimised for speech so better quality is expected from speex as compared to our old Nellymoser codec.

Bandwidth Requirement: Speex delivers better quality than Nellymoser using less bandwidth as compared to speex.our tests revealed that the quality with nellymoser becomes usable at 8(16kbps) where as in case of speex it is 3 (9.80 kbps).The
highest quality in
Speex uses 42.2 kbps thats half of the bandwidth being used by nellymoser which is 88.2

Encode Quality: Speex provides more flexibilityby giving 11 levels of quality to choose from (0-10).0 is lowest and 10 is highest audio quality. Nellymoser gives 5 settings(5,8,11,22,44) ,5 is lowest and 44 is highest quality.Remember more
is the quality higher is the bandwidth requirement which may lead to choppy sound when sufficient bandwidth is not available.

SpeexNellymoser
Quality (encodeQuality)Required bandwidth in kbpsQuality(mic.rate)Required bandwidth in kbps
03.95511.025
15.75816
27.751122.05
39.802244.1
412.84488.2
516.8
620.6
723.8
827.8
934.2
1042.2

Codec Feature Comparison

CodecRate (kHz)bitrate (kbps)frame size (ms)total delay (ms)Robustnesslicense
CELT32-9624-128 (mono)

40-160 (stereo)
<5.8 (44.1 kHz)

<5.3 (48 kHz)
<8.7 (44.1 kHz)

<8.0 (48 kHz)
packet loss, bit errorsopen-source/

free software
G.722.1C (Siren14)3224, 32, 482040packet loss, bit errorsno charge, but not open-source
AAC-LD16-4816-128from 10 to 11.6from 20 to 50+packet lossproprietary, MPEG
Fraunhofer ULD32-4848-192?<10<10limitedproprietary, non-standard



Codec Quality Comparison

These are the results of MUSHRA tests comparing CELT with AAC-LD, G.722.1C and MP3, with 10 listeners. We used version 0.3.2 of the CELT codec with 5.8 ms frames (256 samples) and 2.9 ms (128 samples) look-ahead,for a total of 8.7 ms at 44.1 kHz. As for
AAC-LD, we used Apple's implementation, which has 11.6 ms frames and 23.2 ms look-ahead, for a total of 34.8 ms delay at 44.1 kHz. The MP3 implementation is LAME in CBR more and is only included for reference purposes only.

The first graph is for the 48 kbit/s listening test.




The second graph is for the 64 kbit/s listening test. Note that G.722.1C is still at 48 kbit/s in that test because it is the highest bit-rate it supports.





官方主页:
http://www.speex.org/ http://www.nellymoser.com/
参考:
http://www.celt-codec.org/comparison/ http://all-streaming-media.com/ http://askmeflash.com/article/1/all-about-speex-for-flash
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: