我正在寻找一个Python的代码,它可以录制声音并在一定延迟(例如10秒)后播放。换句话说,我想经常听到(在我的耳机上)外面发生了什么,但是有一定的延迟。
我在GitHub上发现了一个Python脚本(https://gist.github.com/larsyencken/5641402),该脚本应该是我正在寻找的。但是,当我运行脚本时,播放在5秒后开始(默认延迟),但它会记录所有内容并实时播放(没有任何延迟)。
答案 0 :(得分:0)
以下是使用sounddevice
的示例,但您也可以使用其他audio/sound
模块执行此操作。
下面的示例根据变量#seconds
记录来自duration
的麦克风的音频,您可以根据自己的要求进行修改。
使用标准音频输出(扬声器)播放相同的内容。
有关此here
工作代码
import sounddevice as sd
import numpy as np
import scipy.io.wavfile as wav
fs=44100
duration = 10 # seconds
myrecording = sd.rec(duration * fs, samplerate=fs, channels=2, dtype='float64')
print "Recording Audio for %s seconds" %(duration)
sd.wait()
print "Audio recording complete , Playing recorded Audio"
sd.play(myrecording, fs)
sd.wait()
print "Play Audio Complete"
<强>输出强>
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Recording Audio for 10 seconds
Audio recording complete , Playing recorded Audio
Play Audio Complete
>>>