Как ввести поток в speechsdk.audio.PullAudioInputStreamCallback для речи в реальном времени в текст - PullRequest
0 голосов
/ 25 марта 2020

Я отправляю поток аудио от javascript до python API, используя веб-сокет, используя следующий подход

     var mic = e.inputBuffer.getChannelData(0);
     var temp = convertFloat32ToInt16(e.inputBuffer);
     leftchannel = leftchannel.concat(temp);
     sendstreamdata(leftchannel);

     function convertFloat32ToInt16(buffer)
{
      var wav = audioBufferToWav(buffer);
        res = [new Uint8Array(wav)];
        return res;
}                            

на стороне python API, я использую веб-сокет, и мне нужно создать класс для реализации класса peechsdk.audio.PullAudioInputStreamCallback для внедрения входящего потока.

В настоящее время у меня есть аналогичные logi c, который работает с файлом wav

 class WavFileReaderCallback(speechsdk.audio.PullAudioInputStreamCallback):
            """Example class that implements the Pull Audio Stream interface to recognize speech from
            an audio file"""
            def __init__(self, filename: str):
                super().__init__()
                self._file_h = wave.open(filename, mode=None)

                self.sample_width = self._file_h.getsampwidth()

                return
                assert self._file_h.getnchannels() == 1
                assert self._file_h.getsampwidth() == 2
                assert self._file_h.getframerate() == 16000
                assert self._file_h.getcomptype() == 'NONE'

            def read(self, buffer: memoryview) -> int:
                """read callback function"""
                size = buffer.nbytes
                print(size,self.sample_width)
                frames = self._file_h.readframes(size // self.sample_width)

                buffer[:len(frames)] = frames

                return len(frames)

            def close(self):
                """close callback function"""
                self._file_h.close() ```

Using similar kind of can someone please help me on how to input stream for real time Speech to Text using the azure cognitive service. 
...