Beispiel #1
0
        static void Main(string[] args)
        {
            var start = DateTime.Now;

            string base_dir = "D:\\samples";

            var tests = new List <string>();

            using (var waveOut = new WaveOutEvent())
            {
                var voiceDetector = new AutocorrellatedVoiceActivityDetector();


                foreach (var pessoas in Directory.GetDirectories(base_dir).OrderBy(f => f))
                {
                    var info = new DirectoryInfo(pessoas);
                    var nome = info.Name;

                    Console.WriteLine($"nome:{nome}");

                    VoicePrint voice = null;

                    foreach (var audio in Directory.GetFiles(pessoas, "audio_*.wav", SearchOption.TopDirectoryOnly))
                    {
                        Console.WriteLine($"nome:{audio}");



                        using (var fs = File.OpenRead(audio))
                        {
                            if (voice == null)
                            {
                                voice = recognito.CreateVoicePrint(nome, fs);
                            }
                            else
                            {
                                voice = recognito.MergeVoiceSample(nome, fs);
                            }
                        }

                        //using (var wr = new WaveFileReader(audio))
                        //{
                        //	Console.WriteLine("Play Original");
                        //	waveOut.Init(wr);
                        //	waveOut.PlayAndWait();
                        //}
                    }
                }
            }

            Console.WriteLine("\n\nTestes");
            tests = Directory.GetFiles(base_dir, "teste_*.wav", SearchOption.AllDirectories).ToList();

            foreach (var test in tests)
            {
                Console.WriteLine($"Testando: {test}");

                using (var fs = new FileStream(test, FileMode.Open))
                {
                    var identify = recognito.Identify(fs).FirstOrDefault();

                    Console.WriteLine($"identify.Key:{identify.Key},identify.Distance: {identify.Distance}, identify.LikelihoodRatio:{identify.LikelihoodRatio}");
                }
            }


            Console.WriteLine($"Time:{(DateTime.Now - start)}");

            Console.WriteLine("Press Any Key do Close");
            Console.ReadKey();
        }