Google 云流语音 API
Google Cloud Streaming Speech API
我需要通过 Google Cloud Speech API 进行实时语音识别。然而,它仍处于测试版,互联网上没有太多有用的东西。
https://cloud.google.com/speech/docs/samples 这里提供的示例很少,但我没有看到使用 C# 流式传输 API,这是否意味着我不能使用 C# 将我的音频输入传输到 Google Cloud演讲API?
有人尝试使用 .NET 将音频输入流式传输到 Cloud Speech API 吗?
仅供参考,我无法使用 Google 提供的普通网络语音 API。我只需要使用 Goolge Cloud Speech API.
您必须从这里下载示例应用程序:
https://cloud.google.com/speech/docs/samples
您将找到语音示例:快速入门和识别。
Recogize 有很多选项,Listen 就是其中之一。本示例为流式音频,并将结果连续写入控制台。
示例使用 protobuf 字节流进行流式传输。
这是代码的主要部分:
var credential = GoogleCredential.FromFile( "privatekey.json" ).CreateScoped( SpeechClient.DefaultScopes );
var channel = new Grpc.Core.Channel( SpeechClient.DefaultEndpoint.ToString(), credential.ToChannelCredentials() );
var speech = SpeechClient.Create( channel );
var streamingCall = speech.StreamingRecognize();
// Write the initial request with the config.
await streamingCall.WriteAsync(
new StreamingRecognizeRequest()
{
StreamingConfig = new StreamingRecognitionConfig()
{
Config = new RecognitionConfig()
{
Encoding =
RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "hu",
},
InterimResults = true,
}
} );
当然要改语言了
然后必须流内容:
streamingCall.WriteAsync(
new StreamingRecognizeRequest()
{
AudioContent = Google.Protobuf.ByteString
.CopyFrom( args.Buffer, 0, args.BytesRecorded )
} ).Wait();
我需要通过 Google Cloud Speech API 进行实时语音识别。然而,它仍处于测试版,互联网上没有太多有用的东西。
https://cloud.google.com/speech/docs/samples 这里提供的示例很少,但我没有看到使用 C# 流式传输 API,这是否意味着我不能使用 C# 将我的音频输入传输到 Google Cloud演讲API?
有人尝试使用 .NET 将音频输入流式传输到 Cloud Speech API 吗?
仅供参考,我无法使用 Google 提供的普通网络语音 API。我只需要使用 Goolge Cloud Speech API.
您必须从这里下载示例应用程序: https://cloud.google.com/speech/docs/samples
您将找到语音示例:快速入门和识别。
Recogize 有很多选项,Listen 就是其中之一。本示例为流式音频,并将结果连续写入控制台。
示例使用 protobuf 字节流进行流式传输。 这是代码的主要部分:
var credential = GoogleCredential.FromFile( "privatekey.json" ).CreateScoped( SpeechClient.DefaultScopes );
var channel = new Grpc.Core.Channel( SpeechClient.DefaultEndpoint.ToString(), credential.ToChannelCredentials() );
var speech = SpeechClient.Create( channel );
var streamingCall = speech.StreamingRecognize();
// Write the initial request with the config.
await streamingCall.WriteAsync(
new StreamingRecognizeRequest()
{
StreamingConfig = new StreamingRecognitionConfig()
{
Config = new RecognitionConfig()
{
Encoding =
RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "hu",
},
InterimResults = true,
}
} );
当然要改语言了
然后必须流内容:
streamingCall.WriteAsync(
new StreamingRecognizeRequest()
{
AudioContent = Google.Protobuf.ByteString
.CopyFrom( args.Buffer, 0, args.BytesRecorded )
} ).Wait();