Esempio n. 1
0
        public static SongParametrs Test3()
        {
            int MelodySize = 2048 * 32;
            int beatSize   = 256 * 16;
            var melody     = new int[MelodySize];

            for (int i = 0; i < MelodySize; i += beatSize)
            {
                var sin = Generators.MusicImmitation(beatSize, MelodySize / 128, 2048, 100);
                for (int j = 0; j < beatSize; j++)
                {
                    if (i != 0)
                    {
                        melody[i + j] = (int)sin[j];
                    }
                    else
                    {
                        melody[i + j] = 0;
                    }
                }
            }
            var dat = new SongData()
            {
                Left  = melody,
                Right = melody,
                leng  = MelodySize
            };
            var param = BeatPerMinutDetecter.Detector(dat);

            return(param);
        }
Esempio n. 2
0
        public static SongParametrs Test6()
        {
            int MelodySize = 44100 * 6;
            int Start      = 44100 * 20;

            var musik   = WavFile.Read(@"D:\Test4.wav");
            var melodyl = new int[MelodySize];
            var melodyr = new int[MelodySize];

            for (int i = 0; i < (MelodySize - 1) * 2; i += 2)//musik.DataList.Count;i++)
            {
                melodyl[i / 2]     = musik.DataList[i + Start];
                melodyr[i / 2 + 1] = musik.DataList[i + Start];
            }

            var dat = new SongData()
            {
                Left  = melodyl,
                Right = melodyr,
                leng  = MelodySize
            };
            var param = BeatPerMinutDetecter.Detector(dat);

            return(param);
        }
Esempio n. 3
0
        public static List <Tuple <double, double>[]> Test7()
        {
            int MelodySize = 44100 * 3;
            int Start      = 44100 * (60 * 4 + 15);//44100 * 30;//

            var ret = new List <Tuple <double, double>[]>();

            var musik = WavFile.Read(@"D:\Test5.wav");

            var musik1 = WavFile.Read(@"D:\Test5.wav");


            var melodyl = new int[MelodySize];
            var melodyr = new int[MelodySize];

            for (int i = 0; i < (MelodySize - 1) * 2; i += 2)//musik.DataList.Count;i++)
            {
                melodyl[i / 2]     = musik.DataList[i + Start];
                melodyr[i / 2 + 1] = musik.DataList[i + Start];
            }

            var dat = new SongData()
            {
                Left  = melodyl,
                Right = melodyr,
                leng  = MelodySize
            };

            var param = BeatPerMinutDetecter.Detector(dat);

            var Mod = new MelodyModell
            {
                BPMd = (int)param.TempD
            };


            Mod.StartSd = (Start + (int)param.StartBeat) % Mod.BPMd;

            MusicMod(ret, musik, musik1, Mod);

            WavFile.Write(@"D:\TestWP3.wav", musik);
            return(ret);
        }