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.
Copyright © VIMAS Technologies,
1998-2001.