Show HN: A simple web game to help learn chords and basic progressions (chords.yottanami.com)
I've created Chord Nebula, a simple web-based game designed to help users learn and practice piano chords, basic progressions, and harmony fundamentals. The game integrates with MIDI keyboards, allowing you to play chords in real-time and receive immediate feedback based on the key you choose.
GitHub Repository: https://github.com/yottanami/chord_nebula Live Demo: https://chords.yottanami.com
Requirements: To use Chord Nebula, you'll need a MIDI keyboard connected to your computer.
Current Status: Chord Nebula is still a simple project. I'm committed to improving it based on user feedback and would greatly appreciate any support or contributions from the community.
Looking for Feedback and Collaborators: I'm eager to hear your thoughts on Chord Nebula! Whether it's suggestions for new features, improvements, or bug reports, your feedback is invaluable. Additionally, if you're interested in collaborating to enhance the game, feel free to reach out or contribute directly via GitHub.
Thanks for taking the time to check out Chord Nebula!
57 comments
[ 2.5 ms ] story [ 132 ms ] threadProbably because your user name is not "yourusername."
But it seems a bit counterproductive to train on a weird setup. You don't want to contaminate your muscle memory.
Limiting this to work only with folks who have MIDI keyboards attached to their machines probably cuts your audience down by 99.9999%. Especially here on hacker news.
I think you’re going to find it tough going to get any real feedback with that requirement. You might find better luck launching in a community of folks who are more likely to meet your hardware requirements.
The set of people that have MIDI capable keyboards and want to improve musically is vanishingly small compared to those without, true, but it’s clearly a lucrative market if you do it right: there are tons of (music) keyboard classes out there online.
And a lot of the hardware and software are pricey enough that I imagine ads could be pretty lucrative too.
You can still absolutely deduce the fundamental with great accuracy via an FFT, but the approach is a bit more involved. The relevant research area here is called ‘fundamental frequency estimation’.
For an example of this, you can see this app I built that lets you give keyboard and mouse inputs via playing notes on a bass guitar, which are recognized over the microphone: https://github.com/codyd51/offkeyboard
A super-brief spin through Amazon doesn't show anything like that. And <= $30 is within the 'impulse buy' range, so I'm very interested to know more, if you're up for sharing :)
Even if you have no interest in music, get one. MIDI is super easy to read, you can DIY something like an Elgato Stream Deck for a third of the price, physical volume knobs included. It's up there with a Raspberry Pi for the coolest cheap gadget.
and if you want to get fancier with sliders and drum pads:
https://www.amazon.com/Donner-Keyboard-Controller-Personaliz...
or perhaps:
https://www.amazon.com/AKAI-PROFESSIONAL-MPK-Mini-MK3/dp/B08...
This is the best advice I was given. People are always asking for you to unfocus and disperse.
Most people that is serious about learning chords have a MIDI device. It will make your life way harder to add non MIDI devices and the people that will use it are not really that committed. MIDI devices are so cheap today that anyone that wants one could get one.
BTW I have several MIDI devices because I create my own games too.
But if this is strictly for learning fingering and not for identifying chords by ear, I guess it's reasonable to require a keyboard. Otherwise you can't use it anyway.
Related question: Some people are suggesting keyboards that are only MIDI controllers; but that doesn't seem sufficient, because in that instance where will the sounds come from? Are there default sounds that will be triggered if you hook up a controller-only keyboard?
not sure if anyone has good mapping for that.
I made an app to help learn chords and keys too: https://apps.apple.com/us/app/bloopkeys/id6689494178
Mine doesn't require MIDI (although it supports MIDI out as an option), but I can see why you went with that for yours.
Some notes/thoughts: 1. It didn't work on my iPhone (either with Firefox or Safari). 2. A helpful sentence or two would be useful. For example, it wasn't obvious that what you were looking for was midi in and not midi out. 3. Ignore the folks on here talking about monetization (it won't compete with something like Melodics). You made a fun little thing and that's great.
But… I’ve connected my Yamaha P-515 electric piano to my iPad, and it doesn’t show in the app’s “MIDI keyboard” dropdown.
Lots of Googling comes up with nothing helpful - or understandable, at least, to me, a novice when it comes to MIDI.
I’m writing this feedback, not because I want tech support, but because maybe it is helpful that a keen would-be user simply can’t get started.
I got it working by plugging my Yamaha P-515 MacBook Pro into my computer. The ergonomics of playing the piano while viewing on a laptop were awkward.
As to the game, well, it doesn’t do much yet. Just prompting me to play some chords. But it’s a start.
Congrats on launching, and good luck with the next steps.
As you mentioned, this is a first step and the main goal is to help build muscle memory for common progressions. And also how chords solve into each other, not just learning the chords themselves.
With the great feedback I got here, I am planning to improve it so that more people can enjoy it.
Feel free to join the mailing list to get the updates.
https://midi-note-trainer.teemukoivisto.xyz/
I maybe put even too much effort in it, all those different keyboard layouts and all. But I am happy with the end result and noticed it did actually work. For me, the most important thing was (and still is) just learning music notation. Maybe one day I'll make a v2.
I want to extend my heartfelt thanks to everyone for the incredible feedback. I honestly didn't anticipate such a positive response, and it has motivated me to dedicate more time and effort to developing Chord Nebula.
I am committed to carefully reading all your messages and responding to each one. To keep everyone updated on the latest developments and changes, I've created a mailing list on the project's page. If you're interested, please feel free to join!
Based on your valuable suggestions, I've implemented several small changes to enhance the user experience. Your input is instrumental in making this project better.
You can report any issues on GitHub, contribute to the project, or simply give the repository a star to provide me with extra motivation to keep pushing forward.
Thank you once again for your support and enthusiasm!