Mohammad Tavoosi Ответов: 0

C# - как сделать уникальное распознавание голоса?


Привет, у меня есть проект C#, который я хочу добавить к этой уникальной функции распознавания голоса.
В этом проекте я должен иметь базу данных образцов голоса разных людей и сравнивать входящие звуки с точки зрения параметров со звуками в базе данных, но я не знаю, как извлечь эти параметры из звуков? И как мне их сравнивать?
Я слышал, что это можно сделать с помощью тем машинного обучения, но я еще ничего о них не знаю.
Дорогие друзья, не могли бы вы познакомить меня с некоторыми ресурсами или учебниками для этого?
Или если ты сможешь вести меня?
Спасибо.....

Что я уже пробовал:

До сих пор мне удавалось реализовать только чувствительную к тексту программу распознавания голоса, но этого недостаточно, потому что она не чувствительна к определенному звуку:
public partial class EnVoiceUC : UserControl
    {
        public EnVoiceUC()
        {
            InitializeComponent();
        }
        string[] dialogs = Program.dlgArr;
        private void Recorder_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            Form1 f1 = new Form1();
            string recText = e.Result.Text;
            for (int i = 0; i < dialogs.Length; i++)
            {
                if(dialogs[i]==recText)
                {
                    try
                    {
                        ((Form)this.TopLevelControl).Hide();
                        f1.ShowDialog();
                        ((Form)this.TopLevelControl).Close();
                    } catch {;}
                }
            }
        }

        private void DoRecord_Click(object sender, EventArgs e)
        {
            System.Media.SystemSounds.Beep.Play();
            VoiceRecorder(true);
        }

        public void VoiceRecorder(bool enable)
        {
            Choices voices = new Choices();
            SpeechRecognitionEngine recorder = new SpeechRecognitionEngine();
            voices.Add(dialogs);
            Grammar gramer = new Grammar(new GrammarBuilder(voices));
            label2.Visible = enable;
            if (enable)
            {
                try
                {
                    recorder.RequestRecognizerUpdate();
                    recorder.LoadGrammar(gramer);
                    recorder.SpeechRecognized += Recorder_SpeechRecognized;
                    recorder.SetInputToDefaultAudioDevice();
                    recorder.RecognizeAsync(RecognizeMode.Multiple);
                }
                catch { return; }
            }
            else
            {
                try { recorder.UnloadGrammar(gramer); } catch { return; }
            }
        }
    }

Gerry Schmitz

Зависит от того, какой "движок" вы используете. Он должен быть "обучен", и это будет отражено в их документации с точки зрения того, какой тип входных данных он поддерживает для обучения.

Ashirwad Satapathi

Как насчет через динамик распознавание когнитивных услуги, предлагаемые Azure. Надеюсь, это поможет решить вашу проблему.

https://azure.microsoft.com/en-in/services/cognitive-services/speaker-recognition/

0 Ответов