frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

“Erdos problem #728 was solved more or less autonomously by AI”

https://mathstodon.xyz/@tao/115855840223258103
317•cod1r•6h ago•199 comments

OLED Not for Me

https://nuxx.net/blog/2026/01/09/oled-not-for-me/
10•c0nsumer•55m ago•11 comments

Maine's black market for baby eels

https://www.pressherald.com/2025/09/09/maines-black-market-for-baby-eels-is-spawning-a-crime-thri...
15•noleary•1h ago•2 comments

Flock Hardcoded the Password for America's Surveillance Infrastructure 53 Times

https://nexanet.ai/blog/53-times-flocksafety-hardcoded-the-password-for-americas-surveillance-inf...
347•fuck_flock•11h ago•116 comments

You probably don't need Oh My Zsh

https://rushter.com/blog/zsh-shell/
3•fla•13m ago•0 comments

JavaScript Demos in 140 Characters

https://beta.dwitter.net
209•themanmaran•10h ago•48 comments

RTX 5090 and Raspberry Pi: Can it game?

https://scottjg.com/posts/2026-01-08-crappy-computer-showdown/
183•scottjg•9h ago•72 comments

Greenland sharks maintain vision for centuries through DNA repair mechanism

https://phys.org/news/2026-01-eye-greenland-sharks-vision-centuries.html
33•pseudolus•3d ago•5 comments

How Markdown took over the world

https://www.anildash.com/2026/01/09/how-markdown-took-over-the-world/
185•zdw•10h ago•151 comments

How will the miracle happen today?

https://kk.org/thetechnium/how-will-the-miracle-happen-today/
394•zdw•5d ago•214 comments

Show HN: Rocket Launch and Orbit Simulator

https://www.donutthejedi.com/
108•donutthejedi•9h ago•34 comments

Show HN: Scroll Wikipedia like TikTok

https://quack.sdan.io
192•sdan•10h ago•51 comments

Robotopia: A 3D, first-person, talking simulator

https://elbowgreasegames.substack.com/p/introducing-robotopia-a-3d-first
30•psawaya•1d ago•10 comments

Scientists discover oldest poison, on 60k-year-old arrows

https://www.nytimes.com/2026/01/07/science/poison-arrows-south-africa.html
104•noleary•1d ago•36 comments

Favorite Tech Museums

https://aresluna.org/fav-tech-museums/
23•justincormack•4d ago•12 comments

Cloudflare CEO on the Italy fines

https://twitter.com/eastdakota/status/2009654937303896492
451•sidcool•12h ago•644 comments

Show HN: Miditui – a terminal app/UI for MIDI composing, mixing, and playback

https://github.com/minimaxir/miditui
17•minimaxir•1d ago•2 comments

Start your meetings at 5 minutes past

https://philipotoole.com/start-your-meetings-at-5-minutes-past/
37•otoolep•6h ago•57 comments

My article on why AI is great (or terrible) or how to use it

https://matthewrocklin.com/ai-zealotry/
89•akshayka•10h ago•137 comments

The rise and fall of the company behind Reader Rabbit (2018)

https://theoutline.com/post/6293/reader-rabbit-history-the-learning-company-zoombinis-carmen-sand...
10•mmcclure•1d ago•2 comments

Changes to Android Open Source Project

https://source.android.com/
5•TechTechTech•2d ago•1 comments

Kagi releases alpha version of Orion for Linux

https://help.kagi.com/orion/misc/linux-status.html
362•HelloUsername•15h ago•253 comments

Show HN: I made a memory game to teach you to play piano by ear

https://lend-me-your-ears.specr.net
435•vunderba•11h ago•156 comments

Deno has made its PyPI distribution official

https://github.com/denoland/deno/issues/31254
33•zahlman•7h ago•24 comments

Replit (YC W18) Is Hiring

https://jobs.ashbyhq.com/replit
1•amasad•10h ago

Show HN: Yellopages – New tab Chrome extension

https://yellopages.kawaicheung.io/
13•kiwigod17•1d ago•3 comments

QtNat – Open you port with Qt UPnP

http://renaudguezennec.eu/index.php/2026/01/09/qtnat-open-you-port-with-qt/
40•jandeboevrie•8h ago•33 comments

How to store a chess position in 26 bytes (2022)

https://ezzeriesa.notion.site/How-to-store-a-chess-position-in-26-bytes-using-bit-level-magic-df1...
83•kurinikku•13h ago•71 comments

Show HN: Similarity = cosine(your_GitHub_stars, Karpathy) Client-side

https://puzer.github.io/github_recommender/
127•puzer•3d ago•35 comments

How to code Claude Code in 200 lines of code

https://www.mihaileric.com/The-Emperor-Has-No-Clothes/
729•nutellalover•1d ago•226 comments
Open in hackernews

Show HN: I made a memory game to teach you to play piano by ear

https://lend-me-your-ears.specr.net
435•vunderba•11h ago

Comments

HPsquared•10h ago
I suppose the thing you're learning with musical instruments is hand-ear coordination. The eyes are optional.
hsuduebc2•10h ago
Nice! I was wondering to make something similiar for guitar. It is little weird that this is not widely used technique. Just blindly repeat the tone you hear, then move to tone sequences. Nice job!
vunderba•7h ago
Thanks for the feedback! I'd love to adapt this to support universal pitch detection - with the number of guitar tuner apps out there it's not like it should be TREMENDOUSLY difficult (famous last words).
MattRix•10h ago
I’ve tried quite a few of these apps/sites, and I like the simplicity of this one.
ladidahh•10h ago
It be nice if you mapped the keys to the user keyboard kinda like ableton, for people who dont have a midi controller handy

