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); }
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); }
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); }