python中内置麦克风音频的环形缓冲区

2024-05-29 11:09:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python非常陌生,但我正在寻找一种方法来连续存储来自内置麦克风的最后两秒音频,以便在回调函数中使用

(旁注,我实际上不知道回调函数是什么,但显然我需要它)

我试图用一种我还没学过的语言修改我不懂的代码,但我会满足于学习如何编写适当的环形缓冲区

让我知道我是否应该发布这个代码,但我不确定我能包含的任何内容是否相关


Tags: 方法函数代码语言内容音频内置缓冲区
1条回答
网友
1楼 · 发布于 2024-05-29 11:09:07

您可以使用pydub

from pydub import AudioSegment
from pydub.utils import make_chunks

myaudio = AudioSegment.from_file("C:/Users/path_to/myAudio.wav" , "wav") 
chunk_length_ms = 2000 # pydub calculates in millisec
chunks = make_chunks(myaudio, chunk_length_ms) #Make chunks of two sec

#Export all of the individual chunks as wav files
for i, chunk in enumerate(chunks):
    chunk_name = "chunk{0}.wav".format(i)
    print ("exporting", chunk_name)
    chunk.export(chunk_name, format="wav")


#################output#########################

exporting chunk0.wav
exporting chunk1.wav
exporting chunk2.wav
exporting chunk3.wav
exporting chunk4.wav
exporting chunk5.wav
exporting chunk6.wav
exporting chunk7.wav
exporting chunk8.wav
exporting chunk9.wav
exporting chunk10.wav
exporting chunk11.wav
exporting chunk12.wav
exporting chunk13.wav
exporting chunk14.wav
exporting chunk15.wav
exporting chunk16.wav
exporting chunk17.wav
exporting chunk18.wav
exporting chunk19.wav

chunk.export方法将可播放的音频块导出到可用于音频处理的文件(.wav)中。上述块(chunk0.wav…到..chunk8.wav)保存在运行上述脚本的同一文件夹中。使用回调函数的最后2秒

相关问题 更多 >

    热门问题