White Keys: The keys from ‘A’ to ‘L’ on your keyboard correspond to the white keys on a piano, covering a full octave from C to D. Black Keys: The keys in between, like ‘W’ and ‘E’, correspond to the black keys or the sharp notes on a piano. from : https://www.electrikjam.com/use-your-keyboard-as-a-midi-cont...

moosedev•9h ago
This, but (or "and") use the 4-row layout that dozens of tracker programs used[0], to fit over 2 octaves on the computer keyboard.

On a US keyboard:

QWERTYUIOP[] is the white keys starting at middle C. (The row above is the black keys; the 2 key plays C#.)

ZXCVBNM,./ is the white keys starting an octave lower. (S plays a low C#.)

The two ranges overlap; e.g. Q and , both play C in the same octave.

Grew up composing music on a computer this way when my (musical) keyboard didn't have MIDI and I couldn't afford a better one :)

[0] https://en.wikipedia.org/wiki/Music_tracker

wizzwizz4•5h ago
Can you name a piece of software that uses this scheme? Or, better still, the OG software that used it. If I steal this, I'd like to have something to call it. (I've seen this scheme before: I think it might be used by the keyboard built into the Squeak image that comes with Scratch 1.4.)
nick__m•5h ago
renoise use that convention https://files.renoise.com/manual/Renoise%20User%20Manual.pdf (page 38). I used psycle modular music in 1999 and I know that it was not the first tracker-like software to use that convention but it's as far as my memory goes.
mb7733•31m ago
FL Studio (fka Fruity Loops) uses this layout, or something very close to it.
moosedev•19m ago
The earliest I've used was Protracker, which was the most popular tracker in the early heyday of the format (late 80s - early 90s), but the earlier Soundtracker was the OG "tracker", and probably used the same layout, but I'm not sure. https://www.exotica.org.uk/wiki/Soundtracker_History

But if FL Studio (formerly FruityLoops) and Renoise use the same layout, as others have said, then those are probably going to resonate with a wider modern audience :D Or maybe just call it "FL Studio / Renoise / tracker layout"?

I don't do computer keyboard note entry any more, but I still have the muscle memory for that 4-row layout from hours spent with it in the late 90s :D And I'd totally use it in your game. (My MIDI keyboards are kinda too far away from the mouse and monitor.)

smeej•7h ago
Also a possibility: An on-screen keyboard. I'd happily click the keys. Or even the lines on the staff for that matter.
TZubiri•10h ago
Very nice, always wanted something like this.

Liked: Sheet/No shit split

Would like:

- Ability to play with PC keyboard, other apps already have some type of interface to type with keyboard, of course it might change depending on keyboard layout, but it's pretty standard and it happens that the keys aren't usually alighned, so you can have one row be whites and the upper row being blacks.

- Maybe the waiting times between new notes in simon says can be faster? The "You Win" is a bit slow and it feels like forever, breaking the pace of the music.

- Difficulties can be increased as well, Simon Says currently seems like it only does very small intervals, (feels like sheet based is a bit different but maybe not). Maybe it can be configured to allow a wider range of intervals, making it more difficult.

The other similar product that I've seen is an app called Yousician that did this for guitar but it was microphone based. This is very neat.

