Class NbEncoder

java.lang.Object
org.xiph.speex.NbCodec
org.xiph.speex.NbEncoder
All Implemented Interfaces:
Codebook, Encoder

public class NbEncoder extends NbCodec implements Encoder
Narrowband Speex Encoder
Version:
$Revision: 1.2 $
Author:
Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)
  • 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 narrowband quality setting
    • bounded_pitch

      private int bounded_pitch
    • pitch

      private int[] pitch
      Next frame should not rely on previous frames for pitch
    • pre_mem2

      private float pre_mem2
    • exc2Buf

      private float[] exc2Buf
      1-element memory for pre-emphasis
    • exc2Idx

      private int exc2Idx
      "Pitch enhanced" excitation
    • swBuf

      private float[] swBuf
      "Pitch enhanced" excitation
    • swIdx

      private int swIdx
      Weighted signal buffer
    • window

      private float[] window
      Start of weighted signal frame
    • buf2

      private float[] buf2
      Temporary (Hanning) window
    • autocorr

      private float[] autocorr
      2nd temporary buffer
    • lagWindow

      private float[] lagWindow
      auto-correlation
    • lsp

      private float[] lsp
      Window applied to auto-correlation
    • old_lsp

      private float[] old_lsp
      LSPs for current frame
    • interp_lsp

      private float[] interp_lsp
      LSPs for previous frame
    • interp_lpc

      private float[] interp_lpc
      Interpolated LSPs
    • bw_lpc1

      private float[] bw_lpc1
      Interpolated LPCs
    • bw_lpc2

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

      private float[] rc
      LPCs after bandwidth expansion by gamma2 for perceptual weighting
    • mem_sw

      private float[] mem_sw
      Reflection coefficients
    • mem_sw_whole

      private float[] mem_sw_whole
      Filter memory for perceptually-weighted signal
    • mem_exc

      private float[] mem_exc
      Filter memory for perceptually-weighted signal (whole frame)
    • vbr

      private Vbr vbr
      Filter memory for excitation (whole frame)
    • dtx_count

      private int dtx_count
      State of the VBR data
    • innov2

      private float[] innov2
      Number of consecutive DTX frames
    • complexity

      protected int complexity
    • vbr_enabled

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

      protected int vad_enabled
      1 for enabling VBR, 0 otherwise
    • abr_enabled

      protected int abr_enabled
      1 for enabling VAD, 0 otherwise
    • vbr_quality

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

      protected float relative_quality
      Quality setting for VBR encoding
    • abr_drift

      protected float abr_drift
      Relative quality that will be needed by VBR
    • abr_drift2

      protected float abr_drift2
    • abr_count

      protected float abr_count
    • sampling_rate

      protected int sampling_rate
    • submodeSelect

      protected int submodeSelect
  • Constructor Details

    • NbEncoder

      public NbEncoder()
  • Method Details

    • init

      public void init(int frameSize, int subframeSize, int lpcSize, int bufSize)
      Initialisation
      Overrides:
      init in class NbCodec
      Parameters:
      frameSize -
      subframeSize -
      lpcSize -
      bufSize -
    • 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:
      return 1 if successful.
    • 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.
    • setQuality

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

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

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

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

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

      public void setVbr(boolean vbr)
      Sets whether or not to use Variable Bit Rate encoding.
      Specified by:
      setVbr in interface Encoder
      Parameters:
      vbr -
    • 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.
    • setVad

      public void setVad(boolean vad)
      Sets whether or not to use Voice Activity Detection encoding.
      Specified by:
      setVad in interface Encoder
      Parameters:
      vad -
    • 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.
    • setDtx

      public void setDtx(boolean dtx)
      Sets whether or not to use Discontinuous Transmission encoding.
      Specified by:
      setDtx in interface Encoder
      Parameters:
      dtx -
    • 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).
    • setAbr

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

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

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

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

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

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

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

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

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