org.xiph.speex

Class SbEncoder

Implemented Interfaces:
Codebook, Encoder

public class SbEncoder
extends SbCodec
implements Encoder

Wideband Speex Encoder
Version:
$Revision: 1.2 $
Author:
Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)

Field Summary

static int[]
NB_QUALITY_MAP
The Narrowband Quality map indicates which narrowband submode to use for the given wideband/ultra-wideband quality setting
static int[]
UWB_QUALITY_MAP
The Ultra-wideband Quality map indicates which sideband submode to use for the given ultra-wideband quality setting
static int[]
WB_QUALITY_MAP
The Wideband Quality map indicates which sideband submode to use for the given wideband/ultra-wideband quality setting
protected float
abr_count
protected float
abr_drift
Relative quality that will be needed by VBR
protected float
abr_drift2
protected int
abr_enabled
1 for enabling VAD, 0 otherwise
private float[]
autocorr
Reflection coefficients
private float[]
buf
private float[]
bw_lpc1
Interpolated LPCs
private float[]
bw_lpc2
LPCs after bandwidth expansion by gamma1 for perceptual weighting
protected int
complexity
private float[]
h0_mem
private float[]
interp_lpc
Interpolated LSPs
private float[]
interp_lsp
LSPs for previous frame
private float[]
lagWindow
protected Encoder
lowenc
The encoder for the lower half of the Spectrum.
private float[]
lsp
auto-correlation
private float[]
mem_sp2
LPCs after bandwidth expansion by gamma2 for perceptual weighting
private float[]
mem_sw
protected int
nb_modes
private float[]
old_lsp
LSPs for current frame
private float[]
rc
protected float
relative_quality
Quality setting for VBR encoding
private float[]
res
Weighted signal buffer
protected int
sampling_rate
protected int
submodeSelect
private float[]
swBuf
private float[]
target
private boolean
uwb
protected int
vad_enabled
1 for enabling VBR, 0 otherwise
protected int
vbr_enabled
Complexity setting (0-10 from least complex to most complex)
protected float
vbr_quality
ABR setting (in bps), 0 if off
private float[]
window
private float[]
x1d

Fields inherited from class org.xiph.speex.SbCodec

QMF_ORDER, SB_FRAME_SIZE, SB_SUBMODES, SB_SUBMODE_BITS, foldingGain, fullFrameSize, g0_mem, g1_mem, high, x0d, y0, y1

Fields inherited from class org.xiph.speex.NbCodec

NB_FRAME_SIZE, NB_SUBMODES, NB_SUBMODE_BITS, VERY_SMALL, awk1, awk2, awk3, bufSize, dtx_enabled, excBuf, excIdx, exc_gain_quant_scal1, exc_gain_quant_scal3, filters, first, frameSize, frmBuf, frmIdx, gamma1, gamma2, innov, interp_qlpc, interp_qlsp, lag_factor, lpc, lpcSize, lpc_floor, m_lsp, max_pitch, mem_sp, min_pitch, nbSubframes, old_qlsp, pi_gain, pre_mem, preemph, qlsp, subframeSize, submodeID, submodes, voc_m1, voc_m2, voc_mean, voc_offset, windowSize

Fields inherited from interface org.xiph.speex.Codebook

NB_CDBK_SIZE, NB_CDBK_SIZE_HIGH1, NB_CDBK_SIZE_HIGH2, NB_CDBK_SIZE_LOW1, NB_CDBK_SIZE_LOW2, cdbk_nb, cdbk_nb_high1, cdbk_nb_high2, cdbk_nb_low1, cdbk_nb_low2, exc_10_16_table, exc_10_32_table, exc_20_32_table, exc_5_256_table, exc_5_64_table, exc_8_128_table, gain_cdbk_lbr, gain_cdbk_nb, h0, h1, hexc_10_32_table, hexc_table, high_lsp_cdbk, high_lsp_cdbk2

Method Summary

