sounddevice是一个与Numpy兼容的录音以及播放声音的包。

安装sounddevice包


直接通过pip就能安装。

pip3 install sounddevice -i https://pypi.tuna.tsinghua.edu.cn/simple

播放音乐


首先,用numpy生成440Hz的正弦波

import numpy as npfs = 44100 # Hz 采样频率f = 440 # Hz 信号频率length = 5 #s 时长myarray = np.arange(fs * length)myarray = np.sin(2 * np.pi * f / fs * myarray)

用sounddevice包播放音乐直接调用play函数来播放声音,需要传入需要播放声音的波形,和采样率。​​​​​​​

import sounddevice as sdsd.play(myarray, fs)

查看声音设备


计算机上可能有多个声音播放/录制设备,sounddevice会默认使用系统默认的设备。调用query_devices()函数会显示系统所有的声音设备。

sd.query_devices()

下面是我计算机上的声音设备,>标示为默认输入设备,<表示默认的输出设备,声音设备名称之前是序号。默认的设备也可以通过sd.default.device查看,返回的是一个列表,有两个元素。第一个元素为默认的输入设备,第二个元素为默认的输出设备,设备是用序号来表示的。

​​​​​​​

   0 Microsoft Sound Mapper - Input, MME (2 in, 0 out)>  1 麦克风 (Conexant SmartAudio HD), MME (2 in, 0 out)   2 Microsoft Sound Mapper - Output, MME (0 in, 2 out)<  3 扬声器 (Conexant SmartAudio HD), MME (0 in, 2 out)   4 主声音捕获驱动程序, Windows DirectSound (2 in, 0 out)   5 麦克风 (Conexant SmartAudio HD), Windows DirectSound (2 in, 0 out)   6 主声音驱动程序, Windows DirectSound (0 in, 2 out)   7 扬声器 (Conexant SmartAudio HD), Windows DirectSound (0 in, 2 out)   8 扬声器 (Conexant SmartAudio HD), Windows WASAPI (0 in, 2 out)   9 麦克风 (Conexant SmartAudio HD), Windows WASAPI (2 in, 0 out)  10 立体声混音 (Conexant HD Stereo Mix), Windows WDM-KS (2 in, 0 out)  11 麦克风 (Conexant HD Audio capture), Windows WDM-KS (2 in, 0 out)  12 Speakers (Conexant HD Audio output), Windows WDM-KS (0 in, 2 out)

修改默认的输入设备为系统输出声音


系统默认的声音输入设备是麦克风,如果需要录制系统声音则需要将声音设备切换成立体声混音。有可能不存在立体声混音这个选项,这时你需要升级你的声卡驱动更新为比2013-5-10发布的6.0.10.1900更高的版本。

通过上面运行sd.query_devices()可以看到,我的计算机立体声混音设备序号为1。因此我需要设置:

sd.default.device[0] = 1

录制系统声音


录音和声音播放一样简单,这时你需要调用rec函数,传入需要录音的时长(采样的点数),同时设置blocking=True表示录音完成再返回,最后设置channels=1表示只录制一个声道。

​​​​​​​

fs = 44100 # Hzlength = 5 # srecording = sd.rec(frames=fs * length, samplerate=fs, blocking=True, channels=1)

最后使用scipy.io将音频保存为文件。

​​​​​​

from scipy.io import wavfilewavfile.write('recording.wav', fs, recording)

python-声音录制和处理相关推荐

  1. python 屏幕录制_Python实现屏幕录制功能的代码

    前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...

  2. python屏幕录制与回放_Python实现屏幕录制功能的代码

    前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...

  3. html5调用系统声音1s响一次_HTML5声音录制/播放功能的实现代码

    html代码: 火星黑洞 var recorder; var audio = document.querySelector('audio'); function startRecording() { ...

  4. 为什么苹果录屏没有声音_苹果手机自带录屏功能,打开声音录制方法

    有时候我们会用苹果的自带录屏功能,可是录制出来的视频,只有视频没有声音,其实这并不是说苹果不能录制带声音的视频,只是没有打开声音录制的开关. 1,首先从屏幕上面下滑(iphone x及以上机型,其他机 ...

  5. Ubuntu系统腾讯会议使用ffmpeg屏幕录制+声音录制

    1.腾讯会议for Linux简介 经过一段时间的开发,腾讯终于搞定了Linux系统下的腾讯会议,腾讯会议目前可以进行远程视频对话,桌面远程展示等等功能,与Windows差异并无两样.但是也存在着一些 ...

  6. Python声音处理入门

    Python声音处理入门 注:本文加入了译者的理解,并非严谨的译作,仅供参考. 原文Basic Sound Processing with Python描述了怎样在Python中通过pylab接口对声 ...

  7. python人像录制加声音_Python自动化测试入门必读

    入门自动化测试必读 自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期 ...

  8. python人像录制加声音_Python实现电脑录音(含音频基础知识讲解)

    Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...

  9. Python同时录制屏幕、摄像头、声音合成视频把人像放在最终视频右下角

    之前写了个使用pillow截图和pyaudio录音最后合成视频的代码, 60行Python代码打造自己的录屏软件(附源码) 那个代码虽然避免了opencv视频和pyaudio音频同步困难的问题,但是如 ...

  10. python人像录制加声音_简单易用的录制屏幕与摄像头工具

    EaseUS RecExperts 是一款简单易用的 Windows 录制屏幕工具,支持同时录制屏幕.摄像头和麦克风,支持网络摄像头,4K 游戏模式,并且可以对视频进行编辑. EaseUS RecEx ...

最新文章

  1. 采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录
  2. python 线性回归 技术方案亮点_基于Python的线性回归实战
  3. sklearn自学指南(part22)--支持向量机的分类与回归
  4. WPF效果(GIS三维续篇)
  5. 02. Creating a Web Forms User Interface
  6. 作者:孙宗哲(1991-),男,东北大学软件学院硕士生
  7. 解决vm安装过程显示无人参与应答文件包含的产品密钥无效
  8. 红帽linux oracle,Oracle Linux与红帽Linux对比
  9. PLSQL和ORACLE客户端安装
  10. access h3c交换机光口_H3C交换机配置基本命令
  11. 为什么你的问题总是得不到博主回复?一文教你如何高效和博主进行沟通!
  12. 小学生如何学计算机,作为小学生该如何学编程?
  13. 中小企业怎么创作一个具备品牌故事的软文营销方案
  14. 143个相见恨晚的排行榜网站,总有一个用得着!
  15. 8.磁盘存储器的管理
  16. 【Tornado】| 扫码签到系统雏形及思路
  17. border 边框样式
  18. 智力考验看成语猜古诗句微信小程序源码下载好玩解闷小游戏
  19. 《吃透 MQ 系列》之扒开 Kafka 的神秘面纱
  20. NB-IoT上下行传输速率是多少?

热门文章

  1. m126a linux驱动下载,hpm126a驱动下载
  2. java utf8 gbk 乱码,java UTF-8转GBK不乱码
  3. 用户运营day3——用户生命周期与用户成长路径的策略运营
  4. 利用Matlab求解函数导数并绘图
  5. 银联在线 网关支付 (JAVA版)
  6. 囧从流氓同事的河蟹喜酒归来......
  7. Mac m1芯片 安装 mosek python
  8. 几大技术体系极其应用
  9. 新策略构思 dual thrust
  10. 计算机硬件工程师主要干什么,计算机硬件工程师主要学习什么内容