TypeError,无法处理两种数据类型

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

我无法将接收到的 HLS 字节转换为 openAI Whisper 可以处理的某种数据类型

好吧,我通过 streamlink

获得了 HLS
import streamlink

link_list = streamlink.streams("TWITCH.TV LINK HERE")
streamobj = link_list['worst']
fd = streamobj.open()`

我可以用这样简单的方法将其保存到mp3文件

with open('test.mp3', 'wb') as file:
    while True:
        data = fd.read(1024) #btw idk what is that const 1024 from streamlink quickstart
        if not data:
            break
        file.write(data)

file.close()
fd.close()`

现在我想将这个音频(字节,但我可以保存它,我认为它没有损坏?)放入openai Whisper模型中以像这样转录

try:
    with open("new_test.mp3", "wb") as file:
        while True:
            data = fd.read(1024)
            if not data:
                break
            result = model.transcribe(data)
            print(result)
            file.write(data)
finally:
    fd.close()
    file.close()

我尝试过的任何方法都不起作用。
我尝试将数据转换为 numpy.ndarray
尝试使用声音文件转换它
尝试使用 ffmpeg 从数据中分离音频和视频(实际上没有正确尝试)
所以我在这里找不到解决方案,需要帮助

python type-conversion http-live-streaming openai-whisper streamlink
1个回答
0
投票

不要直接转录音频,而是尝试在将音频保存到文件后转录音频。

try:
    with open("new_test.mp3", "wb") as file:
    while True:
        data = fd.read(1024)
        if not data:
            break
        file.write(data)
finally:
    fd.close()
    file.close()
    result = model.transcribe("new_test.mp3")
    print(result["text"])

model.transcribe(data)
不获取声音数据,它获取声音文件本身,并且使用
result["text"]
而不是仅使用结果。

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