public async Task <string> TranscriptAsync(Stream wavVoiceStream) { var audio = await RecognitionAudio.FromStreamAsync(wavVoiceStream); var client = SpeechClient.Create(); var config = new RecognitionConfig { LanguageCode = LANGUAGE }; var response = await client.RecognizeAsync(config, audio); var alternative = response.Results.FirstOrDefault()?.Alternatives.FirstOrDefault(); return(alternative?.Transcript ?? string.Empty); }
public async Task <IActionResult> InsertAudio(int caminhaoId, IFormFile file) { try { MemoryStream msAudio = new MemoryStream(); file.CopyTo(msAudio); /* Grava no S3*/ var link = await _serv.SalvaAudioNoS3(msAudio); /* Transcreve audio */ string AudioTranscrito = String.Empty; var speech = SpeechClient.Create(); var response = speech.Recognize(new RecognitionConfig() { Encoding = RecognitionConfig.Types.AudioEncoding.EncodingUnspecified, LanguageCode = "pt-br", }, await RecognitionAudio.FromStreamAsync(file.OpenReadStream())); foreach (var result in response.Results) { foreach (var alternative in result.Alternatives) { AudioTranscrito = alternative.Transcript; } } await _serv.SalvaMensagemBanco(link, AudioTranscrito, 1, caminhaoId, "you"); return(Ok(file)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }