当前位置: 首页 > news >正文

win10下实现PyAudio持续监听并录音(麦克风/扬声器)

Pyaudio默认是通过麦克风录音,扬声器播放。
实现在win10下,录制扬声器的声音需要设置默认音频设备(否则要修改pyaudio的代码)

pyaudio对象结构如下:

 def __init__(self,PA_manager,rate,channels,format,input=False,output=False,input_device_index=None,output_device_index=None,frames_per_buffer=1024,start=True,input_host_api_specific_stream_info=None,output_host_api_specific_stream_info=None,stream_callback=None):

实现:在win10下,录制扬声器的声音

step1:右键桌面右下角的小喇叭,打开声音设置
在这里插入图片描述

step2:往下滚动,打开 声音控制面板
在这里插入图片描述

step3:在 录制 标签栏下,启动 立体声混音,并且将其设置为 默认设备
在这里插入图片描述疑难问题请参考

此时用下面的代码,就可以录制扬声器的声音了。

监听麦克风并录音

import pyaudio
import numpy as np
import wavedef Monitor_MIC(th, filename):CHUNK = 512FORMAT = pyaudio.paInt16CHANNELS = 1RATE = 16000 	#录音时的采样率WAVE_OUTPUT_FILENAME = filename + ".wav"p = pyaudio.PyAudio()stream = p.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,frames_per_buffer=CHUNK)frames = []while (True):#print("ready for recording" + str(time.localtime(time.time()).tm_sec))for i in range(0, 5):data = stream.read(CHUNK)frames.append(data)audio_data = np.fromstring(data, dtype=np.short)temp = np.max(audio_data)if temp > th :print("detected a signal")print('current threshold:',temp)less = []frames2 = []while (True):print("recording")for i in range(0, 30):data2 = stream.read(CHUNK)frames2.append(data2)audio_data2 = np.fromstring(data2, dtype=np.short)temp2 = np.max(audio_data2)if temp2 < th:less.append(-1)print("below threshold, counting: ", less)#如果有连续15个循环的点,都不是声音信号,就认为音频结束了if len(less) == 15:breakelse:less = []breakstream.stop_stream()stream.close()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(frames2))wf.close()

http://www.taodudu.cc/news/show-6111874.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • 手机丢了不可怕,手机卡丢了才最可怕!
  • 通话过程中显示呼叫失败_iphone怎么总是打电话出现呼叫失败求大神解救
  • 杰里之.进 SNIFF 模式时如果有细微“哒哒”声处理【篇】
  • 杰理之进 进 SNIFF 模式时如果有细微 “ 哒哒 ” 声处理】【篇】
  • 杰理之进SNIFF模式时如果有细微“哒哒”声处理【篇】
  • 长沙理工大学计算机电路b试题,长沙理工大学考试试卷(计算机网络)
  • java租车_Java 哒哒租车系统(控制台)
  • 用html5看板娘,记在nuxt.js中引入一个萌哒哒的看板娘(Live2d模型)
  • Android判断手机是否是小米MIUI系统
  • GPS 双频/单频接收机介绍
  • java神雕侠侣1古墓情缘游戏攻略_《神雕侠侣》手游古墓秘境1到5关详细攻略
  • 简单了解计算机编码知识-(中文编码)
  • python学习笔记分享(四十)网络爬虫(7)反爬虫问题,解决中文乱码,登陆和验证码处理
  • linux文件加密
  • 操作系统-添加文件加密系统
  • Linux 文件的加密解密
  • linux下对文件和文件夹加密
  • 彻底破解加密PDF文件
  • linux密码是什么加密方式,Linux系统的几种加密
  • 头文字D之键盘
  • 关于头文件的一切
  • 我自己的头文件入门
  • 计算机里FC方式,谁知道头文字D里提到的FD,FR,FC,FF指的是什么驱动方式的车?...
  • “头文件“
  • 坐南京13路公交车,体验《头文字D》感觉!
  • 头文字D美图
  • 头文件大全
  • 头文件知多少?
  • 文件头编码
  • 头文件我来啦