python-声音录制和处理
sounddevice是一个与Numpy兼容的录音以及播放声音的包。
安装sounddevice包
直接通过pip就能安装。
pip3 install sounddevice -i https://pypi.tuna.tsinghua.edu.cn/simple
播放音乐
首先,用numpy生成440Hz的正弦波
import numpy as np
fs = 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 sd
sd.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 # Hz
length = 5 # s
recording = sd.rec(frames=fs * length, samplerate=fs, blocking=True, channels=1)
最后使用scipy.io将音频保存为文件。
from scipy.io import wavfile
wavfile.write('recording.wav', fs, recording)
python-声音录制和处理相关推荐
- python 屏幕录制_Python实现屏幕录制功能的代码
前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...
- python屏幕录制与回放_Python实现屏幕录制功能的代码
前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现 ...
- html5调用系统声音1s响一次_HTML5声音录制/播放功能的实现代码
html代码: 火星黑洞 var recorder; var audio = document.querySelector('audio'); function startRecording() { ...
- 为什么苹果录屏没有声音_苹果手机自带录屏功能,打开声音录制方法
有时候我们会用苹果的自带录屏功能,可是录制出来的视频,只有视频没有声音,其实这并不是说苹果不能录制带声音的视频,只是没有打开声音录制的开关. 1,首先从屏幕上面下滑(iphone x及以上机型,其他机 ...
- Ubuntu系统腾讯会议使用ffmpeg屏幕录制+声音录制
1.腾讯会议for Linux简介 经过一段时间的开发,腾讯终于搞定了Linux系统下的腾讯会议,腾讯会议目前可以进行远程视频对话,桌面远程展示等等功能,与Windows差异并无两样.但是也存在着一些 ...
- Python声音处理入门
Python声音处理入门 注:本文加入了译者的理解,并非严谨的译作,仅供参考. 原文Basic Sound Processing with Python描述了怎样在Python中通过pylab接口对声 ...
- python人像录制加声音_Python自动化测试入门必读
入门自动化测试必读 自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期 ...
- python人像录制加声音_Python实现电脑录音(含音频基础知识讲解)
Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...
- Python同时录制屏幕、摄像头、声音合成视频把人像放在最终视频右下角
之前写了个使用pillow截图和pyaudio录音最后合成视频的代码, 60行Python代码打造自己的录屏软件(附源码) 那个代码虽然避免了opencv视频和pyaudio音频同步困难的问题,但是如 ...
- python人像录制加声音_简单易用的录制屏幕与摄像头工具
EaseUS RecExperts 是一款简单易用的 Windows 录制屏幕工具,支持同时录制屏幕.摄像头和麦克风,支持网络摄像头,4K 游戏模式,并且可以对视频进行编辑. EaseUS RecEx ...
最新文章
- 采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录
- python 线性回归 技术方案亮点_基于Python的线性回归实战
- sklearn自学指南(part22)--支持向量机的分类与回归
- WPF效果(GIS三维续篇)
- 02. Creating a Web Forms User Interface
- 作者:孙宗哲(1991-),男,东北大学软件学院硕士生
- 解决vm安装过程显示无人参与应答文件包含的产品密钥无效
- 红帽linux oracle,Oracle Linux与红帽Linux对比
- PLSQL和ORACLE客户端安装
- access h3c交换机光口_H3C交换机配置基本命令
- 为什么你的问题总是得不到博主回复?一文教你如何高效和博主进行沟通!
- 小学生如何学计算机,作为小学生该如何学编程?
- 中小企业怎么创作一个具备品牌故事的软文营销方案
- 143个相见恨晚的排行榜网站,总有一个用得着!
- 8.磁盘存储器的管理
- 【Tornado】| 扫码签到系统雏形及思路
- border 边框样式
- 智力考验看成语猜古诗句微信小程序源码下载好玩解闷小游戏
- 《吃透 MQ 系列》之扒开 Kafka 的神秘面纱
- NB-IoT上下行传输速率是多少?
热门文章
- m126a linux驱动下载,hpm126a驱动下载
- java utf8 gbk 乱码,java UTF-8转GBK不乱码
- 用户运营day3——用户生命周期与用户成长路径的策略运营
- 利用Matlab求解函数导数并绘图
- 银联在线 网关支付 (JAVA版)
- 囧从流氓同事的河蟹喜酒归来......
- Mac m1芯片 安装 mosek python
- 几大技术体系极其应用
- 新策略构思 dual thrust
- 计算机硬件工程师主要干什么,计算机硬件工程师主要学习什么内容