Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jaybee18/mfp

A free piano learning web-app with support for midi keyboards 🎹
https://github.com/jaybee18/mfp

learn midi midi-controller midi-player piano piano-roll

Last synced: about 1 month ago
JSON representation

A free piano learning web-app with support for midi keyboards 🎹

Awesome Lists containing this project

README

        

##

![Version](https://img.shields.io/github/v/tag/Jaybee18/mfp)
[![Generic badge](https://img.shields.io/badge/Framework-SvelteKit-red.svg)](https://shields.io/)
[![License](https://img.shields.io/github/license/Jaybee18/mfp)](https://shields.io/)
[![Issues](https://img.shields.io/github/issues/Jaybee18/mfp)](https://shields.io/)

A free piano learning web-app with support for midi devices.

### Features:
- Midi Controller Support
- Mouse Support
- Upload your own midi files
- Piano Sampler with up to 7 octaves
- Wait-For-Key-Press mode
- AutoPlay for midi files
- Key labels and press indicators on visual piano

## v0.4
![image](https://github.com/Jaybee18/mfp/assets/64578396/25f0a1af-8492-4988-b4cd-4645e0a89123)
- [x] make piano keys manually clickable
- ui polishing

## v0.3
![image](https://github.com/Jaybee18/mfp/assets/64578396/7f31d611-bc5a-45cf-9910-18733204b847)
- [x] label keys / notes - option
- [x] stop when note isn't hit; resume when hit - option

## v0.2
![image](https://github.com/Jaybee18/mfp/assets/64578396/67f58caa-867c-40cf-ae66-6ac784908bf0)
- [x] adjust viewport (ticks shown)
- [x] adjust playback speed
- [x] better ui?

## v0.1
![image](https://github.com/Jaybee18/mfp/assets/64578396/d6318904-687e-4b9e-a15b-cdb5259f7f98)
- [x] decent ui
- [x] import midi
- [x] play midi

## backlog
- [ ] map midi buttons to play/stop/restart
- [ ] metronome
- [ ] use pitch wheel to scroll notes up/down
- [ ] key holding particle effects
- [ ] customization
- [ ] community midi collection
- [ ] upload midis
- [ ] play online midis
- [ ] statistics for played songs (time learned, accuracy, # completed, ...)
- [ ] switch between midi controller and keyboard
- [ ] snap midi notes to ticks (12 ticks? 6 ticks?) - option
- [ ] zeit anzeige switch in
sekunden
beats
prozent
beats/total beats
sekunden/total sekunden
- [ ] ending screen
score for current song
accuracy?
time?
total time?
difficulty rating?
next song select
- [ ] pop out piano into new browser window