首先安装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实时监听麦克风相关推荐

  1. android 网卡监听,Android实时监听网络的变化

    4中情况.1.无网  2.wifi 3.移动信号 4.网线 BroadcastReceiver netReceiver =new BroadcastReceiver(){ @Override publ ...

  2. html div实时监听,jquery实时监听div高度变化

    素胚勾勒不出你 Document      dianwo

  3. python检测键盘输入_python实时检测键盘输入函数的示例

    在嵌入式.尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应. import sys import t ...

  4. python黄金走势预测_python实时获取和讯网纸黄金价格信息

    python实时获取和讯网纸黄金价格信息 #!/usr/bin/env python #encoding:utf-8 '''getHexunGold.py 获取和讯网最新的黄金价格信息(人民币/克)' ...

  5. python看门狗(watchdog)、多线程、实现文件夹实时监听、日志输出、备份

    python看门狗(watchdog).多线程.实现文件夹实时监听.日志输出.备份 代码展示 import _thread from watchdog.observers import Observe ...

  6. php监听input,jQuery如何实时监听获取input输入框的值

    jQuery实时监听获取input输入框的值,在我们日常web项目开发也常需要去实现这样的功能效果.为了作出即时动作去引导浏览者,以便提高网站的用户体验感. 下面我们就结合具体的代码示例,为大家介绍j ...

  7. Android实时监听网络状态

    Android开发实时监听网络状态变化一般有两种方法: 1. 新建一个基类BasicActivity.class,在基类中注册网络监听广播NetworkChangeReceiver.class,所有页 ...

  8. html 监听input输入框的值,利用原生JS实时监听input框输入值

    利用原生JS实时监听input框输入值 原生JS中可以使用oninput,onpropertychange,onchange oninput,onpropertychange,onchange的用法 ...

  9. vue动态获取元素距离页面顶部的高度_VUE如何实时监听元素距离顶部高度

    VUE如何实时监听元素距离顶部高度 发布时间:2020-07-30 09:09:43 来源:亿速云 阅读:150 作者:小猪 这篇文章主要讲解了VUE如何实时监听元素距离顶部高度,内容清晰明了,对此有 ...

最新文章

  1. webview键盘自适应_苹果笔记本显示器键盘专利曝光:单按键可重新配置
  2. 通过迭代在DataFrame中取出满足某种条件的列,函数 —— .columns
  3. linux c之使用#define定义多行函数总结
  4. 给排水规范大全2020_住宅电气、给排水、消防安装工程的质量通病分析
  5. Oracle 数据怎么实时同步到 Kafka | 亲测干货分享建议收藏
  6. jupyter安装php,Jupyter Notebook 下安装 PHP 内核
  7. 一文看懂PHP如何实现依赖注入
  8. 吉林大学java期末试卷_吉大18年9月《JAVA程序设计》作业考核试题-0001
  9. 求解图的连通块数量——DFS方法实现
  10. OpenJDK8编译之后,缺少com.sun.tools.javac.Main怎么办
  11. echarts的pie图中,各区块颜色的调整
  12. MATLAB资源安装免费激活完整步骤
  13. 学习笔记20--自动驾驶测试体系
  14. wex5链接mysql_【WeX5学习】 后端服务之访问数据库表
  15. 6.WIN10 short cut
  16. 你的华为手机还会卡?那是这3个功能没设置吧,越早关掉越好
  17. 大数据------维度表,事实表
  18. 去云南看你们风花雪月
  19. FileUpload文件上传
  20. 阿里云服务器设置IPV6通过AppStore审核

热门文章

  1. QT做类似QQ截图功能(带图片编辑功能)
  2. 瓜子二手车如何玩转AI赋能下的新零售(附PPT下载)
  3. vue中的怎么获取localStorage的信息
  4. 102 best牛围栏(枚举、实数二分)
  5. OpenCASCADE:OCCT应用框架OCAF之可视化属性
  6. 软件设计模式之(二)装饰者模式
  7. ubuntu 精简配置
  8. Linux 常见问题解决
  9. adobe flash创建按钮并添加动作【Z】
  10. 数据分析师python笔试题_腾讯2020春招数据分析师第一轮线上面试笔试