我想进行实时音频分类,分类程序工作得很好。
我试图直接从流中提取数据。但是,我意识到从流传输输入的数据格式和从记录文件加载的数据是不同的。我不知道如何直接从流中处理数据而不进行记录并再次加载文件。
有人可以帮我吗?
我正在使用pyaudio库进行流式传输
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
former_name = "test"
WAVE_OUTPUT_FILENAME = "audio.wav"
audio = pyaudio.PyAudio()
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
# print ("recording...")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
最佳答案
试试这个对我有用
如果您有WINDOWS操作系统,请先安装此软件:-pip install pyttsx3
,或者如果您有MAC OS:-pip3 install pyttsx3
import pyttsx3
def voicePlay(string):
engine = pyttsx3.init()
engine.say(f"{string}")
try:
engine.runAndWait()
except Exception as e:
pass
engine.runAndWait()
关于python - 处理实时音频而无需使用pyaudio进行编译,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64201810/