IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python-声音录制和处理 -> 正文阅读

[Python知识库]python-声音录制和处理

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知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:16:37  更:2021-11-29 16:17:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:40:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码