如何将数据从 Twilio 流式传输到 openai Whisper

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

使用下面的代码,结果最终总是相同的“谢谢”。任何想法可能会出什么问题。作为参考,我使用了 Whisper 包中的 load_audio 函数。还有一篇关于 twilio 和 Vosk 的文章。

@sock.route('/stream')
def stream(ws):
    while True:
        message = ws.receive()
        packet = json.loads(message)
    if packet['event'] == 'media':
            # get audio as ulaw
            audio = base64.b64decode(packet['media']['payload'])
            add_audio(audio)

buffer = np.array([], dtype=np.float32)

def add_audio(audio):
    global buffer
    # convert audio to numpy array
    audio = np.frombuffer(audio, np.int16).flatten().astype(np.float32) / 32768.0
    buffer = np.concatenate((buffer, audio))
    process_audio()


def process_audio():
    global buffer
    audio = whisper.pad_or_trim(buffer)
    mel = whisper.log_mel_spectrogram(audio).to(model.device)
    mel = torch.nan_to_num(mel)
    result = whisper.decode(model, mel, options)
python twilio audio-streaming twilio-api openai-whisper
1个回答
0
投票

你找到答案了吗?我也遇到了同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.