Воспроизвести звук, полученный как байт [] из перевода речи Azure - PullRequest
0 голосов
/ 23 октября 2019

Я слежу за сэмплами для Microsoft Cognitive Services Speech SDK, а именно Речевой перевод .

В примере для ядра dotnet в качестве аудиовхода используется микрофон и переводитсячто ты говоришьПереведенные результаты также доступны как синтезированная речь. Я хотел бы воспроизвести этот звук, но не смог найти соответствующий код для него.

Попытка использовать NAudio, как предложено в этом ответе , но я получаю искаженный звук. Угадайте, что есть еще формат аудио.

Есть указатели?

1 Ответ

0 голосов
/ 23 октября 2019

В .Net Core многие звуковые пакеты могут не работать. Например, с помощью NAudio я не могу воспроизвести звук на своем Mac.

Я получил его с помощью пакета NetCoreAudio ( Nuget ) со следующей реализацией в переводе Synthesizingсобытие:

recognizer.Synthesizing += (s, e) =>
{
    var audio = e.Result.GetAudio();
    Console.WriteLine(audio.Length != 0
        ? $"AudioSize: {audio.Length}"
        : $"AudioSize: {audio.Length} (end of synthesis data)");

    if (audio.Length > 0)
    {
        var fileName = Path.Combine(Directory.GetCurrentDirectory(), $"{DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss.wav")}");
        File.WriteAllBytes(fileName, audio);

        var player = new Player();
        player.Play(fileName).Wait();    
    }
};
...