/// <summary>Wideband initialisation</summary> public override void wbinit() { lowenc = new org.xiph.speex.NbEncoder(); ((org.xiph.speex.NbEncoder)lowenc).nbinit(); // Initialize SubModes base.wbinit(); // Initialize variables init(160, 40, 8, 640, .9f); uwb = false; nb_modes = 5; sampling_rate = 16000; }
/// <summary>Initialisation</summary> /// <param name="mode">the mode of the encoder (0=NB, 1=WB, 2=UWB).</param> /// <param name="quality">the quality setting of the encoder (between 0 and 10).</param> /// <param name="sampleRate">the number of samples per second.</param> /// <param name="channels">the number of audio channels (1=mono, 2=stereo, ...).</param> /// <returns>true if initialisation successful.</returns> public virtual bool init(int mode, int quality, int sampleRate, int channels) { switch (mode) { case 0: { encoder = new org.xiph.speex.NbEncoder(); ((org.xiph.speex.NbEncoder)encoder).nbinit(); break; } case 1: { //Wideband encoder = new org.xiph.speex.SbEncoder(); ((org.xiph.speex.SbEncoder)encoder).wbinit(); break; } case 2: { encoder = new org.xiph.speex.SbEncoder(); ((org.xiph.speex.SbEncoder)encoder).uwbinit(); break; } default: { //*/ return false; break; } } encoder.setQuality(quality); this.frameSize = encoder.getFrameSize(); this.sampleRate = sampleRate; this.channels = channels; rawData = new float[channels * frameSize]; bits.init(); return true; }
/// <summary>Ultra-wideband initialisation</summary> public override void uwbinit() { lowenc = new org.xiph.speex.SbEncoder(); ((org.xiph.speex.SbEncoder)lowenc).wbinit(); // Initialize SubModes base.uwbinit(); // Initialize variables init(320, 80, 8, 1280, .7f); uwb = true; nb_modes = 2; sampling_rate = 32000; }