
Recreating Daft Punk's Da Funk with Overtone and Leipzig - greenonion
http://overtone-recipes.github.io/remake/2016/04/03/recreating-da-funk.html
======
dep_b
The original seems to have been made by creating a feedback loop between one
of the outputs and the filter input of an analog synthesizer. The examples
I've seen were done on a Yamaha CS-15 but a lot of monophonic old analogs
allow you to do that, like a MiniMoog. However the filters on a CS-15 are
quite unique, don't think you can even do this exact patch on an MS-20.

[https://youtu.be/W4PEAKNtbVw?t=184](https://youtu.be/W4PEAKNtbVw?t=184)

A good explanation how it works

[https://www.youtube.com/watch?v=kdN43xfwV2U](https://www.youtube.com/watch?v=kdN43xfwV2U)

Slightly better played

~~~
whatok
Feedback loop normally called overdrive. Broke my Voyager improperly using the
headphone output for that, haha. I've only ever heard of the MS20 being the
source for the lead in the track though. Random Youtube demos seem to get it
close enough.

~~~
dep_b
Wow, really? That shouldn't happen, lots of people do that! I do it with every
synth that allows me to loop back into the filter.

I don't think it's the MS-20 as it does come close but the MS-20 is slightly
more nasal. Lots of moments I play with it and I think "this sounds ALMOST
like The Funk" because with a big resonance on two filters it distorts pretty
bad/good :). But perhaps if I try it with the same feedback technique it might
get fuller.

------
hanoz
Well that's opened up a fascinating new world to me. Is there a name for that
regular logarithmic by linear music notation in the first image? I suddenly
feel like a whole lifetime of musical enjoyment has been denied to me by the
utterly utterly ridiculous staff notation system.

~~~
rorykoehler
It's a representation of a midi step sequencer. It's pretty standard in all
DAW (Digital Audio Workstation) software. Staff notation is way more nuanced
than this. In order to represent all the details on the midi ui it requires
layers (like photoshop) for all the different parameters. On staff notation
it's all there on one page. Staff notation might be a bigger learning curve
but it's also a far superior way of communicating musical pieces on paper.

~~~
phonyphonecall
I recall some composers notes such as 'with great vigor' or 'like raindrops'
on sheet music. Midi step sequences would have a hard time representing the
"emotion" some composers are looking for.

~~~
dave2000
Satie had some good instructions:

"In the morning on an empty stomach"

"Hypocritically"

"With a lot of difficulty"

“With conviction and a rigorous sadness”

“With a healthy superiority”

“Don’t eat too much”

“Shake like a leaf”

“Do not cough”

“Go away”

“Like a nightingale with a toothache”

~~~
rdtsc
Should apply that to lines of code in code review .

    
    
       x.ugly_hack=blah <- “With conviction and a rigorous sadness”

------
recursive
> The key is F major.

Where is this coming from? It's pretty clearly G minor to me. The bass is
playing G. The main phrase starts and ends on a G.

> This 1.334 is a ratio of adding 5 semitones in hertz. This should sound like
> this.

This harmonic overtone kills it for me. I know there are some overtones in the
original, but not like this. 5 semi-tones is an interval of a perfect fourth.
I think maybe a perfect fifth would work (7 semi-tones) but this overtone
pretty much destroys it for me.

~~~
pjagielski
Hi, post author here. Thanks for pointing out!

I know it's wrong and working on these improvements:

[https://www.reddit.com/r/Clojure/comments/4dl454/recreating_...](https://www.reddit.com/r/Clojure/comments/4dl454/recreating_daft_punks_da_funk_with_overtone_and/d1sqcs5)

~~~
recursive
Cool. Those changes sound pretty dead-on.

~~~
pjagielski
Applied the corrections, check the sound now :)

~~~
recursive
It sounds like a much better approximation than before. Thanks.

------
arnklint
Might be relevant to the subject: Sonic Pi Daft Punk sample -
[https://www.youtube.com/watch?v=cydH_JAgSfg](https://www.youtube.com/watch?v=cydH_JAgSfg)

~~~
baldfat
Sonic Pi is another on of the new Live Music Programming Languages. Sonic Pi
has a nicer GUI presently.

Right now it is the early stages of these kind of musical tools for live music
coding. I really look forward to the near future for these new tools. I know
that we have had programming for music for decades but this is a different
genre at least to me.

Here is a video of Overture going over live coding from 3 years ago
[https://www.youtube.com/watch?v=imoWGsipe4k&nohtml5=False](https://www.youtube.com/watch?v=imoWGsipe4k&nohtml5=False)

------
dmoo
Off topic but Sam Aaron an overtone contributor and the creator of Sonic Pi is
currently looking for advice re the funding of his work on Sonic Pi

[https://twitter.com/samaaron](https://twitter.com/samaaron)

~~~
mathetic
Yes, he has announced on Twitter that his project is running out of funding
(it is a research grant).

He has set up a Patreaon page [0] for those interested in contributing his
live coding, development of Sonic Pi and Overtone.

[0] [https://www.patreon.com/samaaron](https://www.patreon.com/samaaron)

------
vdnkh
Not knowing about Leipzig[0], I've been trying to come up with my own
representation of music in JS to work with the Web Audio API. My biggest
puzzle so far is how to a) keep a rhythm and b) allow musical "blocks", which
are indeterminate in length, to fit into this rhythm. I was thinking that
these blocks would be pre-defined functions which represent different aspects
of music (bassline, riff, etc.) which could be repeated and inserted at
arbitrary time in the composition.

If anyone is interested on working on this drop me a pm/comment (it's just for
fun)

[0][https://github.com/ctford/leipzig](https://github.com/ctford/leipzig)

------
lwakefield
I was kinda bummed that they weren't referring to the iconic 303 bassline from
da funk.

------
randomacct44
Is there anything like this for JS + WebAudio? Have a mate who wants to be
able to embed something like this in a website (endless generative music).

~~~
fenomas
I hacked on this a while ago, and the best libraries I found were one called
Wad for playing notes and applying effects, and another called Teoria for
building chords and intervals and so on.

I was hindered by not having any idea what I was doing but here's what I came
up with:

[http://www.aphall.com/random/audio-test/](http://www.aphall.com/random/audio-
test/) (clicks weirdly in firefox, no idea why.)

Libraries:

Wad: [https://github.com/rserota/wad](https://github.com/rserota/wad)

Teoria:
[https://github.com/saebekassebil/teoria](https://github.com/saebekassebil/teoria)

------
jimmcslim
This is great, I hope there are more Overtone recipes in the future!

------
joshschreuder
Here's a recreation of One More Time that I saw on HN a few years back:

[https://www.youtube.com/watch?v=9sdtOpE_3aQ](https://www.youtube.com/watch?v=9sdtOpE_3aQ)

And the follow up:

[https://www.youtube.com/watch?v=0kZy5qNrlks](https://www.youtube.com/watch?v=0kZy5qNrlks)

------
lostgame
I had no idea they open-sourced their shit. That's amazing. They're one of my
favourite groups.

------
pacomerh
How did I not know about Overtone. Clojure + Music, two things I love. Thanks
for this.

------
creullin
Haha. This is awesome. I wonder what the final output would be. A full song?

~~~
jeremy7600
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.

~~~
TheOtherHobbes
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.

~~~
lotyrin
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](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.

------
wodenokoto
It is pretty cool that you can program a song in code, but it looks awfully
verbose.

Do people really compose this way?

~~~
novocaine
no.

well, live-coders do by definition .. but for everyone else, it's just an
ineffective way to work, even if you are a good programmer.

people really do use graphical programming tools like max/msp.

------
thro1237
Is there any synthesizer that would sound like a real violin?

~~~
Synaesthesia
Here's one I found:
[http://www.synful.com/SynfulOrchestra.htm](http://www.synful.com/SynfulOrchestra.htm)

------
clarkenheim
That 303 just isn't a 303.

------
andrewvc
You're right. It's funny listening to this. They're playing the same song, but
it's not even close to as good as the Daft version.

The daft version is loud and has a bite. This version just sounds lethargic
and boring.

~~~
jonwot
the daft version is clearly mixed (eq'd, compressed, etc.) and probably done
so in a nice "easy" to use DAW. i doubt he could get that sound (without
working long hours) when hardcoding everything.

~~~
dep_b
The Daft Punk version is pretty much the raw direct sound you get from the
synthesizer. Maybe a touch of reverb, a hint of EQ but nothing that changes
the sound.

~~~
striking
There's also analog filtering from one instrument to another, which has proven
very hard to recreate.

------
kevin_thibedeau
I once brought an interviewer to the brink of tears after she revealed how
overloaded she was and how the EE team had effectively been eliminated for
offshore workers. It was curious that all the other interviewers before her
were MEs and systems engineers with no knowledge of the job I was interviewing
for. They all kept referring to the "old product line" developed in house and
how great it was to work on. The implication being that the new line was shit
because nobody was around who new how it worked. All the money went into
developing sexy enclosures and nothing into the actual electronics.

There were lots of glossy trade brochures lionizing the founders and how great
they were but it was apparent that they went public to cash out and were
riding the growth roller coaster to drive the stock price at the expense of
capable employees who can sustain the company long term.

