speaker : chungyi wang advisor: quincy wu date : 2007.8.8

Post on 30-Dec-2015

224 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Speaker : Chungyi WangAdvisor: Quincy WuDate : 2007.8.8

outlineIntroductionWhy Speex ?Speex Tools – WindowsSpeex API – LinuxReference

2007/8/8 2

IntroductionWhat is the Speex ?

One kind of compression software (or API)

What is the main advantage of the Speex ?Good compression ratio (and variable)

What kinds of application need the Speex ?Audio file (ex.ogg, spx)VoIP

2007/8/8 3

Why Speex ? (1/5)

2007/8/8 4

320 bytes

PCMRTP

• 320 x 50 = 16000 (15.625 kb/sec)• Need compression !!

Why Speex ? (2/5)

2007/8/8 5

Good compression ratio !!

Speex encode

Speex decode

PCMRTP

320 bytes

(6~62) bytes

320 bytes

Why Speex ? (3/5)

2007/8/8 6From : http://www.speex.org/comparison/

Why Speex ? (4/5)Speex is based on CELP and is designed to compress

voice at bitrates ranging from 2 to 44 kbps. Some of Speex's features include: - Narrowband (8 kHz), wideband (16 kHz), and

ultrawideband (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

2007/8/8 7

Why Speex ? (5/5)Lossy

Depend on quality (and compression ratio)

From : http://en.wikipedia.org/wiki/Lossy_data_compression

2007/8/8 8

Speex Tools – Windows (1/4)Download

http://downloads.us.xiph.org/releases/speex/speex-tools-win32-v1.2beta1.zip

Speex Toolsspeexenc.exespeexdec.exe

2007/8/8 9

Speex Tools – Windows (2/4)speexenc.exe

speexenc [input_file] [outfile] input_file : wavoutfile_file : spx

speexenc –quality n [input_file] [outfile]n : Quality (10-0)

2007/8/8 10

Speex Tools – Windows (3/4)speexdec.exe

speexdec [input_file] [outfile] input_file : spxoutfile_file : wav

2007/8/8 11

Speex Tools – Windows (4/4)Demo

2007/8/8 12

Speex API – Linux (1/7)Download

http://downloads.us.xiph.org/releases/speex/speex-1.2beta1.tar.gz

SetupLinphone - 2007/01/08 http://ms11.voip.edu.tw/~webmaster/meeting/

http://ms11.voip.edu.tw/~chungyi/ncnu-research/linphone/install.html

2007/8/8 13

Speex API – Linux (2/7)#include <speex/speex.h>

For API of encoder and decoder

Compilegcc –lspeex source.c

2007/8/8 14

Speex API – Linux (3/7)

2007/8/8 15

Encoder Init

One round encode

Destory encoder

void *state = speex_encoder_init(&speex_nb_mode);SpeexBits bits;

speex_bits_init(&bits);speex_encoder_ctl(state, SPEEX_SET_QUALITY,

&quality);

speex_bits_reset(&bits);speex_encode(state, input, &bits);

int nbBytes = speex_bits_write(&bits, cbits, 200);

speex_encoder_destroy(state);speex_bits_destroy(&bits);

Speex API – Linux (4/7)Quality Frame_Size (Bytes)

0 6

1 10

2 15

3 20

4 20

5 28

6 28

7 38

8 38

9 46

10 62

2007/8/8 16

For every 320-bytes

Speex API – Linux (5/7)Demo

>>make >>gcc -lspeex speex_encode.c -o encode >>gcc -lspeex speex_decode.c -o decode

>>./encode

ResultMakefilespeex_encode.cspeex_encode.txt

2007/8/8 17

Speex API – Linux (6/7)

2007/8/8 18

Decoder Init

One round decode

Destory decoder

void *state speex_decoder_init(&speex_nb_mode);SpeexBits bits;

speex_bits_init(&bits);

speex_bits_read_from(&bits, cbits[j], nbBytes);speex_decode(state, &bits, output);

speex_decoder_destroy(state);speex_bits_destroy(&bits);

Speex API – Linux (7/7)Demo

>>./decode

Resultspeex_decode.cspeex_decode.txt

2007/8/8 19

Reference (1/2)Speex - mainhttp://www.speex.org/

Speex - windows toolshttp://downloads.us.xiph.org/releases/speex/speex-tools-

win32-v1.2beta1.zip

Speex - windows libhttp://downloads.us.xiph.org/releases/speex/libspeex-

win32-v1.2beta1.zip

Speex - Development RPMhttp://downloads.us.xiph.org/releases/speex/speex-devel-

1.2beta2-1.i386.rpm

2007/8/8 20

Reference (2/2)Speex – API documentation

(The Speex Codec Manual –very good!!)http://www.speex.org/docs/manual/speex-manual/

Speex – wikihttp://en.wikipedia.org/wiki/Speex

This ppt & demohttp://ms11.voip.edu.tw/~chungyi/ncnu-

research/Speex/Speex.zip

2007/8/8 21

top related