微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Google Cloud SpeechV1 API进行文本语音转换-需要能够正确有效地处理3个小时以上的音频文件

如何解决如何使用Google Cloud SpeechV1 API进行文本语音转换-需要能够正确有效地处理3个小时以上的音频文件

我正在寻找文档和资料,但找不到解决方

已安装NuGet软件包

生成了API密钥

但是找不到有关如何使用API​​密钥的适当文档

此外,我希望能够上传很长的音频文件

那么上载长达3个小时的音频文件并获得结果的正确方法是什么?

我有300美元的预算,所以应该足够

这是我到目前为止的代码

代码当前失败,因为我目前不知道如何正确设置凭据

我还准备使用服务帐户文件

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender,RoutedEventArgs e)
    {
        var speech = SpeechClient.Create();           
        
        var config = new RecognitionConfig
        {               
            Encoding = RecognitionConfig.Types.AudioEncoding.Flac,SampleRateHertz = 48000,LanguageCode = LanguageCodes.English.UnitedStates
        };
        var audio = RecognitionAudio.FromStorageUri("1m.flac");

        var response = speech.Recognize(config,audio);

        foreach (var result in response.Results)
        {
            foreach (var alternative in result.Alternatives)
            {
                Debug.WriteLine(alternative.Transcript);
            }
        }
    }
}

enter image description here

我不想设置环境变量。我同时拥有API密钥和服务帐户json文件。如何手动设置?

解决方法

如果您不想使用环境变量,则需要使用SpeechClientBuilder创建具有自定义凭据的SpeechClient。假设您在某处有一个服务帐户文件,请更改此内容:

var speech = SpeechClient.Create();

对此:

var speech = new SpeechClientBuilder
{
    CredentialsPath = "/path/to/your/file"
}.Build();

请注意,要执行长时间运行的识别操作,您还应该使用LongRunningRecognize方法-我强烈怀疑您当前的RPC将失败,或者明确地因为它试图在太大的文件上运行,或者只会超时。

,

在创建Speech实例之前,您需要设置环境变量:

 Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS","text-tospeech.json");

第二个参数(text-tospeech.json)是具有Google Api生成的凭据的文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。