Azure Speech SDK 使用 golang 将语音转换为流中的文本

问题描述 投票:0回答:1

在 golang 中使用 Azure Speech SDK 语音转文本时。 我想使用流中的数据 但输出超时。 如何解决?

base64Data := "xxxx"
audioBytes, err := base64.StdEncoding.DecodeString(baseData)
    if err != nil {
        panic(err)
    }
//input stream
audioInputStream, err2 := audio.CreatePushAudioInputStream()
    if err2 != nil {
        fmt.Println("CreatePushAudioInputStream err:", err2)
        return
    }

err = audioInputStream.Write(audioBytes[44:])
    if err != nil {
        fmt.Println("write :", err)
        return
    }
audioConfig, err := audio.NewAudioConfigFromStreamInput(audioInputStream)
    if err != nil {
        fmt.Println("Got an error: ", err)
        return
    }

azure go audio sdk speech
1个回答
0
投票

尝试使用超时设置修改此代码。

// ... (your existing code)

// Set a timeout (example: 30 seconds)
timeout := 30 * time.Second

// Create a speech configuration
speechConfig, err := speechsdk.NewSpeechConfigFromSubscription("<your-subscription-key>", "<your-service-region>")
if err != nil {
    fmt.Println("Error creating speech config: ", err)
    return
}

// Set the service timeout
speechConfig.SetServiceProperty("timeout", timeout.String(), true)

// Create a speech recognizer with the specified settings
speechRecognizer, err := speechsdk.NewSpeechRecognizerFromConfig(speechConfig, audioConfig)
if err != nil {
    fmt.Println("Error creating speech recognizer: ", err)
    return
}

// ... (continue with speech recognition logic)

© www.soinside.com 2019 - 2024. All rights reserved.