(final-project)= # Final Project - Modular midi keyboard with falling notes display ## Introduction I really like playing the piano but I currently can't find time to learn notes properly (and actually when I was a teenager it prevented me from learning it).\ But recently I started playing it again but tried a different approach. I just learn with below videos and found out with those, what series of notes sounds good to me and is fun to play. And so I continued to learn with those videos and also try and error my self to find fitting note-combinations and just learn the physical skill to play the piano. And this approach keeps me going, I continue to sit on my keyboard and play stuff, that comes to my mind.\ But learning this way is not that great, I need to pause the Youtube videos, look whats played, rewind, etc.\ There is also software like [Synthesia](https://synthesiagame.com/) which simplifies this process but a hardware-implementation would be the nicest solution to learn. ## What is does 1. Modular midi keyboard -> assemble as many octaves as you need 2. Falling notes display for showing the notes of a loaded midi-file to learn keyboard without needing to learn the notes So the hardware-implementation of this: Here are some software-tools for learning: - [Synthesia](https://synthesiagame.com/) - A software to use above visualisation approach to learn playing - [Linthesia](https://github.com/linthesia/linthesia) - The open-source fork of Synthesia - [Piano Booster](https://www.pianobooster.org/) - A software which taught notes sequentially while playing Also I can try to come up with a solution to combine this learning approach with learning notes. \ One idea would be an integration in [Piano Booster](https://www.pianobooster.org/) or maybe also a hardware-module. ## Target Group For everyone who: - want's to learn playing the piano but don't really have time to learn the notes (learning the skill is hard enough) - want a compact, modular keyboard they can extend as they need ## Design-Sketch With modular I meant that I can choose, how many octaves I need, can transport it easily in my backpack and extend its use with additional buttons/modules. So designed like this [Kickstarter project](https://www.kickstarter.com/projects/348684291/kombos-modular-keyboard) I took inspiration from. Here some first sketches: :::{figure-md} ![First Sketch](../media/final_project_midi_keyboard_dark.png){align=center width="100%"} One module from all sides, Units in mm\ Made with [LibreCAD](https://librecad.org/) ::: ## Project Plan I've split the project into 4 spirals: 1. MIDI keyboard **Goal** - create one module with a functioning mechanical keyboard which sends and works with usual MIDI-software (e.g.: [Fluidsynth](https://github.com/FluidSynth/fluidsynth)) 2. Modular MIDI keyboard **Goal** - build another module and connectors and program them to work together no matter which one is connected to the PC 3. MIDI Keyboard with LED Display **Goal** - build the LED Display module, load the MIDI file on to the keyboard, play it, show and react on key presses - (a big spiral) 4. Modular MIDI keyboard with LED Display **Goal** - build multiple of those modules and program them to work together ```{toctree} :maxdepth: 2 Design <./final_project_design.md> Production <./final_project_production.md> Programming <./final_project_programming.md> Result <./final_project_result.md> ```