Java Speech codec  SDK  v.1.1 

Programmer's Manual

General information

Java Speech codec Software Development Kit (SDK) is designed for  Internet Telephony, Web based voice communication, Voice mail, Voice chat  developers for easy adding voice codec to their Java programs.

Java Speech codec SDK includes the speech encoder/decoder class, implementation examples and free support.

Speech codec Java class allows you to compress digitized speech signal to output 8000bps bitrate  and decompress it.

Java speech codec compatible with speech codec in C++   http://www.vimas.com/ve_codec.htm .

Codec based on the Algebraic Code Excited Linear Prediction (ACELP). Adaptive and fixed codebooks and linear spectral frequency (LSF) presentation of the linear prediction (LP) parameters are used in the codec. Algebraic fixed codebook and algebraic LSF quantizer for reducing computation load are used.

Voice Activity Detector (VAD) for recognizing voice and pauses to speech codec is embedded. VAD allows more efficiently channel resources using. VAD is adaptive to noise level.  Frame loss recovery mechanism to decoder is embedded.

Codec performance:

Encoder input speech signal: sampling frequency 8000Hz, 16 bit per sample.

Output bitrate: 8000 bits per second.

Algorithmic delay: < 60ms.

Frame length: 120 samples.

 

Java Speech Codec SDK Reference Guide

Java Codec class contains 2 public methods:

public short FrameEncoder(byte in[], byte out[], short Thresh )  and

public void FrameDecoder( byte in[], byte out[], short LossFrame  ) .

 

FrameEncoder()

 

Prototype:

public short FrameEncoder(byte in[], byte out[], short Thresh )

Description:

encode 120 samples speech frame and make decision: voice or pause.

Input parameters:

 

byte in[]

is a array that contains 120 samples of the input speech. Each sample is 2 bytes, so the array size is 240 bytes. In each sample the LSB (Least Significant Byte )  is first, the MSB (Most Significant Byte) is second.

byte out[]

Is array that contains 15 bytes of compressed speech frame

short Thresh

is short  value. It is parameter for VAD threshold adjustment. We recommend Thresh = 100.

Output parameter:

 

short

is VAD decision. If frame is speech, VadDecision = 1. If frame is pause, VadDecision =0.

 

public void FrameDecoder( byte in[], byte out[], short LossFrame  ) :

FrameDecoder()

 

Prototype:

public void FrameDecoder (byte in[], byte out[], short LossFrame  )

Description:

FrameDecoder() decode encoded speech frame.

Input parameters:

 

byte in[]

Is array that contains 15 bytes of compressed speech frame.

byte out[],

is a array that contains 120 samples of the decoded speech. Each sample is 2 bytes, so the array size is 240 bytes. In each sample the LSB (Least Significant Byte )  is first, the MSB (Most Significant Byte) is second.

short LossFrame

If frame is received, the FrameLoss=0, if frame is loss, the LossFrame=1. The indication loss/unloss is external.

 

How to use Java speech codec class

The example allows you to read digitized speech from file in PCM format, compress and decompress it frame by frame and write compressed and decompressed frames to files.  

Note. If you wish to use the speech codec in the multichannel mode, for consultation, please, contact us .

The trial version of speech codec has the same functionality as commercial version but encoder can process only 10 sec. of the  digitized speech.  

The sound quality you can estimate on-line on the http://www.vimas.com/ve_codec.htm  .

For free support contact us.

Note: You are not permitted to distribute applications that use the free trial version. You must purchase a licenced version of the Java speech codec SDK , if you wish to create and distribute the  commercial applications.

New!   Available now!

1. The new 4800bps speech codec SDK .

2. The new 16kbps wideband speech codec SDK.

                  Contact us.

 

Copyright © VIMAS Technologies, 1998-2001.