Hacker News new | past | comments | ask | show | jobs | submit login
Programming Music: The Applications of Algorithmic Composition [pdf] (mit.edu)
81 points by lainon on Dec 15, 2016 | hide | past | web | favorite | 18 comments

I hesitate to be contrarian because I don't want to discourage what I perceive to be an innocent enough exploratory effort by curious and creative students... but as a long time drummer and computer scientist, this document was underwhelming and surprisingly unscientific (I guess my expectations were set high once I saw the mit.edu domain).

A related idea that may be interesting to explore are approaches to identify and classify hip-hop beat cliches across different genres and time periods (and accordingly to generate new beats that approximate the respective genres or time periods' aesthetics).

If you are interested in this, I would recommend looking up the Extempore programming language/environment and some of Andrew Sorensen's live coding performances. Even if live coding is not your thing, it's definitely interesting.

Thank you for your recommendation. I haven't heard of Extempore and I currently feel like a kid at Toys R Us.

Also check out supercollider and csound.

We've had a bunch of really good threads, when i have time i'll stick them in pinboard.in:

Faust: https://news.ycombinator.com/item?id=13012880

audioKit: https://news.ycombinator.com/item?id=9903760

pure data: very difficult to search for

common lisp et al: https://news.ycombinator.com/item?id=12518768

Bjork (I think) said that electronic music has no soul cause no one bothered to put one in it. As a long time listener of mainly electronic music, I agree. Among the various genres and artists of electro music there is a ratio of computer/human input to each piece. I find the pieces were the human input is minimal, boring and dry. In a way the human in these sorts of music is the necessary ghost in the machine that makes the piece worth its salt.

I would be very impressed if a fully computer synthesized piece would actually strike a cord in humans. I'm not talking about brutal bam-bam-bam techno pieces that evoke no emotions whatsoever.

Electronic music lowers the barrier of entry, so you get LOTS of crap, whether it's just uninspired but well intentioned, or freakishly aggressive 1000bpm avante garde nonsense.

That said, if you're a long time listener and you've never found any producers with soul, look again. Popular example: Daft Punk.

If its written in python all they have to do is `import soul` ;)

Generative hip-hop beats, looks nice. As I see it, the sequencing isn't the hardest part in hip-hop beats, though: a lot of the magic is in the timbre. Sampling, mixing, etc. are often what captivates me the most. Imagine doing that algorithmically - foraging through a collection of samples, processing them, chopping them up and making beats out of it. A similar constraint-based approach might work well, though probably a lot more work.

Anyways, who are the authors? Nowhere to be found! Sure it's a class project but that's no excuse! And they should publish the BeatOven source, would love to play around with it.

There is one absolute classic work in that field that I know of. It's called Designing Sound, by Andy Farnell: https://mitpress.mit.edu/books/designing-sound

There's other classics by Martin Russ, Miller Puckette, Curtis Roads, Allen Strange, Perry Cook.

> And they should publish the BeatOven source, would love to play around with it.

Seconded! Though I could see something like this being quite valuable if integrated into a DAW like Ableton Live. Maybe plugins that do something like this already exist...does anyone know?

FL Studio has some really good randomize options with lots of different settings built into the piano roll.

I think that hip-hop (bar abstract hip hop) is mainly about the lyrics.

I have added a randomize feature to the Acid Machine web app. It works by chopping up the pattern into blocks, then goes through the steps in the block and selects a random note (or silence) from the currently selected scale.

Then it moves to the next block and randomly decides whether to re-use the previous block or create a new one. This stops it from sounding completely random in a bad way.

Selecting the Arabic scale creates some interesting patterns.


I have noticed gcode for cnc / 3D printing spits out melodies via the stepper motors.

Seems like music might even be a more pragmatic means of communication than numbers.

That's some atrocious type setting.


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