Я пытаюсь реализовать распознавание речи с помощью Google voice api.
Я записываю необработанный звук на свою веб-страницу, а затем отправляю необработанный файл на сервер, где он пытается распознать с помощью API речи Google.
Вот мой угловой код
start() {
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
this.mediaRecorder = new MediaRecorder(stream);
this.mediaRecorder.start();
const audioChunks = [];
this.mediaRecorder.addEventListener("dataavailable", event => {
audioChunks.push(event.data);
});
this.mediaRecorder.addEventListener("stop", () => {
const audioBlob = new Blob(audioChunks, { type: "audio/wav"});
const audioUrl = URL.createObjectURL(audioBlob);
this.fileService.saveFile(audioBlob).subscribe(res => { console.log(res); });
const audio = new Audio(audioUrl);
audio.play();
});
});
}
Вот мой код контроллера C # '
private string GetSpeechToText()
{
string result = string.Empty;
try
{
SpeechClient speechClient = SpeechClient.Create();
RecognitionConfig config = new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
SampleRateHertz = 16000,
LanguageCode = "en-US",
};
RecognizeResponse response = speechClient.Recognize(config,
RecognitionAudio.FromFile(fileName));
foreach (var responseResult in response.Results)
{
foreach (var alternative in responseResult.Alternatives)
{
result += alternative.Transcript;
}
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
return result;
}
return result;
}
Звук хорошо воспроизводится как на стороне клиента, так и на файле на стороне сервера послезапись в файл.
Я правильно указал путь GOOGLE_APPLICATION_CREDENTIALS.
Но я получаю пустой ответ.Пожалуйста, скажите мне, если я что-то упустил