Hacker News new | ask | show | jobs
by 2c2c2c 487 days ago
i made https://perfectpitch.study a week or so ago. i am old and musically untrained and wanted to see if rote practice makes a difference (it clearly does).

most of the sites of this type i found annoying as you can't just use a midi keyboard, so you just get RSI clicking around for 10 minutes.

I tried getting adsense on it, but they seem to have vague content requirements. Apparently tools don't count as real websites :-(. I couldn't even fool it with fake content. what's the best banner ad company to use in this situation?

4 comments

Nice! The keyboard could be larger on mobile in portrait and landscape

Ctrl-Shift-M https://devtoolstips.org/tips/en/simulate-devices/ ; how to simulate a mobile viewport: https://developer.chrome.com/docs/devtools/device-mode#devic...

/? google lighthouse mobile accessibility test: https://www.google.com/search?q=google+lighthouse+mobile+acc...

Lighthouse: https://developer.chrome.com/docs/lighthouse/overview

i had media queries set up and they seemed to show up as working in devtools simulator. but trying on my actual iphone14 pro max doesnt seem to work. devtools seems to imply that an iphones resolution is much lower than the actual resolution

the layout is also tough to reconcile on phone. if you enable a large note range and keep a true piano layout it will not fit on phone. my plan was to break each octave into a row. not very satisfying visually

Another metric for changing performance: notes tested before finding the correct note
Gave it a try. After a few minutes I felt more like I was recognising the samples than I was recognising the notes. Not sure what you can do about that short of physically modeling an instrument.
Latest browser APIs expose everything you need to build a synth. See: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_A...

There are some libraries that make it easy to simulate instruments. E.g. tone.js https://tonejs.github.io/

It should be possible to generate unique-ish variants at runtime.

OpenEar is built on tone.js: https://github.com/ShacharHarshuv/open-ear

limut implements WebAudio and WebGL, and FoxDot-like patterns and samples: https://github.com/sdclibbery/limut

https://glicol.org/ runs in a browser and as a VST plugin

https://draw.audio/

"Using the Web Audio API to Make a Modem" (2017) https://news.ycombinator.com/item?id=15471723

gh topics/webaudio: https://github.com/topics/webaudio

awesome-webaudio: https://github.com/notthetup/awesome-webaudio

From the OpenEar readme re perfect pitch training; https://github.com/ShacharHarshuv/open-ear :

> Currently includes the following built in exercises:

> [...]

> 7. Interval recognition - the very popular exercise almost all app has. Although I do not recommend using it as I find it inaffective in confusing, since the intervals are out-of-context.

Interval training is different than absolute pitch training. OpenEar seems to have no absolute pitch training.
I am using midi and open source instrument packages, so this is all handleable. There's a few instrument options to choose from in the top right settings.

Will probably add a "randomize instrument used per round" setting or something to really dial it in. I added a randomize velocity option but didn't test it much

Starting from the second note the brain switches to reative mode (at least a brain that got some relative recognition trained before) and no AP pitch will be memorized.
Agree. And for relative pitch training, I love this tool! The creator should read the paper to get ideas on how to turn it into an actual training tool for absolute pitch.
Get sponsored by some kind of music related site? Maybe a music course?