python 录制系统声音的示例

当我们想要录制电脑系统声音时,需要借助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技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 深入浅析 C++ 调用 Python 模块

    当我们需要使用Python第三方库或者调用Python脚本时,我们可以选择使用C++来完成这样的需求。本文将为您提供如何使用C++调用Python模块的完整攻略。 环境配置 首先我们需要确认系统环境中是否已经安装Python以及需要使用的Python第三方库。若没有安装,则需要前往Python官网进行下载并安装;若已经安装,可以通过pip或conda安装相应…

    python 2023年5月14日
    00
  • pygame外星人入侵小游戏超详细开发流程

    Pygame外星人入侵小游戏超详细开发流程 介绍 本文将提供超详细的 Pygame 外星人入侵小游戏开发流程,为想要学习 Pygame 或者开发小游戏的开发者提供帮助。 准备 在开始之前,您需要安装 Pygame,可以通过 pip 进行安装: pip install pygame 创建窗口 首先,我们需要创建游戏窗口。需要导入 Pygame 和 sys 模块…

    python 2023年6月3日
    00
  • python3 xpath和requests应用详解

    以下是关于Python3 XPath和requests应用详解的攻略: Python3 XPath和requests应用详解 在Python中,可以使用XPath和requests库进行网络爬虫开发。以下是Python3 XPath和requests应用详解的攻略。 使用XPath解析HTML文档 使用lxml库解析HTML文档时,需要使用etree模块,并…

    python 2023年5月14日
    00
  • 如何基于Python爬取隐秘的角落评论

    关于“如何基于Python爬取隐秘的角落评论”,以下是完整的攻略过程: 一、确定爬取目标 在开始之前,我们需要明确自己的爬取目标,例如,要从哪个网站或者哪个页面爬取评论、需要爬取的数据类型是什么等等。 二、安装相关Python库 Python可以通过第三方库进行网页爬取,这里我们需要安装几个库,包括requests、bs4、re、csv等库。 # 安装 re…

    python 2023年5月14日
    00
  • Python绘制K线图之可视化神器pyecharts的使用

    让我来详细讲解一下“Python绘制K线图之可视化神器pyecharts的使用”的完整攻略。 什么是K线图 K线图,是一种用在股票分析上的技术图表。K线图以矩形来显示某一段时间内股票的开盘价、收盘价、最高价和最低价,并且可以在矩形上用红色、绿色来表示这个时间段的股票价格上涨或者下跌。 pyecharts的安装 要想使用pyecharts,你需要先安装它。你可…

    python 2023年6月6日
    00
  • python列表:开始、结束、步长值实例

    在Python中,列表是一种非常常用的数据类型,可以存储多个元素。在访问列表元素时,我们可以使用切片(slice)来访问列表中的一部分元素。切片的语法如下: lst[start:end:step] 其中,start表示切片的起始位置,end表示切片的结束位置(不包括该位置的元素),step表示切片的步长(默认为1)。 下面是一个简单的例: # 示例1:使用切…

    python 2023年5月13日
    00
  • python2 与 pyhton3的输入语句写法小结

    Python2和Python3的输入语句写法有所不同,在此为大家总结一下: 在Python2中,输入语句的写法为: a = input(‘请输入一个数字:’) 在Python3中,输入语句的写法为: a = input(‘请输入一个数字:’) 可以看到,Python2中使用的是raw_input(),而Python3中使用的是input()函数。与此同时,P…

    python 2023年6月5日
    00
  • Python数据可视化之Seaborn的使用详解

    那么接下来我将详细讲解一下“Python数据可视化之Seaborn的使用详解”的完整攻略。 一、Seaborn基础介绍 Seaborn是一个基于matplotlib的Python数据可视化库,提供了一种高度优化的绘图样式和界面,可以让我们轻松地绘制出美观的统计图表。Seaborn拥有众多的绘图功能,包括:单变量分布绘图、双变量分布绘图、线性关系绘图、分类数据…

    python 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部