在树莓派上安装麦克风监测音量
来源:互联网 发布:该怎么写淘宝店铺介绍 编辑:程序博客网 时间:2024/05/12 05:31
做这个事情的原因还是音响消音这个项目。Boss音响的主动消音也是使用的麦克风,不同的是他使用mic采集音量后,再用硬件取反,然后几乎同时就能播放出来进行消音。而我使用mic仅仅作为监测声音变化趋势的工具,对具体的波形并不关心。因为我提前知道了要消音的波形,只是不知道要将声音差取多少合适,那么,我使用mic作为监测设备,然后使用遗传算法,最后取得最优值。
那么先来讲怎么在树莓派(Raspberry pi)上安装mic。
sudo apt-get updatesudo apt-get install python-rpi.gpio python3-rpi.gpiosudo apt-get install python-dev python3-devsudo apt-get install mercurialsudo apt-get install python-pip python3-pipsudo apt-get remove python-rpi.gpio python3-rpi.gpiosudo pip install hg+http://hg.code.sf.net/p/raspberry-gpio-python/code#egg=RPi.GPIOsudo pip-3.2 install hg+http://hg.code.sf.net/p/raspberry-gpio-python/code#egg=RPi.GPIO
好吧,照着粘贴就行。那么我们现在有GPIO这个库了。
接着写个python脚本试一下。
from RPi import GPIOGPIO.setmode(GPIO.BCM)GPIO.setup(4, GPIO.OUT)
GPIO.output(4,True)
保存为led.py
然后根据脚本的接口,把led灯的信号接在GPIO4口上。
什么?不知道哪个是GPIO4口,好吧,看图:
然后执行
python led.py
看一下灯是不是亮了,然后再把脚本中的True改为False,再执行一下,看看灯是不是灭了?
下面我们就该接mic了。
还是将mic接到GPIO4口上,然后写脚本如下:
from RPi import GPIOfrom time import sleepGPIO.setmode(GPIO.BCM)GPIO.setup(4, GPIO.IN)while True:print GPIO.input(4)sleep(1)看一下屏幕是不是输出一些列的0,你可以制造一些噪音,发现0有时候会变成1.
但是我们想要的是具体的数值,不是高低信号,那么怎么办呢?
有一种折中的办法,就是利用现有的数个数字口去模拟,但是这样一是不准确,二是有延时,所以不是很推荐,但是我们还是把代码贴出来供大家参考:
我假设你使用的GPIO4口:
def RC_Analog (Pin): counter = 0 # Discharge capacitor GPIO.setup(Pin, GPIO.OUT) GPIO.output(Pin, GPIO.LOW) time.sleep(0.1) GPIO.setup(Pin, GPIO.IN) # Count loops until voltage across capacitor reads high on GPIO while(GPIO.input(Pin)==GPIO.LOW): counter =counter+1 return counter # Main program loop while True: print RC_Analog(4) # Measure timing using GPIO4另一种方法是,买一个MCP3008的转换板子,但是我看X宝上好像没有卖的,只有Pi转Arduino的转接板,不知道效果怎么样。大家可以试试。
0 0
- 在树莓派上安装麦克风监测音量
- 获取麦克风音量
- 利用MIXER获取麦克风录音音量
- 实时获取麦克风输入音量的代码
- 摄像头/麦克风的视频/音量指示器
- 麦克风音量检测 及录音DEMO
- 利用MIXER获取麦克风录音音量
- 解决win10麦克风音量小的问题。
- Android 获取麦克风的音量(分贝)
- 音频设备操作(静音,音量调节,麦克风音量)
- iOS相机和麦克风是否可用监测
- 关于调整“录音”麦克风音量而不是“播放”中麦克风音量的问题
- c# Winform 获取麦克风音量 控制麦克风音量大小 (自用笔记未测试)
- 一个函数实现调节录音麦克风输入音量
- Android 实时获取麦克风输入音量的代码
- Android 实时获取麦克风输入音量的代码
- Android 实时获取麦克风输入音量的代码
- Android 实时获取麦克风输入音量的代码
- 为了相同的前缀-测谎仪
- Jquery 插入节点总结
- ListView嵌套ListView,TextView有多行文本显示不全不问题
- 为了相同的前缀-跳楼梯
- 话题10 千差万别----i++与++i的区别
- 在树莓派上安装麦克风监测音量
- iOS中的CoreData的使用(详解)
- 学习笔记 BIT(树状数组)
- Linux下修改Mysql的用户(root)的密码
- 20151123 ocp 052(10-30)
- 为了相同的前缀-北京热身复仇
- 怎么利用HttpURLConnection向服务器发送键值对
- 为了相同的前缀-公式计算
- 解决Volley框架下JsonObjectRequest以POST提交数据,服务端无法获取数据的问题。