无法将实时音频从麦克风传输到PyAudio中的远程端口

问题描述 投票:1回答:1

我有一个转录服务器在远程计算机的端口上侦听音频。如果我流式传输预先录制的音频文件并使用netcat

将其流式传输到端口,则一切正常

我无法使用麦克风作为输入来做同样的事情。我正在尝试以下操作,但由于某些原因,音频没有被流化,或者我看不到转录的发生,或者也许我不确定如何在python中获取响应

FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
CHUNK = 4800
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "recordedFile.wav"
device_index = 1
audio = pyaudio.PyAudio()

HOST = 'ip'
PORT = 5000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

index = (input())
print("recording via index "+str(index))

stream = audio.open(format=FORMAT, channels=CHANNELS,
                rate=RATE, input=True,input_device_index = 1,
                frames_per_buffer=CHUNK)
print ("recording started")
Recordframes = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
     s.sendall(data)
    Recordframes.append(data)
print ("recording stopped")

不知道如何获得回复,或者还有其他问题。在后端使用Kaldi's online2-tcp-nnet3-decode-faster

audio-streaming pyaudio kaldi
1个回答
0
投票

您可以尝试https://github.com/alphacep/vosk-serverthis code sample。主循环应如下所示:

    while True:
        data = s.read(8000)
        if len(data) == 0:
            break
        await ws.send(data)
        print(await ws.recv())
© www.soinside.com 2019 - 2024. All rights reserved.