# solfege.ai â ð¹
Detect solfege hand signs using machine learning ([live demo](https://solfege.ai))
> a project by [Ryan Kemmer](https://github.com/ryankemmer) and [Josh Stovall](https://joshstovall.com)
## About
We have developed a system that allows the user to 'play' [solfege hand signs](https://en.wikipedia.org/wiki/Solfege) as a MIDI instrument. This technology could have practical applications both in music education and creation.
Solfege hand signs are often used in school choirs to teach music theory concepts. Since vocalists cannot actually see the notes on their instrument, hand signs have been developed as a teaching aid.
This system allows students to play the hand signs as an instrument -- recieving auditory feedback. Previously, a student learning solfege would have to sing the note or play another instrument to 'hear' their hand signs.
## Libraries
This project uses [TensorFlow](https://github.com/tensorflow/tensorflow), [MediaPipe](https://google.github.io/mediapipe/solutions/hands.html), and [JZZ.js](https://github.com/jazz-soft/JZZ).
## Setup
```
cd solfege
php -S 0.0.0.0:1234
```
go to `http://localhost:1234`
## Use
### creating data sets
* make a hand sign
* click the button to create training data
* it will wait 1 second, start recording data for 30 seconds, then save a file with the data
## Hand Signs
| hand sign | name | pitch class <br>(distance from C) | equivalent note |
| :-: | :-: |:-: |:-: |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/do.png?raw=true" width="100" height="100" /> | do | 0 | C |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/di.png?raw=true" width="100" height="100" /> | di | 1 | C# |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/ra.png?raw=true" width="100" height="100" /> | ra | 1 | Db |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/re.png?raw=true" width="100" height="100" /> | re | 2 | D |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/ri.png?raw=true" width="100" height="100" /> | ri | 3 | D# |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/me.png?raw=true" width="100" height="100" /> | me | 3 | Eb |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/mi.png?raw=true" width="100" height="100" /> | mi | 4 | E |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/fa.png?raw=true" width="100" height="100" /> | fa | 5 | F |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/fi.png?raw=true" width="100" height="100" /> | fi | 6 | F# |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/se.png?raw=true" width="100" height="100" /> | se | 6 | Gb |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/so.png?raw=true" width="100" height="100" /> | so | 7 | G |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/si.png?raw=true" width="100" height="100" /> | si | 8 | G# |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/le.png?raw=true" width="100" height="100" /> | le | 8 | Ab |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/la.png?raw=true" width="100" height="100" /> | la | 9 | A |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/li.png?raw=true" width="100" height="100" /> | li | 10 | A# |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/te.png?raw=true" width="100" height="100" /> | te | 10 | Bb |
|<img src="https://github.com/instrumentbible/solfege/blob/main/img/ti.png?raw=true" width="100" height="100" /> | ti | 11 | B |
# Contributing
Any contributions you make are **greatly appreciated**. Any bugs and change requests are to be reported on the [issues tab](https://github.com/instrumentbible/instrument.bible/issues). If you don't like coding, you can contribute by becoming a sponsor.
[![GitHub Sponsors](https://img.shields.io/static/v1?label=&message=GitHub%20Sponsors&logo=github&logoColor=white&color=6e5494)](https://github.com/sponsors/instrumentbible)
[![Patreon](https://img.shields.io/static/v1?label=&message=Support%20on%20Patreon&logo=Patreon&logoColor=white&color=f96854)](https://patreon.com/instrumentbible)
[![Square](https://img.shields.io/static/v1?label=&message=Donate%20on%20Square&logo=Square&logoColor=white&color=28c101)](https://checkout.square.site/pay/31ba92dcb17e4a9c979c022b690659bb)
[![Venmo](https://img.shields.io/static/v1?label=&message=Donate%20on%20Venmo&logo=Venmo&logoColor=white&color=3d95ce)](https://venmo.com/u/instrumentbible)
[![PayPal](https://img.shields.io/static/v1?label=&message=Donate%20on%20PayPal&logo=PayPal&logoColor=white&color=009cde)](https://paypal.me/instrumentbible)
# Questions?
Please write to [contact@instrument.bible](mailto:contact@instrument.bible) or visit [instrument.bible](https://instrument.bible).
[![Discord](https://img.shields.io/static/v1?label=&message=Discord%20&logo=discord&logoColor=white&color=7289da)](https://discord.gg/VJDj7nt) [![Twitter](https://img.shields.io/static/v1?label=&message=Twitter&logo=Twitter&logoColor=white&color=1DA1F2)](https://twitter.com/instrumentbible) [![YouTube](https://img.shields.io/static/v1?label=&message=Youtube&logo=youtube&logoColor=white&color=FF0000)](https://youtube.com/channel/UCkw7klLsjYXYGzFT-9a3WMA) [![Facebook](https://img.shields.io/static/v1?label=&message=Facebook&logo=facebook&logoColor=white&color=3c5a99)](https://facebook.com/instrumentbible) [![LinkedIn](https://img.shields.io/static/v1?label=&message=LinkedIn&logo=LinkedIn&logoColor=white&color=0077b5)](https://linkedin.com/company/instrumentbible) [![Instagram](https://img.shields.io/static/v1?label=&message=Instagram&logo=Instagram&logoColor=white&color=e1306c)](https://instagram.com/instrument.bible)
快撑死的鱼
- 粉丝: 2w+
- 资源: 9156
最新资源
- 有向图下多智能体自适应二分时变编队控制;多智能体编队;自适应二分时变;有向图(有参考文献)
- 基于mpc的燃料电池混合动力汽车能量管理策略 1.研究对象为燃料电池-动力电池混合动力汽车 2.假设预测域内车速已知,在模型预测控制框架下构建最优控制问题 3.分别利用动态规划和pmp求解预测域内的能
- 双功率通路双向DC-AC变器 直流变器采用非隔离双向Buck Boost变器拓扑,DC-AC变器采用T型拓扑 该电路拓扑能够实现蓄电池和单相交流电网之间部分功率的单级变,且具备双向功率传输能力,适
- 三电平npc有源电力滤波器无差拿控制matlab 仿真
- 电机马达本杰明磁链模型,可以闭环带载启动,支持代码生成,已经实际电机验证
- Fluent焊接熔池模拟,圆弧焊接,自定义热源路径,圆弧焊接 ICEM建模与网格划分
- 欧姆龙NJ501 PLC新能源锂电行业激光焊接程序案例 程序26轴EtherCAT总线控制,伺服使用的是汇川伺服 设备工19个工位,程序分工位分模块编程,逻辑清晰,注释齐全,可读性较好 自编进20
- 三电平无刷直流电机BLDC矢量控制仿真模型,给定转速1000r min,运行良好; 五电平,两电平均可做,可调参数; matlab simulink模型
- 含风电-光伏-光热电站电力系统N-k安全优化调度模型该程序参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型,主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型,从而
- BLDC(无刷直流电机)矢量控制仿真模型,在转速1500r min运行良好,可升级为滑模控制; 也有采用霍尔的六步相双闭环控制;
- pemfc燃料电池电堆fluent仿真 带冷却流道的燃料电池电堆,热管理仿真 燃料电池电堆三维模型创建和fluent流场仿真教程 包含模型,网格,算例和结果文件
- 三菱和MCGS自动洗衣机控制系统组态模拟仿真控制系统组态王PLC程序
- 多智能体自适应时变编队跟踪控制;编队跟踪;多智能体;观测器
- MATLAB环境下一种改进盲反卷积算法 算法运行环境为MATLAB R2018A,执行一种改进盲反卷积算法,可用于旋转机械故障诊断 压缩包=代码+数据+参考 subplotnum-1 = 3; s
- 整车七自由度主动悬架模型 基于simulik搭建的整车七自由度主动悬架模型,采用模糊PID控制策略,以悬架主动力输入为四轮随机路面,输出为平顺性评价指标垂向加速度等,悬架主动力为控制量,车身垂向速度为
- 全局规划算法 rrt+dubins规划 hybrid astar规划 c++实现栅格地图,状态空间,状态校验,RRT搜索算法 混合a星规划算法
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