I have code like below, but it outputs
Session Started (ID= 2e73d3d49f934b66af05ca3438339e81)
Timed out
And it seems can not detect which language is in the audio file.
How can I resolve the timeout issue and detect language type ?
func sessionStartedHandler(event speech.SessionEventArgs) {
defer event.Close()
fmt.Println("Session Started (ID=", event.SessionID, ")")
}
// handlers ignored
func main() {
speechKey := os.Getenv("SPEECH_KEY")
speechRegion := os.Getenv("SPEECH_REGION")
file := "./OSR_us_000_0010_8k.wav"
audioConfig, err := audio.NewAudioConfigFromWavFileInput(file)
defer audioConfig.Close()
config, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion)
defer config.Close()
speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(config, audioConfig)
defer speechRecognizer.Close()
speechRecognizer.SessionStarted(sessionStartedHandler)
task := speechRecognizer.RecognizeOnceAsync()
var outcome speech.SpeechRecognitionOutcome
select {
case outcome = <-task:
fmt.Println("got", outcome)
case <-time.After(10 * time.Second):
fmt.Println("Timed out")
return
}
defer outcome.Close()
if outcome.Error != nil {
fmt.Println("Got an error: ", outcome.Error)
}
fmt.Println("Got a recognition!")
}