Я могу конвертировать аудио файлы в текст, если они меньше минуты. Мне нужно расшифровать более длинные файлы. Очевидно, вам нужно иметь файл в облачном хранилище, но я не могу понять, есть ли одна команда, которая делает это, или я должен делать это отдельно. Теперь я использую:
var credential = GoogleCredential.FromFile(GoogleCredentials);
var channel = new Grpc.Core.Channel(SpeechClient.DefaultEndpoint.ToString(), credential.ToChannelCredentials());
var speech = SpeechClient.Create(channel);
var response = speech.LongRunningRecognize(
new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
LanguageCode = "en",
},
RecognitionAudio.FromFile(waveFile));
response = response.PollUntilCompleted();
Я знаю, что мне нужно указать файл в облачном хранилище, например:
RecognitionAudio.FromStorageUri("gs://ldn-speech/" + waveFile);
Но я не знаю, как получить файлв ведро GS. Должен ли я сделать это на отдельном этапе или как часть одного из API речи? Я ищу кого-то, чтобы показать мне пример.
РЕДАКТИРОВАТЬ: я обнаружил, что мне нужно загрузить файл отдельно и может использовать файл учетных данных, который я уже использовал в процессе распознавания речи: Итак, всеМне нужно было:
var credential = GoogleCredential.FromFile(GoogleCredentials);
var storage = StorageClient.Create(credential);
using (var f = File.OpenRead(fullFileName))
{
fileName = Path.GetFileName(fullFileName);
storage.UploadObject(bucketName, fileName, null);
}