Отправить аудио в реальном времени в Bing Speech API

Я пытаюсь использовать NAudio для получения голоса в реальном времени и отправки его в массиве байтов в API речи bing.

Я использовал обработчик событий для получения звука и отправки в Bing Speech API. Ниже приведен код, который я пробовал.

private void Source_DataAvailable(object sender, WaveInEventArgs e)
    {   //convert the sound into a byte array

        writer.Write(e.Buffer, 0, e.BytesRecorded);
         memoryStream = new MemoryStream(e.Buffer);
        CallSpeechAPI(memoryStream);

    }

Когда я попытался выполнить, мы получили ответ ниже.

Ответ: ОК {"RecognitionStatus": "InitialSilenceTimeout", "Offset": 5000000, "Duration": 0} Конец записи

Когда я попытался преобразовать существующий файл .wav в массив байтов и отправить их в API, который отлично работает. Но с аудио в реальном времени мы сталкиваемся с этой проблемой.

Может ли кто-нибудь помочь, в чем будет проблема и как ее решить.

Также, если есть возможность получать звук в реальном времени в виде байтового массива, дайте мне знать?

Если есть образец кода, поделитесь им с нами.

Спасибо заранее


person Subrak    schedule 25.05.2018    source источник


Ответы (2)


В ближайшее время мы будем поддерживать аудиопоток через байтовый массив или io.stream. Пожалуйста, не переключайтесь. Спасибо за ваше терпение.

person Zhou    schedule 03.06.2018
comment
Поддержка аудиопотока теперь доступна в новом Speech SDK v0.4.0: docs.microsoft.com/en-us/azure/cognitive-services/. Вы можете найти образцы здесь: github.com/Azure-Samples/cognitive-services-speech-sdk/blob/. - person Zhou; 29.06.2018

Поддержка аудиопотока теперь доступна в новой речи SDK v0.4.0:. Вы можете найти образцы здесь. Вам просто нужно реализовать свои собственные AudioInputStream :: Read () и :: GetFormat () в соответствии с описанным интерфейсом здесь.

Спасибо

person Zhou    schedule 29.06.2018