电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>在Python中使用Flask运行的Web应用程序来模拟钢琴

在Python中使用Flask运行的Web应用程序来模拟钢琴

2022-11-28 | zip | 0.33 MB | 次下载 | 免费

资料介绍

描述

这个项目是关于通过在 Python使用Flask运行的 Web 应用程序来模拟钢琴。该网页有 4 个页面:Home、Single Octave Piano、Three Octave Piano 和 Samples,它们是使用Bootstrap 4Font Awesome 4构建的为了让钢琴更“友好”,我使用了一个 RGB LED 来显示钢琴上的不同音符。另外,我添加了 3 首歌曲样本:Coffin Dance、Smells Like Teen Spirits 和 Sweet Dreams,可以通过 Samples 页面播放,也可以通过面包板上的 3 个按钮播放。

图片

 
 
 
poYBAGOD0JGAENWBAAGm0Mk9_Bo996.png
 
1 / 6
 

介绍

 

这个怎么运作

钢琴音符频率存储在 JSON 文件中。该程序在 2 个线程上运行:一个用于 Web 应用程序,另一个用于 3 个按钮输入。Http 请求使用 ajax 和 jquery 发送。

每个歌曲样本都有自己的类。它们扩展了 Abstract_Song 类并具有包含特定音符序列和延迟的方法。如果项目被克隆,每个用户都可以根据需要添加自己的歌曲。

每个音符都有自己的颜色显示在 RGB LED 上。颜色如下:

  • C(做)-红色
  • C# (Do Major) - 淡青色
  • D (Re) - 黄色
  • D# (Re Major) - 淡洋红色
  • E (Mi) - 绿色
  • F (Fa) - 青色
  • F# (Fa major) - 橙色
  • G(溶胶)-蓝色
  • G# (Sol major) - 淡黄色
  • A (La) - 洋红色
  • A# (La major) - 淡蓝色
  • B (Si) - 白色

注意:根据您的 RGB LED,浅色的显示可能会略有不同。您可以在 raspberrypi_configurations.py 文件中更改这些颜色。

如何运行程序

由于 Rpi.GPIO 库的 PWM 输出不够稳定,我们将使用 pigpio 库来使用开发板的硬件 PWM 能力。

Pigpio是一个库,它允许控制树莓派上的所有 GPIO 引脚,就像 Rpi.GPIO 库一样。它通常与 Raspbian 一起预装。

如果没有,请使用以下命令安装它:

wget abyz.me.uk/rpi/pigpio/pigpio.zip
unzip pigpio.zip
cd PIGPIO
make
sudo make install

为了启动应用程序,您需要执行以下步骤:

1)运行pigpiod守护进程:

sudo pigpiod

每次启动终端时,如果要使用使用 pigpio 库的脚本,都需要启动 pigpiod 守护进程。

2)在python中安装flask web框架:

sudo pip3 install flask

3)克隆 Github 存储库:

git clone https://github.com/enaky/My_Little_Piano.git

4) 使用以下命令运行应用程序:

python3 my_little_piano_app.py

服务器在端口 2014 上运行。您可以在 my_little_piano_app.py 中更改端口。该网站的链接是:
rasp_ip:2014/

其中rasp_ip - 是您的树莓派 IP 地址。例子:192.168.1.106:2014/

注意:您可以在 raspberry pi 的终端中键入以下命令找到此IP地址。

ifconfig

项目结构和代码

注意:总代码包含 1870 行,包括空格。

因此,请查看Github Page f或完整代码。

 
 
 
pYYBAGOD0JSAcRY4AABBNIzERvU311.png
 
1 / 5
 

短项目结构模块分析:

  • raspberrypi_configurations -包含树莓派的所有配置,包括蜂鸣器和 RGB LED 颜色设置
  • 资源 -包含包含所有 7 个带有音符频率的钢琴八度音阶的 JSON
  • 样本 -包括抽象类abstract_song.py可以扩展以实现一首新歌曲和三个已实现的歌曲类,包括在 sweet_dreams.py、coffin_dance.py 和气味_like_teen_spirit.py
  • 实用程序 -包括将 JSON 函数加载到数组或 JSON 对象中
  • web_services -包含 Web 应用程序的所有文件

1) web_services.py包含烧瓶路由,它提供了将我们应用程序中的 URL 轻松分配给函数的功能

2)模板- 包含网站 4 个页面的 4 个 HTML 文件(HTML 和 js)(使用 Bootstrap 4 和 Font Awesome 4)

3)静态 -包含钢琴八度的 CSS 和网页中使用的图像(主页和示例页面)

主程序位于 my_little_piano_app.py 中。这里包括了上面指定的所有模块,这里还构建了一个函数(用于使用按钮播放样本),它在不同的线程上运行。

 

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1储能电源市场分析
  2. 7.99 MB  |  8次下载  |  免费
  3. 2储能电源市场分析报告
  4. 2.61 MB   |  6次下载  |  免费
  5. 3磁环电感定制时应该注意什么
  6. 0.32 MB   |  2次下载  |  免费
  7. 4labview文档教程资料(一)
  8. 24.29 MB   |  2次下载  |  免费
  9. 5轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
  10. 0.60 MB   |  1次下载  |  2 积分
  11. 6英集芯IP5353 QFN32 规格书pdf
  12. 2.70 MB  |  1次下载  |  免费
  13. 7NCV78763R1DAGEVB子板数据手册
  14. 533.41 KB   |  次下载  |  免费
  15. 8500mA,高效 MicroSiP™ 降压转换器TPS8269xSIP数据表
  16. 918.92KB   |  次下载  |  免费

本月

  1. 1ES9038PRO解码芯片的电路原理图介绍
  2. 0.25 MB   |  35次下载  |  5 积分
  3. 2STM32国内外发展现状
  4. 1.15 MB   |  13次下载  |  免费
  5. 3传感芯片选型指南
  6. 3.60 MB   |  11次下载  |  免费
  7. 4ATmega8芯片中文手册
  8. 2.45 MB   |  8次下载  |  1 积分
  9. 5储能电源市场分析
  10. 7.99 MB  |  8次下载  |  免费
  11. 6TDK电容器产品指南
  12. 11.88 MB   |  7次下载  |  1 积分
  13. 72A多电池高效开关充电器AN_SY6912A中文资料规格书
  14. 1.43 MB   |  7次下载  |  免费
  15. 8储能电源市场分析报告
  16. 2.61 MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935086次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420050次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233068次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191317次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183316次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73788次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费