matthewfcarlson•10h ago
I would also love a button to pause so I can poke around the keyboard to see what it sounds like.
hooloovoo_zoo•10h ago
Don’t seem to get any sound on iPhone 16 even after clicking :(
ta2112•9h ago
Disable silent mode.
crgk•9h ago
I had to turn off silent mode. I always forget that physical switch for games.
hooloovoo_zoo•3h ago
Huh thanks that works but that’s not how silent mode is supposed to function. Still a bug imo.
CGMthrowaway•10h ago
This is as much a sight singing app as it is piano by ear. I did a lot of these kinds of drills studying for the Music Theory AP exam in high school. Very useful
ipsum2•10h ago
I have a really niche use case that this fulfills. I have perfect pitch, but terrible working memory (can't remember more than 4 notes at time). This is a nice way to try to improve it.
vunderba•8h ago
Very nice! One of my friends is the exact opposite: they have a pretty poor sense of pitch but a prodigious working memory. They can take a brief glance at a couple of pages of sheet music and instantly reproduce it.

Hope this helps you on your musical journey~

Ap0c•10h ago
Maybe add microphone support and listen to what people play on keyboard piano ?
lucb1e•7h ago
Sounds like a category 2 situation https://xkcd.com/1425/

Okay, okay, not quite (FFT libraries are a thing), but pressing buttons on a keyboard is leagues easier than reliably detecting (and filtering noise from) tones coming through a microphone! Not a bad suggestion though

catapart•10h ago
Just a quick compatibility issue: for some reason, my midi board triggers a key input both when I press it down, and when I let it go. I'm assuming that it might just be something wrong with my board, but I did want to let you know in case there might be some nuance you haven't considered with respect to the midi commands. I know my first crack at it didn't distinguish between note-on and note-off commands, for instance.
ta2112•9h ago
I can add a bit of information to what might be behind this bug.

In MIDI, there are NOTE_ON and NOTE_OFF events, for when you press and release each key. The NOTE_ON has pitch and velocity parameters. The NOTE_OFF just has pitch parameter (maybe it has velocity as well I can't quite remember, it's off the point). So if you push middle C, it might look like this:

NOTE_ON 60 (middle C) 98 (velocity), NOTE_OFF 60

Some keyboards never send NOTE_OFF events, instead they send NOTE_ON with velocity 0. On these keyboards, pressing middle C looks like this:

NOTE_ON 60 98, NOTE_ON 60 0

Both are valid MIDI streams, and all stream processors should react appropriately to both. This app likely does not correctly map zero velocity NOTE_ON events to NOTE_OFF with the same pitch.

vunderba•8h ago
Hey catapart,

Thanks for the feedback. Oof that's weird. Maybe I'm triggering some kind of odd aftertouch?

EDIT: Just saw ta2112's note. That's super helpful I'm definitely only responding to standard MIDI NOTE_ON and NOTE_OFF messages.

I'll try to get this fixed this evening.

catapart•4h ago
Sweet! Thanks for the follow up. I hope it's a straightforward fix!

Aside from that, nice work on the app! Looking forward to giving it another try.

ETA: a shameless plug, but since you may have an interest in this kind of thing - I built and published a free, online midi piano (and drum kit) available for anyone to use. It's pretty bare-bones and doesn't really explain itself, but in case you ever want to use it, check out https://midi-speaker.com/

works with midi input as well as keyboard and touch/mouse input. it only has the two sampled instruments, but it's great for a groove in a pinch!

vunderba•2h ago
Okay I think it's fixed - I'm testing for NOTE_ON with velocity of 0. Let me now if that solves it for you. I simulated a test of it because my midi controller just sends the regular NOTE_ON/NOTE_OFF messages!

Tried out your site - super clean interface. I noticed you are using the Salamander Grand Piano samples. For some weird reason I thought that those samples were pretty huge (50+ MB) but it loaded up pretty quick so great job!

Fraterkes•10h ago
[flagged]
metacritic12•10h ago
When I go to their homepage, I get a Cloudflare SSL handshake failed error -- feels like a classical vibecode bug.
derrida•10h ago
As someone that like to play piano and guitar - I could see this immediately as something to improve my skills and playing by ear

For me I was thinking a thought I almost never think and is long forgotten "where is that old home button in my browser so I can set this as my homepage, or maybe I have to solve 2-3 of these before I can log in to my computer" xD

"insubstantive" is a nice word - software that is modifiable by the user at run time - I guess like scripting "it's just throw away" or emacs bit of elisp and keyboard macro and move on "insubstantive"

Embrace the insubstantive! Otherwise - enjoy when you have a "problem" sitting down and having to abstract more and find the general and solve for "N" because the time investment was high and the tools did not allow for this sort of sketching, insubstantive, throwaway type thing.

teiferer•10h ago
I'm normally in the camp of "why flood HN with AI crap" and if you are not a musician then I can see why this seems unnecessary. But as a musician, this is a great learning tool. Every musician should be able to play by ear (and I had to ramp up the difficulty substantially to get a bit of a challenge). AI generated or not, this is useful.
SoleilAbsolu•9h ago
Yeah I've been playing 40 years and did a stint in music school. Other than fat-fingered note entry errors my ear nailed all the ones I did. IMO this seems to start from a pretty advanced level off the bat.
ianbutler•9h ago
There are plenty of musicians here saying this is useful for them or would be useful while learning.

As meta commentary, those not in a subgroup sometime fail to see utility of a thing built for that subgroup and it's easy to feel a sense of superiority "oh how dumb and trivial this thing is", but it may be better to first have curiosity and see how the intended audience responds. Often it's not dumb or trivial, you're missing context and experience to see the value.

dvt•9h ago
It’s the typical “engineer thinking they’re smarter than everyone else” trope. From my experience, engineers fall squarely in the middle of the bell curve. The AI hate is just used as justification, so I don’t even take it that seriously. And fwiw, as someone that played piano when I was younger, this is 100% a useful tool. In fact, during quarantine I was learning to play guitar and used tools like this to learn which string is which by ear.
Fraterkes•7h ago
I've played the piano for years. Your immediate conclusion that my dislike must stem from inexperience instead of a more nuanced place strikes me as the exact kind of thing you're lamenting in your comment.
minimaxir•7h ago
> a more nuanced place

Your original comment implies "it's GenAI so it must be bad."

ianbutler•7h ago
As the other poster said, your comment didn't really leave any room for nuance, it was "ai bad". And it's also clear you're too egoistic/defensive to reflect on it.

Other commentary is you're not owed courtesy you yourself didn't give.

recursive•9h ago
I've been playing piano for 40 years, tend to hate anything with AI-buzzwords anywhere adjacent to it. But I generally think this particularly one is a good thing.

Curious what you mean by no attempt to teach. We learn multiplication tables by rote. Are flash cards a genuine instrument of learning? The only way to learn intervals is to practice identifying them. This is how you do it. You can read about music theory (and should) but the only way to build your listening skills is to practice it starting with basic stuff.

cgriswald•9h ago
This teaches intervals like Duolingo teaches language rules. You sort of pick them up because you need them to figure out the small melody it plays. But you don't get the concept of a 'fourth' or a 'fifth' and there's never a moment where the actual rules are explained.

That said, I think it's very useful for what it is and highlights that whatever your view on AI, there is a niche here that AI can fill that people otherwise would just not build either because they don't think it is interesting, or because no one would pay enough for it.

shermantanktop•8h ago
It's ear training, not theory training, right?
cgriswald•8h ago
Yes, which is why it doesn’t teach intervals, but is still useful.
recursive•8h ago
I addressed that. You should read a book to learn the definition of intervals. But in addition, there's no substitute for ear training. Grinding on interval identification is just as valid as this. Once you get to a level where you can identify intervals on the keyboard, the skills are pretty transferable. But there's just no way to learn what a fifth sounds like by reading a book. You need something like this. There is probably room to add a mode that says "this is a fifth" after you identify a fifth. Or to choose a named interval or chord quality based on hearing it. But I don't think any of that diminishes the utility of what's here.

FWIW I think it's probably more useful to play what you hear than it is to be able to name it. Although they're both good.

cgriswald•8h ago
Right, and I addressed all that as well. I doubt we are in serious disagreement here and calls for me to “read a book” are frankly rude. I think you need to be more generous in the interpretation of others words because I actually disagree with the original poster for the most part, but you obviously have a different definition of “teach” than he. Flash cards don’t teach. They assist memorization or practice. Memorizing times tables doesn’t teach multiplication except trivially for the numbers you’ve memorized. It does assist in learning multiplication. Likewise this ear training can trivialize learning and identifying intervals later but is not itself “teaching intervals”.
recursive•7h ago
I'm not asking you to read a book. Sorry for being unclear. The reading a book stuff all started from this in my original comment:

> You can read about music theory (and should) but the only way to [...]

My point is just that "you" (an abstract you) can learn music abstractly and in practice. Some things require book reading. Some things require practice and listening. Nothing intended about the cgriswald "you".

I know how to do long-hand multiplication and have memorized the 12x12 multiplication table. I'm not sure which one is more valuable, but I think they complement each other.

I'm not sure if we actually disagree about anything, except maybe the relative value of knowing what an interval sounds like vs what it's called.

cgriswald•6h ago
Ah, apologies for my misunderstanding. Maybe I should be more generous in interpreting others words. I don’t think we disagree about that either. To me it isn’t about “What it’s called” but about the concept itself. Intervals are “hidden” in this ear training. You get them for free but you don’t necessarily learn that the pattern is there at all. I can agree that the doing ability is more important than the concept but it’s not just about the name. That’s just what we have to use to talk about it.
ImprobableTruth•7h ago
The key thing is that you teach multiplication tables in a structured, incremental manner. Yes, it's just rote memorization, but the structure makes it way easier. You don't just dump all tables on the student at once and start quizzing them until they get it.

Imo not being able to select a subset of intervals to train heavily limits how useful this is.

gowld•9h ago
Click the "?" on the game to see the AI slop popup dialogs blocking other popup dialogs.

The good news is that this means you can quickly make the same app yourself at home, and improve it to suit your needs.

vunderba•8h ago
[flagged]
dvt•8h ago
Hacker News has become weirdly anti-hacker in the last 5 or so years, so please keep building stuff and keep posting it. This is literally what HN is supposed to be. The "AI slop" tirade is just bottom of the barrel bandwaggoning for upvotes because it's popular to hate AI today
minimaxir•7h ago
One of the counterintuitive aspects of the LLM boom is that agentic coding allows for more weird/unique projects that spark joy with less risk due to the increased efficiency. Nowadays, anything that's weird is considered AI slop and that's not even limited to software development.

No, "LLMs can only output what's in their training data" hasn't been true for awhile.

vunderba•7h ago
Thanks for the support. Honestly, I probably shouldn’t get so defensive either, it’s a bad habit and a pretty poor "evolutionary holdover" in the internet age of anonymity and social media.

I thought one way to help mitigate my emotional responses was to desensitize myself, but who really wants to expose themselves to the requisite sufficient threshold of personal attacks? That’s not exactly a fun callus to develop.

Fraterkes•7h ago
Pay me no heed, I'm sure you'd find many of the things I've made insubstantive.
snackdex•7h ago
> With all due respect, I'll stack up anything I've ever created against anything of yours at any time.

I love this response. for what its worth there is some thought here on this app.

dang•7h ago
> With all due respect, I'll stack up anything I've ever created against anything of yours at any time

I realize the GP comment was a provocation, but please don't respond to a bad comment by breaking the site guidelines yourself. That only makes things worse.

https://news.ycombinator.com/newsguidelines.html

viccis•8h ago
I think this is much better as a relative pitch training tool for people with a very basic background in piano and music in general. I would have loved something like this back in high school to use for practicing over and over.

I think "teach" is a high bar, but I do think it's a good practice tool.

My one and only complaint is that sometimes the melodies it generates are tough to play back because they don't really sound like a real melody and I have to fight my brain telling me to play back the one that would actually sound good. Sort of like having to memorize a random string of words vs memorizing a normal sentence.

fxwin•7h ago
This doesn't really seem 'generic' at all to me?
dang•7h ago
Please don't cross into personal attack on HN generally, and especially please not in Show HN threads. It's not what this site is for, and destroys what it is for.

https://news.ycombinator.com/newsguidelines.html

https://news.ycombinator.com/showhn.html

sbondaryev•10h ago
Nice project! I'm not very strong at note recognition, so I see the “Wrong note” message quite often (which is totally fine), but the frequent blinking feels a bit distracting. You might consider making the feedback a little less visually intense.
vunderba•8h ago
Thanks! I see what you're saying - the "Blurred overlay" which says "Sorry Wrote Note!". I could see how that'd be physically jarring after a while.

So you're saying I should add a klaxon? :)

Seriously though - I'll look into a redesign!

detectivestory•10h ago
I really like this idea. Simple interface, a single goal, it and it doesn't claim to be a full piano course. However, the user experience is incredibly frustrating for amateur players like myself. For some reason i have to hold down each previous note or else it fails? And often when I do play the right note I get no feedack to say so. Another thing is the annoying wait between listening to the piece and playing every time. It would be nice if user input immediately cut out the example piece
vunderba•8h ago
Wait, you have to hold down each previous note? So at the end of a four-note sequence you are physically depressing four keys? Hmmm... that sounds like a bug to me.

I'll look into it!

jbl0ndie•10h ago
I'd like more tries to pick out the notes when pecking at the on-screen keyboard. I don't need to hear the pattern again, I need to learn where the note pitches are on the keyboard.
user574275•10h ago
Is that teaching a bad habit though? Is it one of those things where's importantly to be confidently wrong or right?
aspaviento•9h ago
One of the important keys in learning is engagement. If you frustrate the student preventing them from progressing at their own rhythm they will disengage, losing interest in what you are teaching.
user574275•9h ago
Both things can be true though, right?

Maybe it just needs to reset faster or maybe start more gradually so you can build up muscle memory of intervals.

vunderba•8h ago
Thanks for the feedback! I'll have to give this some thought. You mean something like a, "X Tries To Get the Next Note?". I could add it as an option.
lucb1e•7h ago
I think this suggestion you took in an earlier subthread solves GP's problem as well: https://news.ycombinator.com/item?id=46558500
souenzzo•10h ago
Make it repeat the same exercise when I fail.
vunderba•8h ago
Hey souenzzo - it should repeat the same exercise when you fail in Practice Model. If you want it to mimic Simon, just set "Show Last Note" in the Settings.
kayo_20211030•10h ago
My problem isn't memory. It's my ear. It's tin.
recursive•9h ago
Luckily that's a trainable skill. If you care to.
1qaboutecs•10h ago
Bug? It shows me the note and I just have to mash it and then it shows me the next note.
GistNoesis•10h ago
I like the game up until 7 or 8 notes, but it keeps adding note.

I couldn't find a setting to freeze the difficulty where it's comfortable and where the melody can still be construed to make sense.

When adding more notes, it breaks the flow and turn a training for pitch practicing into a memory game for rain man, even more so when we make a mistake and must redo the melody partially.

vunderba•8h ago
Hmm - I was hoping that the Practice Mode would cover this, but I think there's probably some room to add an option where you can freeze the difficulty level - I'll see if I can add this later in the evening.

The "construed melody" is a harder problem. I've been playing around with the idea of using a markov model or even borrowing what CPU Bach did to try to create more coherent melodies over time.

Thanks for the feedback!

viraptor•4h ago
Transformers are nice. You can train a very minimal network that can output reasonable sequences very easily. They won't be high quality, or too pretty, but they will "make sense" way more than randomness and (usually) change keys in a coherent way.
vunderba•1h ago
Hey viraptor! I haven't even thought about using transformers but that sounds like a great idea. The current generator is just a standard random walk across the major/minor intervals and could definitely use some TLC!
RyanOD•10h ago
I took several years of Suzuki piano method when I was a kid. Suzuki focuses initially on developing the ear.

During lessons, we did this kind of stuff all the time. I would close my eyes and my instructor would play a series of notes and I would need to play them back by ear.

I would also listen to whatever song I was learning before I went to be bed and again when I woke up in the morning, visualizing every note.

Give me a guitar today and I can work out pretty much any song I hear on the radio in under a minute just by listening.

EDIT: To be clear, I also played a LOT of guitar and piano. Ear training was in addition to the hard work of becoming a player.

allenu•9h ago
It's really a great way to train your ear, and fun, too. I can play ukulele, but mostly just to strum and play songs to, but a few years ago I just started picking notes to try to recreate melodies of songs I knew or heard recently. At first it was slow-going with lots of searching on the fret for the right note, but over time I worked up the skill to mostly get the melody on the first few tries. It was the most amazing feeling to realize I could listen to a song and then reproduce it by ear.

I found that it's also an excellent way to "feel" the structure of a melody as well since you're essentially building it up again. Of course you could read music to see the actual melody, but working it out this way feels a bit more intimate.

WesleyJohnson•9h ago
My disconnect is I can't read sheet music. So I can hear it, then memorize where it is on the piano/keyboard... but that just teaches you play piano by ear. It doesn't teach you how to play music in the traditional sense.

I guess this showing you the sheet music as you find the notes can help with that, but as others noted - I'd like a "mess around" mode, before a "test" mode.

RyanOD•9h ago
I think it depends on your end goal.

I have a great ear and am terrible at reading sheet music. Fine if you aspire to be a rock guitarist. Not so fine if you aspire to be a classical pianist.

Funny, but I'm final tired of my poor sight reading and have set a goal for 2025 to average one hour of piano playing from sheet music per day.

And I agree...a "mess around" mode on the app would be great. Feels almost punitive when I make a mistake.

vunderba•8h ago
Hey RyanOD,

If you're looking to improve your sight-reading and don’t mind playing church music, I highly recommend picking up a second-hand copy of an old Episcopal Church hymnal (I like the 1940 edition). All the pieces are four-voice and the rhythms are relatively simple, so you can concentrate on sight reading. Good luck!

https://hymnary.org/hymnal/HPEC1940

RyanOD•7h ago
Sounds like a good idea. Right now, I'm splitting my time between drill based content (Bartok, Gurlitt, Kunz, etc), beginner classical pieces, and the occasional blues.

Funny, but in church, I spend more time than maybe I should sight reading hymns during the sermon. :)

n-gauge•9h ago
This is great - bookmarked! I've connected my casio midi keyboard to it, hope it will help me with getting the right key of a song (I can work out a tune already, but sometimes in the wrong key)
vunderba•8h ago
Glad you liked it! Good luck with your practice!
recursive•9h ago
There's a question mark button right on top of the high C key. Otherwise, love it.
vunderba•8h ago
Derp - that's what I get for testing mostly with my midi controller and not the on-screen piano. I'll update to fix this!
enderdragon•9h ago
Great work!
evanmoran•9h ago
This is great! Please consider even easier settings for kids. Maybe 2 notes (not 4) as the min starting point and slower ramp up as you succeed.

Also, I think the missed the first note UI could feel a little nicer. Something about the popup/hiding the music takes you out of the flow. Possibly just a subtitle would be enough with an encouraging message. There is a big difference between failing to do the whole pattern and failing the first note so definitely worth refining the feedback here.

marcusverus•9h ago
As a non-musical person, I went looking for how to set it to 1 note!
vunderba•8h ago
This is good feedback - I'll add it in the next version! I actually wrote this for my younger sister but she already has some musical training so it isn't as geared towards beginners.
allenu•9h ago
It's a very cool little game! One suggestion: could you make it so you can noodle around on the keyboard without submitting the answer and then once you've worked it out, have a submission mode? Right now, it's frustrating that if you enter a wrong note, it shows a message, so you can't experiment on the keyboard to try to work it out.
mattydoincode•9h ago
came here to write this comment, +1!
bombledmonk•9h ago
another +1
vunderba•8h ago
That's a good idea - I'll try to get that implemented this evening.
karmakaze•8h ago
Having both modes could be good. Default allows pre-noodling and enabled gives satisfaction of being correct one-shot (or falls back to retry with noodle).
malkosta•7h ago
You read my mind sir! Also, great work by OP, I really needed this since a long time!
vunderba•1h ago
Thanks everyone for the feedback! I've added a bunch of new updates, just thought I would consolidate to this message since its pinned near the top.

*Changes*

- Ableton keyboard layout for ladidahh also thanks for a user name that I had to type about four times because of my phone's autocorrect! :)

- Tempo sliders for practice and Simon modes

- Lock icon which lets you freeze the difficulty at a certain number of notes in Practice mode instead of constantly increasing

- Floating display window in settings which displays stave and note that you are currently playing on a midi keyboard.

*Future Updates*

- Noodle time (let you play around to experiment before going O'Reilly Live)

- Markov or Transformer (thanks viraptor) approach to generate more sonically pleasing melodies

- Pianistic echoes (caetris24) - an optional visualization for the onscreen keyboard almost like a heat map pattern

- Fix the weird iPhone audio issue (EdNutting had some good advice on this)

- still looking at adding the Tracker 4-layout as proposed by moosedev

*Helpful fixes*

- Some midi controllers don't send a corresponding NOTE_OFF, instead they send a NOTE_ON with velocity of 0 (Thanks ta2112 for this helpful info)

w-m•9h ago
Great technical demo, but the usability feels unpolished. So here's a little bit of feedback of trying this out on a piano: Just because my piano has 88 keys doesn't mean they are all useful for ear training. The very low and very high notes shouldn't be used, at least not by default. Also they don't even show up properly in the sheet.

As the melodies get longer and longer with each win, this devolves quickly into a memory game. I'd like to keep playing ear training, but I struggle with remembering what sequence of notes came at steps 8+.

This is somewhat aggravated by completely resetting the current level and replaying the whole melody after a single mistake. If I keep making a mistake in note 10, I get all the notes over and over again, which is a bit maddening.

vunderba•8h ago
Good point - it's a bit of a hack and I didn't point it out but technically you could play the lowest/highest notes when you configure your midi device that you would like to practice with.

I'll need to put in some proper limitations or possibly add 8va type symbols to more properly limit to a grand staff.

polarbearballs•9h ago
As someone who practices music 2 to 3 hours a day. I love this. I think people are coming at it as if it were a video game or designed to be a "portfolio project" but as a musician, I think you really created something awesome and lets me practice on what I'm most insecure about....my ear.
vunderba•8h ago
Hey polarbearballs (I feel a bit funny writing this name),

Thanks for the feedback - I'm glad you found it useful! I literally made it because I was thinking about the old Simon toy which plays a set of consonant notes (G, C, E, G) and thought it would be a fun way to practice playing by ear!

https://en.wikipedia.org/wiki/Simon_(game)

anishgupta•9h ago
Fun app! One of the things I wish it had if it can record the ambient notes and match it (like one of those guitar tuner apps). Playing by ear is something I've done all my life and any user can have any instrument matching the notes
vunderba•8h ago
Thanks! Honestly I'd love to implement a proper pitch detection so you could play the game with an acoustic guitar.
anishgupta•2h ago
For sure! keep up the good work
KolmogorovComp•9h ago
On iPhone, no sound.
vunderba•8h ago
I'll look into this, is it possible that you have Silent Mode enabled? I tested the app on an old iPad and it worked okay but unfortunately I don't have any other iOS devices.
EdNutting•3h ago
iPhone 14 in Firefox (still Safari under the hood of course) - no silent mode, no sleep/DND/etc., volume turned up (confirmed via other browser tab playing YT) - and still no sound from the app.

I’m guessing you may be using a JavaScript API which possibly doesn’t exist in whatever version of Safari (fuck Safari…fuck Apple’s control of browsers…etc).

My advice: Use the free tier of BrowserStack to test basic functionality on a wide range of devices (assuming they still have a free offering…). Also check “caniuse” to see if all the JS APIs you’re using are available on a wide range of devices.

vunderba•1h ago
Hey EdNutting - that's a good idea about Browserstack! Yeah my circle of friends only have android phones and/or iPads and we haven't encountered this issue yet.

If you get a chance, could you see if the Metronome works? It'll only play if you're in the middle of a game but it doesn't use the old soundfont-player, just direct web audio.

sfblah•8h ago
The help question mark over part of the keyboard isn't great.
seidleroni•8h ago
This is really cool! As someone who has basically no piano training, this is fun! Perhaps there could be some super-easy mode where you actually highlight the keys while you're playing the sounds (in simon mode) to help the super noobs train their ears.
vunderba•8h ago
Thanks! That's not a bad idea. So in Simon Mode, as you depress a key we let you see what note you pressed (A3, C4, etc)?

Thanks for the feedback - that should be pretty easy to add as an option in the Settings. I'll see about getting it added this evening!

Bewelge•8h ago
Very cool! Love the simplicity of this. Built a similar mode in Midiano (also a midi webapp, but focused on playing MIDI files). But this is much cleaner for a quick exercise. Mine never really got past the prototype stage though. Safe to say, I'll be coming back to this thread for ideas when I do get around working on it again :)
vunderba•8h ago
Thanks Bewelge! I took a look at Midiano - it's very polished! Were you inspired by Synthesia? I know it has a combination of falling note + sheet notation as well~

https://synthesiagame.com

Bewelge•6h ago
Definitely inspired by it - I had been using Synthesia myself to play piano. But it started more as a "Oh you can use MIDI on the web?"-realisation and grew from there
ElijahLynn•8h ago
Love this!!

One improvement that would help me a lot is to control the playback speed. My brain needs to start a bit slower as some of the sequences are fairly fast for my brain right now.

Thank you

vunderba•8h ago
Derp - I didn't even think about adding a control for min/max tempo ranges.

The defaults are currently

- Simon is set to 100-120 BPM

- Practice mode is set to 90-160 BPM

I'll add it to the Settings later this evening. Thanks for the feedback!

ElijahLynn•7h ago
Great, thank you!
ElijahLynn•8h ago
For those starting out, I recommend going into settings and only choosing the key of C major, which is all the white keys. Then advance onto more keys after that.
samweb3•8h ago
This is absolutely amazing! What a fantastic way to engage kids in particular. Big fan and will be telling anyone I can about it.
reassess_blind•8h ago
Funny, I posted my (less cool) version of this exact idea last week: https://keybykey.app
vunderba•8h ago
Hey I like yours as well! They're both different though. Your app is more focused on the ability to reproduce specific pieces.

Mine's based on the old electronic toy Simon - infinite and progressively more difficult.

https://en.wikipedia.org/wiki/Simon_(game)

You should definitely add midi controller support though - WebMidiJS makes it pretty simple.

https://webmidijs.org

lucb1e•7h ago
> come back tomorrow!

I hate that I can't do a second one after finishing the first task... I know this is supposed to be this magic user engagement trick where people come back day after day because there's no other way to use it, but it's not for me if I can't choose when to play a game or practice a skill

reassess_blind•2h ago
Yeah fair enough, it does have a practice mode after you complete the daily challenge so you can keep playing around with it. There aren’t many tunes added at the moment though.
Obertr•8h ago
I love it. Just bought piano to my apartment in SF and always wished simple tool like this existed. thank you!
ksherlock•8h ago
I keep hitting the start button -- which switches to a different melody -- when I want to hit the listen button -- which re-plays the current melody.

I feel like "listen" should be the first, more prominent button and "start" should be moved to the end and renamed to something more meaningful like "ahh shit, give me a different one"

other than that, cool.

caetris24•7h ago
Absolutely awesome. Move the help button off the keyboard. Let the user select whether or not the replay should always play after a mistake. Many issues with learning the longer sequences in practice mode can be difficult if the replay freezes the keyboard every time you hit a wrong key.
caetris24•7h ago
I actually spent an hour with it without pause, so in terms of comparing this to highly successful cutting edge AI announcements with playgrounds, I'm digging THIS a lot more today.

Also the sound is very high quality. Having built various A440 piano synths from scratch, the fidelity of the sound is superb. One thing I noticed was that the sound buffer has a memory issue at some point (after about 40 minutes of continuous practice) that causes the sound to start crackling. Maybe something to do with memory storage or something isn't getting flushed when the channel goes idle (no sound playing). Will fiddle. Nice work!

vunderba•5h ago
Oh bizarre - thanks for letting me know about this! I'm using a pretty old soundfont player that is sadly no longer maintained so I wonder if that's causing issues.
caetris24•7h ago
A cool feature would be a piano key color fading transition when you hit the key, which will adapt someone's memory more quickly to being able to complete the sequence with multiple retries.

Should be as simple as adjusting the color interpolation in an animation on a piano key to its gain (not sure how low the sound API is for this, but you should be able to track the key's moving average on amplitude over 10 frames and bound it to get a fade effect that takes the key press strength into consideration).

Perhaps you can even use a Simon Says color theme suited to the app's theme to work in a nice easter egg. Lots of cool things with this!

vunderba•5h ago
Okay, I kinda really dig this idea - "pianistic echoes" like ripples in a pond.
vunderba•5h ago
Will do! With regard to the icon, it's my fault for doing most of my play testing with an actual midi keyboard.
akhil08agrawal•7h ago
This looks great. Just started learning piano and ear training has been on my list and this Simon-style approach seems way more engaging than traditional exercises.

The MIDI support is a nice touch. Haven't connected my keyboard yet though. Gonna try this out.

lawls•7h ago
I read that line by Mark Antony from Julia Caesar to my 3yo yesterday morning. He usually shushes me by putting his hand over my mouth while I am speaking, but this time he did not. It felt good.
mjg2•7h ago
Clean project, well done.

As a classically trained pianist, I'll say the following commentary regarding this thread: there are many ways to learn to "play the piano" and no one is going to agree on "the right way" because there's no true way.

This project is a good way to practice basic sheet music reading as well as to aurally recognize notes and phrases; teaching would require some cultivation of understanding the context and nomenclature. Thanks for sharing!

vunderba•5h ago
Thanks! I definitely agree. Additionally, I always recommend (depending on location, cost, etc) that it’s worth hiring a proper piano teacher, especially at the beginning.

There’s just no substitute for having someone there in person watching your hands, correcting small ergonomic issues, fingering, and so on. Build those fundamentals now so you don’t have to unlearn bad habits later!

nopurpose•7h ago
Just bought a digital piano as New Year present to myself. So far I am doing single-note-a-time melodies from my child's practice book and so far enjoying my slow progress, but I am really struggling. Spent 3 evenings on a single simplest song and still can't play it end to end reliably.

I have to sign every note with a letter in a music book because only other way to "read" music sheet for me is count lines for each note, which is unbearably slow.

I wonder if there is any modern (AI, bluetooth midi app, etc) way to get over initial hurdles easier?

nilamo•6h ago
I've found that a colorful note guide (such as: https://www.amazon.com/dp/B0BC8NVW4Q) to be very helpful. Without it, I felt completely lost when looking at sheet music.
vunderba•6h ago
That's good question. While I think my app might help with your ability to pick out notes - it's not going to assist with stuff like proper pianistic ergonomics, fingering, etc.

I’ve heard some people say that the Piano Adventures Player app is a nice little tool because it serves as a supplement to the books themselves.

https://pianoadventures.com/resources/piano-adventures-playe...

Good luck on your journey!

embeng4096•6h ago
Former band kid who also just got a digital keyboard. Ime learning to read the staff just came from putting in the time on the instrument, but I’m also looking for ways to speed that up. I had the idea of making flashcards and even putting it into an SRS like Anki to see if I can make the process of (re-)learning the staff faster and make it stick. If you come across anything that would help I’m interested too!
WickyNilliams•5h ago
Funnily, I felt the opposite when I learnt to read music a few years back - that even though I was extremely slow, I could now (theoretically) read and learn to play any music, just slowly! You'll get faster and better with practice, as with everything. I'm still slow. Just not as slow. But crucially I'm fast enough that it's not the bottleneck anymore, getting the notes under my fingers is.

Keep at it!

ludston•3h ago
Keep at it! It takes a few years, but so long as you practice new things consistently and every day you'll keep getting better and better.
jacquesm•7h ago
Hah, very cool! I have a variation on that in an experimental version of some software I wrote and found it to be really interesting to compare experienced pianists' performance on it versus newbies. And that is the main reason why it is still unreleased, it is very hard to design a good educational tool so kudos on shipping!
vunderba•6h ago
Thanks jacquesm! I’ve met such a wide variety of pianists (jazz, pure extemporaneous players, hobbyists, strict Suzuki, etc.) that it would be very cool to see that kind of breakdown.
jacquesm•6h ago
It is a fascinating domain, if I can give you any tips it would be to research early language acquisition, there is a lot of gold in those studies that I think will transfer fairly well to music learning.
gardenhedge•6h ago
If you could see analytics you would see I am the worst player at this game. But it is cool - can you actually plug in a keyboard to your laptop and use it? If so, what would HN recommend I get? As mentioned I suck at musical instruments but it could be a cool hobby to see if I can learn anything.
vunderba•6h ago
Hey gardenhedge,

Haha - I don't collect any telemetry so your secret is safe. Yeah - if you've got a USB midi keyboard plugged in - the game should autodetect it and just work.

If you're looking for something portable that just works (and don't need a weighted action) - IK Multimedia makes a 37-key controller that is cheap and decent. It's frequently on sale for about $80-120 and probably could be had for cheaper secondhand.

https://www.ikmultimedia.com/products/irigkeys2

whartung•6h ago
I feel like Bugs Bunny trying to play "Those Endearing Charms". (Mind I can't play, well, anything. I play the radio off key.)

Just waiting for Yosemite Sam to run in and blow himself up.

bossyTeacher•4h ago
The starting difficulty is too high for your average beginner. Start with just one interval, then increase. Also, you should let people try a few times rather than just allowing one attempt.
vunderba•1h ago
Thanks for the feedback. I've adjusted the Practice Mode so you can turn the starting sequence down to a single note. The "grace note" allowance (see what I did there) for allowing a player to sort of find the right note has been asked for a few times - I'll try to get that implemented later this weekend!
c7b•3h ago
Great idea! Small nitpick, on my phone the last played key remains highlighted after the "Wrong" message. That got me quite confused in the beginning.
vunderba•1h ago
Hey c7b - thanks for the feedback I'll address that. I'm glad the audio is at least working on your phone though~
grugagag•3h ago
This is excellent training mode! Thanks for sharing
niyazpk•2h ago
Nice! Would love to use it.

I don't have a midi piano. Wondering if it is easy for you to support my inputs using microphone. I think there will be several noobs like me with the same problem.

failrate•2h ago
https://imitone.com/ is what I use.
vunderba•2h ago
Thanks! It's definitely on my TODO list. Ideally I'd like to add support for pitch recognition for acoustic pianos and guitars.
griffinlam•1h ago
This game is amazing