如何解决如何使用Google Cloud SpeechV1 API进行文本语音转换-需要能够正确有效地处理3个小时以上的音频文件
我正在寻找文档和资料,但找不到解决方案
已安装NuGet软件包
还生成了API密钥
但是找不到有关如何使用API密钥的适当文档
我有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);
}
}
}
}
我不想设置环境变量。我同时拥有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 举报,一经查实,本站将立刻删除。