当我们想要录制电脑系统声音时,需要借助Python中第三方库sounddevice和soundfile。sounddevice用于捕获系统声音,soundfile则用于将捕获到的声音流写入文件保存。
下面是录制系统声音的完整攻略:
安装依赖库
使用pip安装sounddevice和soundfile库:
pip install sounddevice
pip install soundfile
示例一:录制电脑系统声音
import sounddevice as sd
import soundfile as sf
duration = 5 # 录制声音的时长,单位为秒(s)
fs = 44100 # 声音的采样率
channels = 2 # 声音通道数
filename = "output.wav" # 保存音频文件的名称
# 开始录制声音
print("开始录制声音...")
recorded_sound = sd.rec(int(duration * fs), samplerate=fs, channels=channels)
sd.wait() # 等待录音完成
print("声音已录制完成!")
# 将录制的声音写入到文件中保存
print("开始保存声音文件...")
sf.write(filename=filename, data=recorded_sound, samplerate=fs)
print("已将声音保存到文件中!")
上述示例中初次调用sd.rec()
时可能会弹出管理员权限获取的提示框,需要勾选“允许通过这个 mshp 驱动程序所做的更改”才能正常录制系统声音。
示例二:实时监测系统声音
import sounddevice as sd
import numpy as np
duration = 10 # 监测声音的时长,单位为秒(s)
fs = 44100 # 声音的采样率
channels = 2 # 声音通道数
# 开始实时监测声音,按下ctrl+c即可结束监测
try:
while True:
recorded_sound = sd.rec(int(duration * fs), samplerate=fs, channels=channels)
sd.wait() # 等待录音完成
# 计算最大振幅
max_amplitude = np.abs(recorded_sound).max()
print("当前音量为:%.3f" % max_amplitude)
except KeyboardInterrupt:
print("实时监测结束!")
上述示例中实时监测系统声音的过程,持续时间为10秒,会不停地输出当前系统声音的音量大小,用户可以通过按下ctrl+c来结束实时监测。
以上是录制系统声音的示例攻略。这些示例可以帮助我们快速了解如何通过python来录制系统声音,并且可以进行额外的修改和完善,以满足不同的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 录制系统声音的示例 - Python技术站