Пример #1
0
        private static SubMode[] BuildNbSubModes()
        {
            Ltp3Tap          ltp         = new Ltp3Tap(Codebook_Constants.gain_cdbk_nb, 7, 7);
            Ltp3Tap          ltp2        = new Ltp3Tap(Codebook_Constants.gain_cdbk_lbr, 5, 0);
            Ltp3Tap          ltp3        = new Ltp3Tap(Codebook_Constants.gain_cdbk_lbr, 5, 7);
            Ltp3Tap          ltp4        = new Ltp3Tap(Codebook_Constants.gain_cdbk_lbr, 5, 7);
            LtpForcedPitch   ltp5        = new LtpForcedPitch();
            NoiseSearch      innovation  = new NoiseSearch();
            SplitShapeSearch innovation2 = new SplitShapeSearch(40, 10, 4, Codebook_Constants.exc_10_16_table, 4, 0);
            SplitShapeSearch innovation3 = new SplitShapeSearch(40, 10, 4, Codebook_Constants.exc_10_32_table, 5, 0);
            SplitShapeSearch innovation4 = new SplitShapeSearch(40, 5, 8, Codebook_Constants.exc_5_64_table, 6, 0);
            SplitShapeSearch innovation5 = new SplitShapeSearch(40, 8, 5, Codebook_Constants.exc_8_128_table, 7, 0);
            SplitShapeSearch innovation6 = new SplitShapeSearch(40, 5, 8, Codebook_Constants.exc_5_256_table, 8, 0);
            SplitShapeSearch innovation7 = new SplitShapeSearch(40, 20, 2, Codebook_Constants.exc_20_32_table, 5, 0);
            NbLspQuant       lspQuant    = new NbLspQuant();
            LbrLspQuant      lspQuant2   = new LbrLspQuant();

            SubMode[] array = new SubMode[16];
            array[1] = new SubMode(0, 1, 0, 0, lspQuant2, ltp5, innovation, 0.7f, 0.7f, -1f, 43);
            array[2] = new SubMode(0, 0, 0, 0, lspQuant2, ltp2, innovation2, 0.7f, 0.5f, 0.55f, 119);
            array[3] = new SubMode(-1, 0, 1, 0, lspQuant2, ltp3, innovation3, 0.7f, 0.55f, 0.45f, 160);
            array[4] = new SubMode(-1, 0, 1, 0, lspQuant2, ltp4, innovation5, 0.7f, 0.63f, 0.35f, 220);
            array[5] = new SubMode(-1, 0, 3, 0, lspQuant, ltp, innovation4, 0.7f, 0.65f, 0.25f, 300);
            array[6] = new SubMode(-1, 0, 3, 0, lspQuant, ltp, innovation6, 0.68f, 0.65f, 0.1f, 364);
            array[7] = new SubMode(-1, 0, 3, 1, lspQuant, ltp, innovation4, 0.65f, 0.65f, -1f, 492);
            array[8] = new SubMode(0, 1, 0, 0, lspQuant2, ltp5, innovation7, 0.7f, 0.5f, 0.65f, 79);
            return(array);
        }
Пример #2
0
        protected internal static SubMode[] BuildWbSubModes()
        {
            HighLspQuant     lspQuant    = new HighLspQuant();
            SplitShapeSearch innovation  = new SplitShapeSearch(40, 10, 4, Codebook_Constants.hexc_10_32_table, 5, 0);
            SplitShapeSearch innovation2 = new SplitShapeSearch(40, 8, 5, Codebook_Constants.hexc_table, 7, 1);

            SubMode[] array = new SubMode[8];
            array[1] = new SubMode(0, 0, 1, 0, lspQuant, null, null, 0.75f, 0.75f, -1f, 36);
            array[2] = new SubMode(0, 0, 1, 0, lspQuant, null, innovation, 0.85f, 0.6f, -1f, 112);
            array[3] = new SubMode(0, 0, 1, 0, lspQuant, null, innovation2, 0.75f, 0.7f, -1f, 192);
            array[4] = new SubMode(0, 0, 1, 1, lspQuant, null, innovation2, 0.75f, 0.75f, -1f, 352);
            return(array);
        }