Hacker News new | comments | show | ask | jobs | submit login
Show HN: Tones.fm – Make synth music (tones.fm)
308 points by tonesfm 9 days ago | hide | past | web | favorite | 48 comments

I'd love to hear more about what technology was used to make this. I actually have a web port of my DX7 emulator, but I don't promote it much. I've also been experimenting more recently with a Rust code base for synthesis and am considering picking that up again.

It looks like handwritten jquery. I beautified the javascript:


This is pretty neat! Fatigued after so many "this vs that" framework talk nowadays, very refreshing to see someone just using what they feel comfortable with and building an all around awesome project.

Just honest high-quality craftmanship and lots of fun :) Props to the creator.

Mind sharing your dx7 port? I'd love to check it out!

Sure, it's https://github.com/google/music-synthesizer-for-android . You probably want the "webaudio" branch.

Would it be difficult to make a javascript module out of this and expose noteOn and noteOff so it can be used in web midi application?

Not sure exactly what you're asking, that sounds pretty much like what that is. See in particular https://github.com/google/music-synthesizer-for-android/blob...

Thanks! I couldn't figure out that I need to look into jni. Not familiar with Android infrastructure, my bad.

The JS source is pretty readable; looks hand-coded and lightly minified rather than targeted by some other language, a little help from jQuery and jQuery UI.

I love these kinds of grid step sequencers and have had an obsession with them since I saw a Monome as a teenager. I tried to make my own capacitive touch hardware once that could work as one. Eventually I just settled on writing a MIDI Node.js one which works with a Novation Launchpad [1].

This one is really well done and gives me some ideas. Would be cool if it took advantage of bigger screens.

[1]: https://github.com/kasbah/launch-step

I don't know the first thing about music, but this was still fun to play around with. The front end is a work of art. Looks solid and robust.

I tried it on my iPhone (in Safari) it made a sort of clicking sound with every "beat" or whatever it's called when the line passes over the circles. Other than that, looks great even on iPhone.

I found this incredibly soothing, maybe even therapeutic.

Bravo. Wonderful execution by the creator.

Getting an "The AudioContext was not allowed to start. It must be resume (or created) after a user gesture on the page." error on Chrome 67.0.3368.1 and no sound is heard. Works great on Firefox - great job.

Cool! I made https://www.tones.fm/stfwn/5-min in 5 min! I really like the simplicity. I subscribed and I'm curious to see how you will add more features while sticking with the look and feel that makes this original and nice.

Very nice. It'd be cool to add other scales beyond pentatonic, to.

This is pretty incredible, i love playing with single tone things like this and this is a particularly nice one. It's also fascinating to see how the magic almost completely goes away when i switch to a major key

nice ageisopolis track in there too

Slight nitpick, the sound clips if there's too much going on at once.

having done some stuff with webaudio api I doubt there's much can be done about this right now.

Couldn't reducing the gain fix that?

Maybe I'm blind, but is there a way to create an original composition? I tried clicking "Create" but it doesn't seem to do anything. Is it also possible to save the music we create?

Edit > Clear

Yes, I noticed that, but then the music I create is still classified as a remix of the original track that I cleared.

when you go to save, you can change the name. This is sufficient, I believe.

Nice idea to provide only notes from a chord! It's really motivating if you never made music before. ("Wow I can do this!")

Would you mind explaining the mechanics of this in more detail? I too was wondering why whatever I did seemed to sound good.

All the notes are from a single scale. You pick one of two available scales, the "major" and "minor", which in this case are the Pentatonic major and minor scales respectively. That it has 5 tones is obvious since you might notice that each tone is repeated 5 steps above, in the next octave up.


The reason this scale is so popular for this type of music device - "penatatonic sequencers" - is because it's almost impossible to screw up. So you could describe using the pentatonic scale as removing some of the opportunity for making the music more interesting, but in return you almost completely eliminate any opportunity to make it "sound bad". Any note can follow any note in the pentatonic scale, which is why "randomize" or handing it to a child (which is the same thing) works as a creation method.

aaahhh that's why it sounded right. I'm disappointed :-)

Really nice, and works excellent on mobile. One minor grudge: the notes seem to be just a tad small for touch on mobile.

FYI: There's a bug in the reverb processing; if you listen to the "Ambient" preset for long enough the sound will start clipping in and out and eventually disappear altogether. As soon as I bring Reverb->Amount above zero, I get some nasty quantization noise (mostly in the right signal) and left signal pops in and out with some nasty noise around it.

Nice! The minimalistic UI just encourages you to experiment and just click things around.

This is fun, but (at least for me) there's awful scratch noise when each note's sound starts playing, which unfortunately doesn't make it enjoyable at all.

if this can help: for me, this happens when i turn the buffer on my sound card down (to avoid playback delay when using a midi keyboard)

Thanks for the comments everyone :)


The only major issue is that some UI breaks as soon as a new measure begins.

It would also be really neat to use scales other than pentatonic.

This is simply great! I love how I can simply input some "notes" and make something decent. Much easier than learning piano!

Added this as a home screen icon on my iPhone... Barely indistinguishable from a native app downloaded from the App Store. Excellent!

Beautiful design! Having trouble with the sound working on Android in Chrome. Looks like site might be getting hugged to death, too.

It was very fun to play with. Is it gonna be available as an app too?

Very much like a Yamaha Tenori-On. Nice work.

The Tenori-On iOS app saved my wallet and probably one of the most used apps on my device (other than "Dungeon Raid", a match-three game with RPG elements). $20 dollars for a software version of a $1,000 instrument? YES PLEASE

A lot of fun. I would add an editing mode where you can switch between patterns without playing them.

Looks like it would be cool, but consistently crashes the tab for me in Firefox on Windows 10.

There needs to be a compiled version of these songs, I think.

Bravo! Thank you for making this, and for sharing it. So cool.

That was enjoyable.

Such a soothing experience!

Wonderful. Very cool.

Really awesome!


Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact