2012-08-24 6 views
0

저는 많은 연구를했으며 아래 코드를 생각해 냈습니다. 그것은 성공적으로 마이크를 사용하여 음성을 텍스트로 번역합니다.Visual Studio의 URL을 통한 음성 텍스트

내 웹 서버에 mp3로 오디오를 스트리밍하는 파일이 있습니다. mp3 파일에 대한 링크 일뿐입니다. 나는 그것을 텍스트로 번역해야합니다.

저는 이것을 수행하는 가장 좋은 방법을 찾으려고합니다. 따라서 컴퓨터 오디오로 오디오 입력을 선택할 수 있습니까 (예 : 웹 브라우저에서 오디오 재생)? 아니면 오디오를 직접 번역기로 스트리밍 할 수 있습니까? 내가 SetInputToWaveStream 방법을 사용해야한다고 생각하지만, 그것을 사용하는 방법을 이해하지 않습니다.

Private Sub InitializeRecognizerSynthesizer() 
Dim selectedRecognizer = (_ 
    Where e.Culture.Equals(Thread.CurrentThread.CurrentCulture)).FirstOrDefault() 
recognizer = New SpeechRecognitionEngine(selectedRecognizer) 
recognizer.AudioStateChanged += New EventHandler(Of AudioStateChangedEventArgs)(recognizer_AudioStateChanged) 
recognizer.SpeechHypothesized += New EventHandler(Of SpeechHypothesizedEventArgs)(recognizer_SpeechHypothesized) 
recognizer.SpeechRecognized += New EventHandler(Of SpeechRecognizedEventArgs)(recognizer_SpeechRecognized) 

synthesizer = New SpeechSynthesizer() 
End Sub 

Private Function SelectInputDevice() As Boolean 
Dim proceedLoading As Boolean = True 

If IsOscompatible() Then 
    Try 

     recognizer.SetInputToDefaultAudioDevice() 
    Catch 
      'no audio input device 
     proceedLoading = False 
    End Try 
Else 
    ThreadPool.QueueUserWorkItem(InitSpeechRecogniser) 
End If 
Return proceedLoading 
End Function 

답변

0

recognizer.SetInputToWaveFile (파일) - 파일 시스템의 파일에서 오디오 입력을 읽습니다.

recognizer.SetInputToAudioStream - 스트림에서 오디오 입력을 읽습니다. 간단한 예 :

FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read); 
SpeechAudioFormatInfo format = new SpeechAudioFormatInfo(8000, AudioBitsPerSample.Sixteen, AudioChannel.Mono); 
recognizer.SetInputToAudioStream(fs, format); 

스트림이나 파일을 읽을 때는 오디오 데이터가 지원되는 형식인지주의해야합니다. 예를 들어, 내 컴퓨터에서 작동하는 하나의 형식은 다음과 같습니다 샘플 당

  • 8 비트 초
  • PCM 인코딩

  • 단일 채널 모노
  • 22,050 샘플에 대한 Help with SAPI v5.1 SpeechRecognitionEngine always gives same wrong result with C#을 참조하십시오 오디오 형식에 대한 자세한 정보.

    질문은 웹 서버에서 리소스를 가져오고 스트림으로 처리, HttpWebResponse.GetResponseStream를 참조하는 방법을 경우

    - http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.getresponsestream(v=vs.100).aspx