int
encode(Bits bits, float[] in)
Encode the given input signal.
int
getAbr()
Returns the Average Bit Rate used (0 if ABR is not turned on).
int
getBitRate()
Returns the bitrate.
int
getComplexity()
Returns the algorthmic complexity.
int
getEncodedFrameSize()
Returns the size in bits of an audio frame encoded with the current mode.
int
getLookAhead()
Return LookAhead.
int
getMode()
Returns the encoding submode currently in use.
float
getRelativeQuality()
Returns the relative quality.
int
getSamplingRate()
Returns the sampling rate.
boolean
getVad()
Returns whether or not we are using Voice Activity Detection encoding.
boolean
getVbr()
Returns whether or not we are using Variable Bit Rate encoding.
float
getVbrQuality()
Returns the Varible Bit Rate Quality.
void
init(int frameSize, int subframeSize, int lpcSize, int bufSize, float foldingGain)
Initialisation
void
setAbr(int abr)
Sets the Average Bit Rate.
void
setBitRate(int bitrate)
Sets the bitrate.
void
setComplexity(int complexity)
Sets the algorthmic complexity.
void
setDtx(boolean dtx)
Sets whether or not to use Discontinuous Transmission encoding.
void
setMode(int mode)
Sets the encoding submode.
void
setQuality(int quality)
Sets the Quality.
void
setSamplingRate(int rate)
Sets the sampling rate.
void
setVad(boolean vad)
Sets whether or not to use Voice Activity Detection encoding.
void
setVbr(boolean vbr)
Sets whether or not to use Variable Bit Rate encoding.
void
setVbrQuality(float quality)
Sets the Varible Bit Rate Quality.
void
uwbinit()
Ultra-wideband initialisation
void
wbinit()
Wideband initialisation

Methods inherited from class org.xiph.speex.SbCodec

buildUwbSubModes, buildWbSubModes, getDtx, getExc, getFrameSize, getInnov, init, uwbinit, wbinit

Methods inherited from class org.xiph.speex.NbCodec

buildNbSubModes, getDtx, getExc, getFrameSize, getInnov, getPiGain, init, nbinit

Field Details

NB_QUALITY_MAP

public static final int[] NB_QUALITY_MAP
The Narrowband Quality map indicates which narrowband submode to use for the given wideband/ultra-wideband quality setting

UWB_QUALITY_MAP

public static final int[] UWB_QUALITY_MAP
The Ultra-wideband Quality map indicates which sideband submode to use for the given ultra-wideband quality setting

WB_QUALITY_MAP

public static final int[] WB_QUALITY_MAP
The Wideband Quality map indicates which sideband submode to use for the given wideband/ultra-wideband quality setting

abr_count

protected float abr_count

abr_drift

protected float abr_drift
Relative quality that will be needed by VBR

abr_drift2

protected float abr_drift2

abr_enabled

protected int abr_enabled
1 for enabling VAD, 0 otherwise

autocorr

private float[] autocorr
Reflection coefficients

buf

private float[] buf

bw_lpc1

private float[] bw_lpc1
Interpolated LPCs

bw_lpc2

private float[] bw_lpc2
LPCs after bandwidth expansion by gamma1 for perceptual weighting

complexity

protected int complexity

h0_mem

private float[] h0_mem

interp_lpc

private float[] interp_lpc
Interpolated LSPs

interp_lsp

private float[] interp_lsp
LSPs for previous frame

lagWindow

private float[] lagWindow

lowenc

protected Encoder lowenc
The encoder for the lower half of the Spectrum.

lsp

private float[] lsp
auto-correlation

mem_sp2

private float[] mem_sp2
LPCs after bandwidth expansion by gamma2 for perceptual weighting

mem_sw

private float[] mem_sw

nb_modes

protected int nb_modes

old_lsp

private float[] old_lsp
LSPs for current frame

rc

private float[] rc

relative_quality

protected float relative_quality
Quality setting for VBR encoding

res

private float[] res
Weighted signal buffer

sampling_rate

protected int sampling_rate

submodeSelect

protected int submodeSelect

swBuf

private float[] swBuf

target

private float[] target

uwb

private boolean uwb

vad_enabled

protected int vad_enabled
1 for enabling VBR, 0 otherwise

vbr_enabled

protected int vbr_enabled
Complexity setting (0-10 from least complex to most complex)

vbr_quality

protected float vbr_quality
ABR setting (in bps), 0 if off

window

private float[] window

x1d

private float[] x1d

Method Details

encode

public int encode(Bits bits,
                  float[] in)
Encode the given input signal.
Specified by:
encode in interface Encoder
Parameters:
bits - - Speex bits buffer.
in - - the raw mono audio frame to encode.
Returns:
1 if successful.

