C #: транскрибировать WAV-файл в текст (речь в текст) с помощью пространств имен System.Speech

Как вы используете классы пространства имен .NET для преобразования аудио вWAV файл в текстовую форму, которую я могу отобразить на экране или сохранить в файл?

Я ищу некоторые учебные образцы.

ОБНОВИТЬ

Нашел пример кодаВот, Но когда я попробовал это, это дает неверные результаты. Ниже приведен пример кода VB I 'мы приняты. (На самом деле я нене обращайте внимания на лэнг, пока он либо vb / c # ...). Это не дает мне надлежащих результатов. Я предполагаю, что если мы введем правильную грамматику - то есть слова, которые мы ожидаем в записи - мы должны получить текстовый вывод этого. Сперва я'Я пробовал с примерами слов, которые находятся в вызове. Иногда печатается только это (одно) слово и ничего больше. Затем я попробовал слова, которые мы совершенно не ожидаем в записи ... К сожалению, это тоже распечатано ... :(

Imports System
Imports System.Speech.Recognition

Public Class Form1

    Dim WithEvents sre As SpeechRecognitionEngine

    Private Sub btnLiterate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLiterate.Click
        If TextBox1.Text.Trim.Length = 0 Then Exit Sub
        sre.SetInputToWaveFile(TextBox1.Text)
        Dim r As RecognitionResult
        r = sre.Recognize()
        If r Is Nothing Then
            TextBox2.Text = "Could not fetch result"
            Return
        End If
        TextBox2.Text = r.Text
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = String.Empty
        Dim dr As DialogResult
        dr = OpenFileDialog1.ShowDialog()
        If dr = Windows.Forms.DialogResult.OK Then
            If Not OpenFileDialog1.FileName.Contains("wav") Then
                MessageBox.Show("Incorrect file")
            Else
                TextBox1.Text = OpenFileDialog1.FileName
            End If
        End If
    End Sub

    Public Sub New()

        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        sre = New SpeechRecognitionEngine()

    End Sub

    Private Sub sre_LoadGrammarCompleted(ByVal sender As Object, ByVal e As System.Speech.Recognition.LoadGrammarCompletedEventArgs) Handles sre.LoadGrammarCompleted

    End Sub

    Private Sub sre_SpeechHypothesized(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechHypothesizedEventArgs) Handles sre.SpeechHypothesized
        System.Diagnostics.Debug.Print(e.Result.Text)
    End Sub

    Private Sub sre_SpeechRecognitionRejected(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechRecognitionRejectedEventArgs) Handles sre.SpeechRecognitionRejected
        System.Diagnostics.Debug.Print("Rejected: " & e.Result.Text)
    End Sub

    Private Sub sre_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.SpeechRecognizedEventArgs) Handles sre.SpeechRecognized
        System.Diagnostics.Debug.Print(e.Result.Text)
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim words As String() = New String() {"triskaidekaphobia"}
        Dim c As New Choices(words)
        Dim grmb As New GrammarBuilder(c)
        Dim grm As Grammar = New Grammar(grmb)
        sre.LoadGrammar(grm)
    End Sub

End Class
ОБНОВЛЕНИЕ (после 28 ноября)

Нашел способ загрузить грамматику по умолчанию. Это выглядит примерно так:

sre.LoadGrammar(New DictationGrammar)

Здесь все еще есть проблемы. Признание не точное. Выход мусор. Для файла 6 минут это дает, вероятно, 5-6 слов текста, совершенно не относящихся к голосовому файлу.

Ответы на вопрос(5)

Ваш ответ на вопрос