Hacker News new | ask | show | jobs
by creullin 3724 days ago
Haha. This is awesome. I wonder what the final output would be. A full song?
2 comments

Think of it more as emulating a recording studio (instruments, amps, effects the whole thing) modeled as code.

This works beautifully in the composition first paradigm of lisps/clojure. The APIs are a bit hard to wrap your head around if you intend to use Overtone for the entire production process but I've had lots of fun with using it as the mother of all synthesis engine

I was a bit disappointed by the output. Is this the quality of music that is produced regularly by this software? The only thing that sounded good to my ears was the baseline piece, by itself. It sounded true to the original. The rest sounded like a Casio keyboard from the 80s. Not flattering to the depth of Da Funk. I was expecting something closer to the original, not something with the same tones measures and BPM but sounding totally flat overall. Granted, this is my only exposure to music produced by this software. I wonder if there are other examples, that don't sound like a computer making music? Fruity Loops makes better music than this.
It's incredibly hard to make music with commercial production values with nothing but code.

Commercial studios have racks full of boxes that start from $2000 each that fatten up and sweeten the sound, and a commercial track will patch every element through multiple boxes during mixing. The mixing desk itself will add its own sound.

Most of the boxes have analog circuitry inside them. Modelling it is not easy, and good models can use so many cycles it's no longer possible to listen to their output in real time (at least, not without using external hardware acceleration).

None of the mainstream music code environments - Overtone, SuperCollider, Csound, Max/MSP and so on - pay much attention to this. They mostly come with trivially simple DSP models which don't sound all that great.

Surprisingly, they also make it hard to use more complicated models even if you know what you're doing. Mostly you can't just add the model in user land - you have to add it as an external, and rebuild.

Commercial software from Korg, Yamaha, NI, UA, Access, and most pro and semi-pro VST makers puts more effort into sounding good, but the high quality models are somewhat proprietary and the code isn't often open sourced - although sometimes the models appear in papers from (e.g.) the ICMC.

Significantly better sounding synth sound is nowhere near that far out of reach. The sound he's trying to recreate is not something that comes out of a commercial stack of "$2000 boxes".

Da Funk's lead can be reasonably approximated with cheaply available modeling software, or moderately priced analog synths. Here's someone getting decently close with Massive, which is around 200 dollars.

https://www.youtube.com/watch?v=AB1_JxbT_1s

The article's sound is just still too simple. I've not used Octave, but I'm sure that with some work, it could achieve quite a bit more.

Synthesisers are really complicated. This example takes about 4 steps from a pure saw wave, it's a demonstration of principles.

This is the exact same sort of sound you'd get if you picked up any DAW or hardware studio and tried to recreate the song in a few moments.

It's almost certainly possible to create something true to the original, but there's no way it would be suitable for a "recipe" for showing people how Overtone/SuperCollider works.

I just looked at the original and the copy through my laptop's shitty default equalizer. The copy has unnecessary bass. Around the 1k hz range. This is probably the largest contributor to what makes it sound hollow.

Also, just comparing them by ear. Over each note, the copy builds up and then builds down in volume in a <> shape. The original has a sharper attack and then fades gradually, which looks more like a > shape.

I think the copy also has an unnecessary reverb effect, but I'm not sure.

This is all malleable of course. None of this is the fault of the software. It's just a difficulty inherent to reverse engineering.