Можно ли программно тренировать распознаватель, дающий .wavs вместо разговора с микрофоном?
Если это так, как это сделать?, в настоящее время у меня есть код, который выполняет распознавание аудио в файле 0.wav и записывает распознанный текст в консоль.
Imports System.IO
Imports System.Speech.Recognition
Imports System.Speech.AudioFormat
Namespace SampleRecognition
Class Program
Shared completed As Boolean
Public Shared Sub Main(ByVal args As String())
Using recognizer As New SpeechRecognitionEngine()
Dim dictation As Grammar = New DictationGrammar()
dictation.Name = "Dictation Grammar"
recognizer.LoadGrammar(dictation)
' Configure the input to the recognizer.
recognizer.SetInputToWaveFile("C:\Users\ME\v02\0.wav")
' Attach event handlers for the results of recognition.
AddHandler recognizer.SpeechRecognized, AddressOf recognizer_SpeechRecognized
AddHandler recognizer.RecognizeCompleted, AddressOf recognizer_RecognizeCompleted
' Perform recognition on the entire file.
Console.WriteLine("Starting asynchronous recognition...")
completed = False
recognizer.RecognizeAsync()
' Keep the console window open.
While Not completed
Console.ReadLine()
End While
Console.WriteLine("Done.")
End Using
Console.WriteLine()
Console.WriteLine("Press any key to exit...")
Console.ReadKey()
End Sub
' Handle the SpeechRecognized event.
Private Shared Sub recognizer_SpeechRecognized(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)
If e.Result IsNot Nothing AndAlso e.Result.Text IsNot Nothing Then
Console.WriteLine(" Recognized text = {0}", e.Result.Text)
Else
Console.WriteLine(" Recognized text not available.")
End If
End Sub
' Handle the RecognizeCompleted event.
Private Shared Sub recognizer_RecognizeCompleted(ByVal sender As Object, ByVal e As RecognizeCompletedEventArgs)
If e.[Error] IsNot Nothing Then
Console.WriteLine(" Error encountered, {0}: {1}", e.[Error].[GetType]().Name, e.[Error].Message)
End If
If e.Cancelled Then
Console.WriteLine(" Operation cancelled.")
End If
If e.InputStreamEnded Then
Console.WriteLine(" End of stream encountered.")
End If
completed = True
End Sub
End Class
End Namespace
РЕДАКТИРОВАТЬ
Я понимаю, что использование мастера обучения полезно для этого
Для этого нажмите "Пуск" button-> "Управление" Panel-> "Простота Access-"> "Распознавание речи".
,
Как настроить распознавание речи с помощью пользовательских файлов WAV или даже mp3?
При использовании мастера обучения (обучающий интерфейс панели управления) обучающие файлы сохраняются в {AppData}\Local\Microsoft\Speech\Files\TrainingAudio.
Как я могу использовать или сделать индивидуальное обучение вместо использования Мастера обучения?
Панель управления речью создает записи реестра для обучающих аудиофайлов в ключе HKCU\Software\Microsoft\Speech\RecoProfiles\Tokens {ProfileGUID} {00000000-0000-0000-0000-0000000000000000}\Files
Должны ли записи реестра, созданные кодом, быть там?
Причина для этого заключается в том, что я хочу настраивать свои собственные файлы wav и список слов и фраз, а затем переносить все в другие системы.