Package org.xiph.speex
Class NbCodec
- java.lang.Object
-
- org.xiph.speex.NbCodec
-
-
Field Summary
Fields Modifier and Type Field Description protected float[]awk1Gain of LPC filter at theta=pi (fe/2)protected float[]awk2Gain of LPC filter at theta=pi (fe/2)protected float[]awk3Gain of LPC filter at theta=pi (fe/2)protected intbufSizeLPC orderprotected intdtx_enabledstatic float[]exc_gain_quant_scal1static float[]exc_gain_quant_scal3protected float[]excBufprotected intexcIdxExcitation bufferprotected Filtersfiltersprotected intfirstActivated sub-modeprotected intframeSizeIs this the first frame?protected float[]frmBuf1-element memory for pre-emphasisprotected intfrmIdxInput buffer (original signal)protected floatgamma1Maximum pitch value allowedprotected floatgamma2Perceptual filter: A(z/gamma1)protected float[]innovStart of excitation frameprotected float[]interp_qlpcInterpolated quantized LSPsprotected float[]interp_qlspQuantized LSPs for previous frameprotected floatlag_factorPerceptual filter: A(z/gamma2)protected float[]lpcInnovation for the frameprotected floatlpc_floorLag windowing Gaussian widthprotected intlpcSizeAnalysis (LPC) window lengthprotected Lspm_lspprotected intmax_pitchMinimum pitch value allowedprotected float[]mem_spInterpolated quantized LPCsprotected intmin_pitchBuffer sizestatic int[]NB_FRAME_SIZEThe Narrowband Frame Size gives the size in bits of a Narrowband frame for a given narrowband submode.static intNB_SUBMODE_BITSThe Narrowband Submodes Bits gives the number bits used to encode the Narrowband Submodestatic intNB_SUBMODESThe Narrowband Submodes gives the number of submodes possible for the Narrowband codec.protected intnbSubframesSize of sub-framesprotected float[]old_qlspQuantized LSPs for current frameprotected float[]pi_gainFilter memory for synthesis signalprotected floatpre_memPre-emphasis: P(z) = 1 - a*z^-1protected floatpreemphNoise floor multiplier for A[0] in LPC analysisprotected float[]qlspLPCs for current frameprotected intsubframeSizeSize of framesprotected intsubmodeIDSub-mode dataprotected SubMode[]submodesstatic floatVERY_SMALLVery small initial value for some of the buffers.protected floatvoc_m1protected floatvoc_m2protected floatvoc_meanprotected intvoc_offsetprotected intwindowSizeNumber of sub-frames-
Fields inherited from interface org.xiph.speex.Codebook
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, NB_CDBK_SIZE, NB_CDBK_SIZE_HIGH1, NB_CDBK_SIZE_HIGH2, NB_CDBK_SIZE_LOW1, NB_CDBK_SIZE_LOW2
-
-
Constructor Summary
Constructors Constructor Description NbCodec()Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static SubMode[]buildNbSubModes()Build narrowband submodesbooleangetDtx()Returns whether or not we are using Discontinuous Transmission encoding.float[]getExc()Returns the excitation array.intgetFrameSize()Returns the size of a frame (ex: 160 samples for a narrowband frame, 320 for wideband and 640 for ultra-wideband).float[]getInnov()Returns the innovation array.float[]getPiGain()Returns the Pitch Gain array.protected voidinit(int frameSize, int subframeSize, int lpcSize, int bufSize)Initialisation.voidnbinit()Narrowband initialisation.
-
-
-
Field Detail
-
VERY_SMALL
public static final float VERY_SMALL
Very small initial value for some of the buffers.- See Also:
- Constant Field Values
-
NB_FRAME_SIZE
public static final int[] NB_FRAME_SIZE
The Narrowband Frame Size gives the size in bits of a Narrowband frame for a given narrowband submode.
-
NB_SUBMODES
public static final int NB_SUBMODES
The Narrowband Submodes gives the number of submodes possible for the Narrowband codec.- See Also:
- Constant Field Values
-
NB_SUBMODE_BITS
public static final int NB_SUBMODE_BITS
The Narrowband Submodes Bits gives the number bits used to encode the Narrowband Submode- See Also:
- Constant Field Values
-
exc_gain_quant_scal1
public static final float[] exc_gain_quant_scal1
-
exc_gain_quant_scal3
public static final float[] exc_gain_quant_scal3
-
m_lsp
protected Lsp m_lsp
-
filters
protected Filters filters
-
submodes
protected SubMode[] submodes
-
submodeID
protected int submodeID
Sub-mode data
-
first
protected int first
Activated sub-mode
-
frameSize
protected int frameSize
Is this the first frame?
-
subframeSize
protected int subframeSize
Size of frames
-
nbSubframes
protected int nbSubframes
Size of sub-frames
-
windowSize
protected int windowSize
Number of sub-frames
-
lpcSize
protected int lpcSize
Analysis (LPC) window length
-
bufSize
protected int bufSize
LPC order
-
min_pitch
protected int min_pitch
Buffer size
-
max_pitch
protected int max_pitch
Minimum pitch value allowed
-
gamma1
protected float gamma1
Maximum pitch value allowed
-
gamma2
protected float gamma2
Perceptual filter: A(z/gamma1)
-
lag_factor
protected float lag_factor
Perceptual filter: A(z/gamma2)
-
lpc_floor
protected float lpc_floor
Lag windowing Gaussian width
-
preemph
protected float preemph
Noise floor multiplier for A[0] in LPC analysis
-
pre_mem
protected float pre_mem
Pre-emphasis: P(z) = 1 - a*z^-1
-
frmBuf
protected float[] frmBuf
1-element memory for pre-emphasis
-
frmIdx
protected int frmIdx
Input buffer (original signal)
-
excBuf
protected float[] excBuf
-
excIdx
protected int excIdx
Excitation buffer
-
innov
protected float[] innov
Start of excitation frame
-
lpc
protected float[] lpc
Innovation for the frame
-
qlsp
protected float[] qlsp
LPCs for current frame
-
old_qlsp
protected float[] old_qlsp
Quantized LSPs for current frame
-
interp_qlsp
protected float[] interp_qlsp
Quantized LSPs for previous frame
-
interp_qlpc
protected float[] interp_qlpc
Interpolated quantized LSPs
-
mem_sp
protected float[] mem_sp
Interpolated quantized LPCs
-
pi_gain
protected float[] pi_gain
Filter memory for synthesis signal
-
awk1
protected float[] awk1
Gain of LPC filter at theta=pi (fe/2)
-
awk2
protected float[] awk2
Gain of LPC filter at theta=pi (fe/2)
-
awk3
protected float[] awk3
Gain of LPC filter at theta=pi (fe/2)
-
voc_m1
protected float voc_m1
-
voc_m2
protected float voc_m2
-
voc_mean
protected float voc_mean
-
voc_offset
protected int voc_offset
-
dtx_enabled
protected int dtx_enabled
-
-
Method Detail
-
nbinit
public void nbinit()
Narrowband initialisation.
-
init
protected void init(int frameSize, int subframeSize, int lpcSize, int bufSize)Initialisation.- Parameters:
frameSize-subframeSize-lpcSize-bufSize-
-
buildNbSubModes
private static SubMode[] buildNbSubModes()
Build narrowband submodes
-
getFrameSize
public int getFrameSize()
Returns the size of a frame (ex: 160 samples for a narrowband frame, 320 for wideband and 640 for ultra-wideband).- Returns:
- the size of a frame (number of audio samples in a frame).
-
getDtx
public boolean getDtx()
Returns whether or not we are using Discontinuous Transmission encoding.- Returns:
- whether or not we are using Discontinuous Transmission encoding.
-
getPiGain
public float[] getPiGain()
Returns the Pitch Gain array.- Returns:
- the Pitch Gain array.
-
getExc
public float[] getExc()
Returns the excitation array.- Returns:
- the excitation array.
-
getInnov
public float[] getInnov()
Returns the innovation array.- Returns:
- the innovation array.
-
-