getAbr

public int getAbr()
Returns the Average Bit Rate used (0 if ABR is not turned on).
Specified by:
getAbr in interface Encoder
Returns:
the Average Bit Rate used (0 if ABR is not turned on).

getBitRate

public int getBitRate()
Returns the bitrate.
Specified by:
getBitRate in interface Encoder
Returns:
the bitrate.

getComplexity

public int getComplexity()
Returns the algorthmic complexity.
Specified by:
getComplexity in interface Encoder
Returns:
the algorthmic complexity.

getEncodedFrameSize

public int getEncodedFrameSize()
Returns the size in bits of an audio frame encoded with the current mode.
Specified by:
getEncodedFrameSize in interface Encoder
Returns:
the size in bits of an audio frame encoded with the current mode.

getLookAhead

public int getLookAhead()
Return LookAhead.
Specified by:
getLookAhead in interface Encoder
Returns:
LookAhead.

getMode

public int getMode()
Returns the encoding submode currently in use.
Specified by:
getMode in interface Encoder
Returns:
the encoding submode currently in use.

getRelativeQuality

public float getRelativeQuality()
Returns the relative quality.
Specified by:
getRelativeQuality in interface Encoder
Returns:
the relative quality.

getSamplingRate

public int getSamplingRate()
Returns the sampling rate.
Specified by:
getSamplingRate in interface Encoder
Returns:
the sampling rate.

getVad

public boolean getVad()
Returns whether or not we are using Voice Activity Detection encoding.
Specified by:
getVad in interface Encoder
Returns:
whether or not we are using Voice Activity Detection encoding.

getVbr

public boolean getVbr()
Returns whether or not we are using Variable Bit Rate encoding.
Specified by:
getVbr in interface Encoder
Returns:
whether or not we are using Variable Bit Rate encoding.

getVbrQuality

public float getVbrQuality()
Returns the Varible Bit Rate Quality.
Specified by:
getVbrQuality in interface Encoder
Returns:
the Varible Bit Rate Quality.

init

public void init(int frameSize,
                 int subframeSize,
                 int lpcSize,
                 int bufSize,
                 float foldingGain)
Initialisation
Overrides:
init in interface SbCodec
Parameters:
frameSize -
subframeSize -
lpcSize -
bufSize -
foldingGain -

setAbr

public void setAbr(int abr)
Sets the Average Bit Rate.
Specified by:
setAbr in interface Encoder
Parameters:
abr -

setBitRate

public void setBitRate(int bitrate)
Sets the bitrate.
Specified by:
setBitRate in interface Encoder
Parameters:
bitrate -

setComplexity

public void setComplexity(int complexity)
Sets the algorthmic complexity.
Specified by:
setComplexity in interface Encoder
Parameters:
complexity -

setDtx

public void setDtx(boolean dtx)
Sets whether or not to use Discontinuous Transmission encoding.
Specified by:
setDtx in interface Encoder
Parameters:
dtx -

setMode

public void setMode(int mode)
Sets the encoding submode.
Specified by:
setMode in interface Encoder
Parameters:
mode -

setQuality

public void setQuality(int quality)
Sets the Quality.
Specified by:
setQuality in interface Encoder
Parameters:
quality -

setSamplingRate

public void setSamplingRate(int rate)
Sets the sampling rate.
Specified by:
setSamplingRate in interface Encoder
Parameters:
rate -

setVad

public void setVad(boolean vad)
Sets whether or not to use Voice Activity Detection encoding.
Specified by:
setVad in interface Encoder
Parameters:
vad -

setVbr

public void setVbr(boolean vbr)
Sets whether or not to use Variable Bit Rate encoding.
Specified by:
setVbr in interface Encoder
Parameters:
vbr -

setVbrQuality

public void setVbrQuality(float quality)
Sets the Varible Bit Rate Quality.
Specified by:
setVbrQuality in interface Encoder
Parameters:
quality -

uwbinit

public void uwbinit()
Ultra-wideband initialisation
Overrides:
uwbinit in interface SbCodec

wbinit

public void wbinit()
Wideband initialisation
Overrides:
wbinit in interface SbCodec

Copyright © 1999-2004 Wimba S.A. All Rights Reserved.