에서 wav 파일 입력을 사용할 때 출력이 없습니다. 음성 인식을 사용하여 wav 파일의 입력 음성 (대화)을 텍스트로 변환해야하는 프로젝트를 진행하고 있습니다. 한동안 CMUSPhinx를 사용해 본 결과, Microsoft SAPI (Speech API)를 사용하는 것을 고려 중입니다. 5.4Microsoft SAPI 5.4 Api
Visual Studio에서 Visual Basic Windows 응용 프로그램으로 코딩하고 있습니다. 여기 내 코드입니다 다음 MY_WAVE_AUDIO_FILENAME에서
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Dim SAPI
' SAPI = CreateObject("sapi.spvoice")
' SAPI.Speak(TextBox1.Text)
' Create new recognizer
Dim Recognizer As New SpInprocRecognizer
' create input file stream
InputFile = New SpFileStream
' Defaults to open for read-only, and DoEvents false
InputFile.Open(MY_WAVE_AUDIO_FILENAME)
' connect wav audio input to speech recognition engine
Recognizer.AudioInputStream = InputFile
' create recognition context
RecoContext = Recognizer.CreateRecoContext
' AddHandler RecoContext.Recognition, AddressOf RecoContext_Recognition
' create grammar
Grammar = RecoContext.CreateGrammar
' ... and load dictation
Grammar.DictationLoad()
' start dictating
Grammar.DictationSetState(SGDSActive)
End Sub
, 나는 전체 경로와 파일 이름을 부여했다. 버튼을 클릭 할 때이 코드를 실행하면 결과가 표시되지 않습니다. 나는 다음과 같은 인식 방법을 사용했다 :
Private Sub RecoContext_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Object, ByVal RecognitionType As SpeechRecognitionType, ByVal Result As ISpeechRecoResult)
' Log/Report recognized phrase/information
Console.WriteLine("Reached here......")
TextBox1.Text = "Text should change"
End Sub
내가 응용 프로그램을 디버깅 할 때, 흐름은 RecoContext_Recognition 메소드에 도달하지 않는다. 입력 파일은 샘플 당 16 비트, 대화 시간이 30 초인 wav 파일입니다.
나는이 링크에서 언급 된 코드를 사용하고 있습니다 : http://msdn.microsoft.com/en-us/library/ee431813(v=vs.85).aspx
내가 문제를 확인할 수있는 방법? 나는 음성 인식 엔진에 받아쓰기 훈련이 필요하다는 어딘가를 읽었다. 나의 경우에도 필요하다면 어떻게 할 수 있는가? 또한이 링크에서 을 수행하기 위해 입력 파일의 길이를 지정해야한다는 언급이 있지만이를 수행하는 방법도 잘 모르겠습니다. 도움이 필요하다.