private List <String> Transcribe_Offline() { List <String> result = new List <string>(); var waveBuffer = new WaveBuffer(File.ReadAllBytes(tmpWavFilePath)); using (var waveInfo = new WaveFileReader(tmpWavFilePath)) { Metadata metaResult = _sttClient.SpeechToTextWithMetadata(waveBuffer.ShortBuffer, Convert.ToUInt32(waveBuffer.MaxSize / 2), 16000); List <CandidateTranscript> candidateTranscriptions = metaResult.Transcripts.ToList(); candidateTranscriptions.OrderByDescending(x => x.Confidence); foreach (CandidateTranscript ct in candidateTranscriptions) { result.Add(MetadataToString(ct)); } } waveBuffer.Clear(); return(result); }