python麦克风监听_python实时监听麦克风
首先安装pyaudio
到官网下载pa_stable_v190600_20161030.tgz (←或者直接点击下载)
2, 下载之后解压进入文件夹
3, 在文件夹下打开命令行输入以下命令
conda create -n listen python=3.7.1
source activate listen
$ ./configure
$ make
$ sudo make install
$ sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
$ pip install pyaudio
我看了好多。。。。安装教程,都会报错,于是我一气之下。创建了一个虚拟环境,我就不信在干净的环境下,我装不成功。。结果被我装成功了哈哈哈。
结果安装成功了,也可以成功import
实现python实时监听麦克风
代码如下:
# -*- coding: utf-8 -*-
import pyaudio
import wave
import numpy as np
def Monitor():
CHUNK = 512
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 48000
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "cache.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("开始缓存录音")
frames = []
while (True):
print('begin ')
for i in range(0, 100):
data = stream.read(CHUNK)
frames.append(data)
audio_data = np.fromstring(data, dtype=np.short)
large_sample_count = np.sum( audio_data > 800 )
temp = np.max(audio_data)
if temp > 800 :
print("检测到信号")
print('当前阈值:',temp)
break
stream.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(frames))
wf.close()
if __name__ == '__main__':
Monitor()
跑成功后是下面那样
$ python get_audio.py
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
开始缓存录音
begin
python麦克风监听_python实时监听麦克风相关推荐
- android 网卡监听,Android实时监听网络的变化
4中情况.1.无网 2.wifi 3.移动信号 4.网线 BroadcastReceiver netReceiver =new BroadcastReceiver(){ @Override publ ...
- html div实时监听,jquery实时监听div高度变化
素胚勾勒不出你 Document dianwo
- python检测键盘输入_python实时检测键盘输入函数的示例
在嵌入式.尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应. import sys import t ...
- python黄金走势预测_python实时获取和讯网纸黄金价格信息
python实时获取和讯网纸黄金价格信息 #!/usr/bin/env python #encoding:utf-8 '''getHexunGold.py 获取和讯网最新的黄金价格信息(人民币/克)' ...
- python看门狗(watchdog)、多线程、实现文件夹实时监听、日志输出、备份
python看门狗(watchdog).多线程.实现文件夹实时监听.日志输出.备份 代码展示 import _thread from watchdog.observers import Observe ...
- php监听input,jQuery如何实时监听获取input输入框的值
jQuery实时监听获取input输入框的值,在我们日常web项目开发也常需要去实现这样的功能效果.为了作出即时动作去引导浏览者,以便提高网站的用户体验感. 下面我们就结合具体的代码示例,为大家介绍j ...
- Android实时监听网络状态
Android开发实时监听网络状态变化一般有两种方法: 1. 新建一个基类BasicActivity.class,在基类中注册网络监听广播NetworkChangeReceiver.class,所有页 ...
- html 监听input输入框的值,利用原生JS实时监听input框输入值
利用原生JS实时监听input框输入值 原生JS中可以使用oninput,onpropertychange,onchange oninput,onpropertychange,onchange的用法 ...
- vue动态获取元素距离页面顶部的高度_VUE如何实时监听元素距离顶部高度
VUE如何实时监听元素距离顶部高度 发布时间:2020-07-30 09:09:43 来源:亿速云 阅读:150 作者:小猪 这篇文章主要讲解了VUE如何实时监听元素距离顶部高度,内容清晰明了,对此有 ...
最新文章
- webview键盘自适应_苹果笔记本显示器键盘专利曝光:单按键可重新配置
- 通过迭代在DataFrame中取出满足某种条件的列,函数 —— .columns
- linux c之使用#define定义多行函数总结
- 给排水规范大全2020_住宅电气、给排水、消防安装工程的质量通病分析
- Oracle 数据怎么实时同步到 Kafka | 亲测干货分享建议收藏
- jupyter安装php,Jupyter Notebook 下安装 PHP 内核
- 一文看懂PHP如何实现依赖注入
- 吉林大学java期末试卷_吉大18年9月《JAVA程序设计》作业考核试题-0001
- 求解图的连通块数量——DFS方法实现
- OpenJDK8编译之后,缺少com.sun.tools.javac.Main怎么办
- echarts的pie图中,各区块颜色的调整
- MATLAB资源安装免费激活完整步骤
- 学习笔记20--自动驾驶测试体系
- wex5链接mysql_【WeX5学习】 后端服务之访问数据库表
- 6.WIN10 short cut
- 你的华为手机还会卡?那是这3个功能没设置吧,越早关掉越好
- 大数据------维度表,事实表
- 去云南看你们风花雪月
- FileUpload文件上传
- 阿里云服务器设置IPV6通过AppStore审核