Python调用电脑麦克风录音

news/2025/2/14 8:20:28/

import wave
import pyaudio

定义数据流块

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100

录音时间

RECORD_SECONDS = 5

要写入的文件名

WAVE_OUTPUT_FILENAME = “output.wav”

创建PyAudio对象

p = pyaudio.PyAudio()

打开数据流

stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)print("* recording")

开始录音

frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")

停止数据流

stream.stop_stream()
stream.close()

关闭PyAudio

p.terminate()

写入录音文件

wf = wave.open(WAVE_OUTPUT_FILENAME, ‘wb’)
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b’’.join(frames))
wf.close()

原文博客


http://www.ppmy.cn/news/485000.html

相关文章

STM32 RGB屏幕

使用ST的HAL库进行开发,RGB屏幕是480*272的4.3寸LCD,由于驱动RGB屏幕需要较多的内存, 所以使用了外部SDRAM,内存是32M字节,关于SDRAM的驱动本文不进行讨论。 RGB屏幕常用的像素格式有:ARGB8888、RGB888、…

数字图像处理 基于matlab、opencv计算图像的梯度方向和梯度幅值

一、图像的梯度 1、简述 图像可以被视为标量场(即二维函数)。 通过微分将标量场转换为矢量场。 梯度是一个向量,描述了在x或y方向上移动时,图像变化的速度。我们使用导数来回答这样的问题,图像梯度的大小告诉图像变化的速度,而梯度的方向告诉图像变化最…

Three.js教程:Canvas画布布局和全屏

推荐:将 NSDT场景编辑器 加入你的3D工具链 其他系列工具: NSDT简石数字孪生 Canvas画布布局和全屏 threejs渲染输出的结果就是一个Cavnas画布,canvas画布也是HTML的元素之一,这意味着three.js渲染结果的布局和普通web前端习惯是一…

Android studio自动登录和记住密码的实现

Android studio自动登录和记住密码的实现 文章目录 Android studio自动登录和记住密码的实现前言一、效果二、设计思路三、知识点介绍1. SharedPreferenced2. checkButton就不介绍了 四、自动登录及记住密码实现总结与补充 前言 大家好,我是oy,今天介绍…

dell屏幕亮度调节不了_戴尔笔记本无法调节亮度怎么办?如何找回调节亮度?

笔记本调节亮度的拉条不见了,无法调节亮度怎么办,也找不到了。键盘上的快捷键调节亮度也不行了。小编的电脑是戴尔的,所以以戴尔为例。为大家介绍戴尔笔记本无法调节亮度怎么办以及如何找回调节亮度方法介绍,希望能对大家有所帮助…

多功能电压输出家用应急电源设计

摘要 本设计基于STC89C52单片机设计的多功能电压输出应急电源,以应急电源为研究对象,单片机设计为控制集成IC,ADC为模数转换控制模块,无源蜂鸣器作为报警电路。系统分为单片机设计最小系统,AD转换控制模块,…

浏览器向网站或服务器端发出请求时,GET与POST有何区别?

在浏览器向网站或服务器端发出请求时,主要有两种常用的HTTP方法:GET和POST。它们有以下区别: GET方法: GET方法用于从服务器获取资源或数据。当使用GET方法时,浏览器将请求参数附加在URL的查询字符串中,以便…

jQuery 基础语法使用指南

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1. 引入 jQuery 2. jQuery 语法 3. 选择器 …