arduino灯带随音乐_【创客玩音乐】用灯带让音乐可视化
一、缘起:
长久以来一直想玩玩用灯带让音乐可视化的项目:
原作者地址:
https://github.com/scottlawsonbc/audio-reactive-led-strip
但苦于没有动力,这次借着论坛活动的东风,将这个项目走一遍。
因为原作者提供的程序是适合Arduino和树莓派的,
作为一个创客当然不能拿来主义,所以准备将其改造为掌控板可玩的 micropython代码,
权当学习吧。
二、原理
原理大概需要这么这么几步骤:
1.获取本地的声音:这个原作者已经提供说明,只要把:
202003098408..png (105.72 KB, 下载次数: 0)
2020-3-9 03:19 上传
这里设置立体声混响,然后通过python的一个声源库:pyaudio获取内录音即可。
2.利用获取的声音频率进行音频特征提取:
通过分帧、加窗、快速傅里叶变换等将声音转换为频谱,最后将频谱映射为:RGB值。
参考资料:
https://blog.csdn.net/yunnangf/article/details/78965446
202003099450..png (213.49 KB, 下载次数: 0)
2020-3-9 02:53 上传
3.将RGB值通过UDP协议传输到主控板,进行彩灯控制。
4.
需要注意的是因为UDP每次处理的是1024位数据,而我们传送数据的格式是:|i|r|g|b|这样的4字节。
i (0 to 255): 表示彩灯的序号,rgb三个值表示灯的RGB值。
所以最多支持1024/4 = 256个灯珠。
(当然手头只有一条60个灯珠的灯带)
5.掌控本地端进行处理的内容,主要是将传过来的数据,按照4字节为一个批次进行解码就可以,然后将数据用 neopixel 库 进行处理显示。具体代码如下:
[mw_shl_code=python,false]from mpython import *
import network
import time
import neopixel
import usocket
my_wifi = wifi()
my_wifi.connectWiFi("", "")
my_rgb = neopixel.NeoPixel(Pin(Pin.P8), n=60, bpp=3, timing=1)
while not my_wifi.sta.isconnected():
time.sleep(0.2)
print("...")
port = 7777
s=usocket.socket(usocket.AF_INET, usocket.SOCK_DGRAM)
# s.setsockopt(usocket.SOL_SOCKET,usocket.SO_REUSEADDR,1)
ip=my_wifi.sta.ifconfig()[0]
oled.fill(0)
oled.DispChar(ip, 0, 0, 1)
oled.show()
s.bind((ip,port))
print('waiting...')
while True:
data,addr=s.recvfrom(1024)
print('received:','from',addr)
if data:
try:
# my_rgb.fill( (0, 0, 0) )
len_data = len(data)
oled.DispChar(str(len_data), 0, 16, 1)
oled.show()
for i in range(0,len_data,4):
my_rgb[data] = data[i+1], data[i+2], data[i+3]
my_rgb.write()
time.sleep_ms(1)
except:
pass
[/mw_shl_code]
三、本地发送端代码:
2020-3-9 02:56 上传
点击文件名下载附件
如果要运行,需安装:
Numpy
Scipy (for digital signal processing)
PyQtGraph (for GUI visualization)
PyAudio (for recording audio with microphone)
四个库。
四、实现效果:
202003091548..png (396.45 KB, 下载次数: 0)
2020-3-9 03:43 上传
五、演示视频:
arduino灯带随音乐_【创客玩音乐】用灯带让音乐可视化相关推荐
- 怎么添加本地音乐_展示 | 传一学员优秀项目之音乐播放器
?点击上方蓝字关注我们 前言:随着移动互联网在国内的飞速发展,移动音乐作为国内最受欢迎的娱乐休闲方式之一也得到飞速的发展,有包括酷狗.QQ.酷我等在内的全用户覆盖的音乐软件,又有像网易云.虾米等在内的 ...
- c3074 无法使用带圆括号的_如何选择路面裂缝贴缝带?
点击上面"蓝字"关注我们! 无胎基贴缝带 无胎基贴缝带表层没有无纺布的覆盖,用了一层极薄的黑色膜用来覆盖了有粘性的路面贴缝带,这样就保证了路面贴缝带本身的柔软性. 有胎基贴缝带 有 ...
- ewb交通灯报告和文件_基于EWB的交通灯设计
本文着眼于目前普遍应用在城市道路上的交通灯控制系统,从课程设计的题目要求出发,设计了一个十字路口主次街道的交通灯控制电路. 首先进行交通灯状态变换的分析和交通灯总体框架的设计,接着提出了2种电路设计方 ...
- eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计
应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率.下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果. 1 系统功能与要求 交通灯控 ...
- arduino 嗡鸣器 音乐_[求助]怎样实现红外遥控蜂鸣器播放音乐,求大神指正
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define NOTE_0 -1#define NOTE_A1 441 #define NOTE_A2 495 #define NOT ...
- python写音乐_你想过用代码来写音乐吗?我用业余时间开发的一个可以编程写音乐的python库(一)...
最近几个月学业繁忙,但是业余时间自己开发了很多python库,内容包括数学统计,各种游戏,还有音乐等等.其实还有试着写AI方面的,但是目前还是初期进度.今天我想先介绍一下我正在开发中的一个可以编程写音 ...
- led灯条串联图_串联式电路 - 自制12vled灯电路图(五款设计电路图分享)
2.双电解电容串联式电路 判断要点:这种电路从220V整流出来,有两个电解电容串联滤波,而电容的中心点连接到灯管电路.后面的自激电路也大同小异.高频变压器B次级出来通过灯管灯丝只串有一个高耐压的电容C ...
- 四川音乐学院计算机音乐创作,四川音乐学院本科录音艺术与计算机音乐_四川音乐学院本科录音艺术与计算机音乐简介-查字典学校网...
根据四川音乐学院电子音乐系"录音艺术与电脑音乐"专业本科教学计划,专业主科期末考试由作曲主科.电子音乐主科组成,具体规定及要求如下: 一.本科一年级 (一)作曲主科考试 第一学期: ...
- 下载spotify音乐_如何在Amazon Echo上播放Spotify音乐
下载spotify音乐 The Amazon Echo uses Amazon's Prime Music as the default service for any music you want ...
- python27.dll是系统自带的吗_正版《GTA5》自带“神仙辅助”功能?官方认可外挂属实厉害...
你知道吗?在GTA5这款游戏中除了秘籍之外,其实R星还专门制作了,属于自己的外挂系统,当然了也是作弊系统,不得不说这R星也是看开了,对于外挂的管制其实也算睁一只眼闭一只眼了,你看看线上刷钱玩家一大堆, ...
最新文章
- 使用 u-boot 烧写内核——韦东山嵌入式Linux学习笔记10
- org.apache.hadoop.util.PlatformName //cgywin下Hadoop-0.21.0 错误问题
- zabbix2.2安装配置(1)
- 前端学习(2715):重读vue电商网站35之在sessionStorage保存左侧菜单栏的激活状态
- 学生信息管理系统的价值PHP,php技术对学生管理系统实现的价值研究
- 山东2021高考成绩查询时间二本,山东二本录取结果什么时候出来,2021年高考山东二本录取结果查询时间...
- 传海思为 PC 开发 CPU/GPU ;小米将发布第二款 5G 手机;Firefox 68.0.2 发布 | 极客头条...
- Idea 集成Lombok插件
- Flink on YARN(上):一张图轻松掌握基础架构与启动流程
- matlabif语句怎么用_腾讯面试:一条SQL语句执行得很慢的原因有哪些?
- Ubuntu环境下Android反编译apk教程
- 黑苹果alc269声卡仿冒id_AppleALC仿冒声卡驱动alc269优化版(Lenovo Z580亲测)
- python 重命名文件出现乱码_python处理文件名乱码
- OLS回归模型-斯皮尔曼相关系数-数值模拟-多目标规划-养老服务床位需求预测与运营模式研究-之数学建模
- 第2组 团队展示(组长)
- 后台推送消息给app_小米加入统一推送联盟!避免多种APP后台运行,国产手机春天来了...
- 利用YOLOV5实现手语识别
- 车载服务器作用,穿针引线谈铁路机车车载系统服务器
- 如何将pytorch模型部署到安卓
- python判断三角形是否直角_Python3如何判断三角形的类型
热门文章
- 责任链模式(以及变种管道模式)的应用案例
- centos7:yum -y install gcc python36-devel bzip2-devel sqlite-devel openssl-devel readline-devel xz-d
- ZYNQ 图像处理之千兆网传(一)【寄存器级操作】
- 2019年Java招聘门槛提高,企业对Java程序员又有怎样的要求?
- C++标准库类型vector介绍
- Pytorch:模型的保存与加载 torch.save()、torch.load()、torch.nn.Module.load_state_dict()
- 乌镇AI论坛最全盘点:中国互联网半壁江山坐在了一起,他们怎么看AI
- Html5网页播放器的同层播放功能
- poi导出excel不可读
- 【R】【决策树】【随机森林】