Python 运用pyaudio库去做一个固定采样率音频录制器

编程入门 行业动态 更新时间:2024-10-23 12:39:10

Python 运用pyaudio库<a href=https://www.elefans.com/category/jswz/34/1752302.html style=去做一个固定采样率音频录制器"/>

Python 运用pyaudio库去做一个固定采样率音频录制器

首先要去下载一个对应的pyaudio库的whl文件,目前最新版本是cp38的那个,如果版本太低是用不了的,下载好后在编译环境下的控制台输入pip install +whl文件路径+XXX.whl+回车 

# -*- coding: utf-8 -*-
"""
Spyder EditorThis is a temporary script file.
"""
import pyaudio
import waveCHUNK=256#设置底缓存块的大小为256
FORMAT=pyaudio.paInt16#设置采样深度为16位
CHANNELS=2#设置声道数为2
RATE=16000#设置采样率16
RECORD_SECONDS=10#录音时长为10s
p=pyaudio.PyAudio()#实例化一个对象
#打开声卡
stream=p.open(format=FORMAT,channels=CHANNELS,rate=RATE,               input=True,frames_per_buffer=CHUNK)
#创建列表用来储存采样的音频数据
record_buf=[]print("***开始录音:请在10s内输入语音***")
for i in range(0,int(RATE/CHUNK*RECORD_SECONDS)):data=stream.read(CHUNK)record_buf.append(data)
print("***录音结束***")wf=wave.open('audiol.wav','wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(record_buf))wf.close()#写完后关闭声卡
stream.stop_stream()#停止声卡
stream.close()#关闭声卡
p.terminate()#终止pyaudio

先前我出现了一个错误:一直提示sample width not specified(采样深度没有被指定)

 在我无数次检查后发现出错的地方是程序中sample少打了个字母'e'

最后在相应的文件夹下会出现wav文件

更多推荐

Python 运用pyaudio库去做一个固定采样率音频录制器

本文发布于:2024-02-27 06:27:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705520.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:去做   音频   采样率   Python   pyaudio

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!