
Infinite Gangnam Style - nickknw
http://static.echonest.com/InfiniteGangnamStyle/
======
mef
This is really awesome. They cut the entire song into one-beat segments of
sound and video, and then categorized each beat by similarity to other beats
in the song, and then after each beat there's a random chance that, instead of
playing the next beat, the playback will transition to a different but
similar-sounding beat from elsewhere in the song.

More info at the author's blogpost:
<http://musicmachinery.com/2012/10/28/infinite-gangnam-style/>

~~~
wpietri
Nice! If you want to explore the structure, you can control-click on a beat
and it will only play the related beats.

From what I can tell, the color indicates the number of beats in the jump set.
Black: 1, Blue: 2, and then more the redder it gets.

I can't figure out how to get out of that mode, though, other than to stop and
restart it.

~~~
chengsun
Just press the right arrow key once, and it will start playback again.
Similarly, pressing the left arrow key will cause it to play beats in
"reverse", which sounds like a totally different song in some sections.

------
sedev
This is a very clever hack and I adore it for that, but it's also a sneaky
statement about meaning, and I adore that too. It's like the literature
world's cut-up/exquisite corpse work: if you can disassemble an original like
this and put it back together in a way that we humans are inclined to extract
meaning from, does that change the meaning that you perceive in the original
work?

~~~
lazerwalker
What's unique about Gangnam Style is that it's a cultural meme in America that
isn't in English. It would be really interesting to see what sort of different
sentiment this project would inspire if applied to a song where Americans
could actually understand the lyrics and cultural references, or if it was
shown to a South Korean audience.

~~~
vl
>cultural meme in America that isn't in English

Yep, it would be interesting to read about things we miss - lyrics, and
meaning of obvious references we don't get. For example, I think that dude in
the elevator is an actor I saw in some movie, but I don't know if I'm correct.
Obviously scene in sauna has some humorous meaning, but, again without lyrics
it's unclear.

~~~
Cyranix
This blog[0] provides excellent context for the song, including subtitles for
the song (overlaid on still shots) -- the last several seconds of the video
will give you the names of the famous people with cameos.

[0] [http://mydearkorea.blogspot.ca/2012/08/korean-music-psys-
gan...](http://mydearkorea.blogspot.ca/2012/08/korean-music-psys-gangnam-
style-and.html)

------
ari_elle
<http://static.echonest.com/InfiniteGangnamStyle/faq.html>

_Infinite Gangnam Style - Frequently Asked Questions_

 _What is this?_

\- Infinite Gangnam Style is a web app that dynamically generates an ever
changing and never ending version of the song 'Gangnam Style' by Psy.

 _It never stops?_

\- That's right. It will play forever.

 _How does it work?_

\- We use the Echo Nest analyzer to break the song into beats. We play the
song beat by beat, but at every beat there's a chance that we will jump to a
different part of song that happens to sound very similar to the current beat.
For beat similarity we look at pitch, timbre, loudness, duration and the
position of the beat within a bar.

 _How come this doesn't work in my browser?_

The app requires the web audio APIs which are currently best supported in
Chrome and Safari

 _What does Psy think about this?_

I don't know. I hope he doesn't mind that we are using his music and images.
We hope you check out his official video and his web site too (but really you
probably already have).

 _Who made this?_

Paul Lamere at Music Hack Day Reykyavik on October 28, 2012

------
plamere
Infinite Gangnam Style was built this weekend at Music Hack Day Reykjavik in
Iceland. Check out the full list of hacks here:

[http://wiki.musichackday.org/index.php?title=Reykjav%C3%ADk_...](http://wiki.musichackday.org/index.php?title=Reykjav%C3%ADk_Hacks_2012)

------
pg
I would be interested to see what happens when you do this to other types of
music.

~~~
grinich
Markov models work well for almost every genre-- recompositions of classical
or modal jazz tunes are particularly awesome.

~~~
mistercow
This isn't exactly a Markov model, although I reckon you could draw a
mathematical connection.

~~~
im3w1l
It seems to me that it is. Please explain how the markov property is violated?

~~~
DrStalker
I'd guess each section is unique so there is no frequency analysis; the next
section is picked at random instead of saying "Whoop whoop" is followed by
"gundam style" 20% of the time, by "hey sexy lady" 50% of the time and by
another "whoop whoop" 20% of the time.

~~~
zbyszek
Surely in a Markov process the next state _is_ picked at random with some
probability distribution, which may be uniform.

~~~
mistercow
Yeah, thinking about it some more, that seems to be correct. It isn't what
people usually think about when they think about Markov models, but it
qualifies.

Actually, I think this kind of Markov model might be a better introduction
than some of the others I've seen, since it's extremely simple to understand.

------
ChuckMcM
Madlibs for music. Peter Langston, whom I met at Sun while he was consulting
on the *7 project, did an interesting paper in infinite music [1]. We built
something akin to the Casio "smart beats" feature from their all-in-one
keyboard products into the application so that we'd always have musical
accompaniment in the UI. Of course that was before we realized that many
(most?) people insanely hate UIs that make ambient noise :-)

The Echonest stuff, done over the selected works of an artist could make for
some interesting mashups of their work.

[1] <http://www.langston.com/Papers/amc.pdf>

------
obiefernandez
My 4 year old sat and watched and sung along with this in delight for about 30
minutes (when we turned it off, cause like, enough already...)

Someone should analyze _why_ this song is so catchy.

~~~
amplitwist
Actually, this is a fairly unusual song, in music theoretical terms. Almost
all pop songs use the I, ii, IV, V, and VI chords, with popular progressions
including I-IV-V, ii-V-I, and I-V-VI-IV. Since this is tonal music, it
obviously includes the I chord. It does use only four chords, but they are
uncommon. Most of the song uses the I chord (G major in this case), but during
the buildup, it uses an surprising I-II-III-I-II-vii progression. The II and
III chords aren't strictly in the key of the rest of the song, although they
still blend well with the in-key chords. vii is just F# minor here, but it is
not in the key of the rest of the song either. vii is not often seen in
pop/rock/classical music; you often see vii° instead, since it is in-key. I
can't argue with Psy's choices, though, since that little riff builds a lot of
tension.

~~~
cynicalkane
You're close but not quite there. The build up is VI-natural VII-I-VI-natural
VII-V7b9. So you have the chords right but the root note wrong.

The major I for the third chord is the really key piece of that chord
progression. Shifting up and down chords by step is pretty common in pop
music, but shifting into major I the first time then the flat 9 dominant the
second time (especially with the natural 7 right before it!) is a powerful
harmonic one-two punch.

I don't want to be 'that guy', but the other guy responding to you has it
totally wrong. Try to plunk out chords on the piano with the music and see for
yourself.

~~~
stianan
Your build up progression is exactly the same as mine, only I interpret it as
based on the major key III. I agree we're not talking about modulation in the
usual sense, but I think it makes sense to think of it as a key change. It
reminds my ears of the common IV-V-vi progression, only with a suprising major
VI.

~~~
cynicalkane
I have to disagree again... I don't think a III chord is anywhere in the
entire song. The build up is in the parallel major.

~~~
stianan
Right, the key III _is_ the parallel major. I'm shifting the base of the
notation for this passage. When I say III ends the build up, I mean III in the
parallel major key, i.e. V(7) in the original key.

~~~
cynicalkane
III is the relative major. I is the parallel major. As I said, I believe there
is no III anywhere in the song.

~~~
stianan
You're absolutely right. In my native language, the relative key is called the
parallel key. Sorry for causing confusion.

So, to clarify, I'm not claiming there is a III in the original key, I'm
referring to the III chord of the _relative_ major key.

------
nickknw
I know it's a bit borderline, but thinking about how this was done was pretty
interesting for me, and I thought others might appreciate it too.

I also like the helpful visualization below that shows which part of the song
it is currently using.

------
darkstalker
No one else noticed that this doesn't work on Firefox?

    
    
      Sorry, this app needs advanced web audio. Your browser doesn't support it. Try the latest version of Chrome

~~~
Aissen
Yup that's normal. They even explain why. That's normal for tech demos using
bleeding edge APIs.

------
madrona
Clever. I wonder if the illusion is broken if you actually speak Korean. I
would definitely notice if someone chopped and reassembled random words in
English.

~~~
DanBC
I have trouble when I'm in American and I order water. I need to soften the t
to a d, and drawl the word.

I almost always understand Americans, apart from a few movies where they speak
rapidly with background noise.

Here's an example of what it's like: (<http://youtu.be/q-cAnFbEXY0>) - it's
almost recognisable, but not quite.

So, mashing together sounds to create fake words can create something
tantalisingly close to what I'm expecting to hear. Mashing a bunch of random
words together usually doesn't work, but putting a Markov chain in the again
creates something that gives the initial feeling of "this is not nonsense".

And for most songs you probably could sting random words together without so
many people noticing; random sentences would probably be fine.

~~~
dpark
> _I have trouble when I'm in American and I order water. I need to soften the
> t to a d, and drawl the word._

Where are you from? (i.e. What kind of accent do you have?) I find it strange
that you'd have to enunciate _less_ to be understood ordering water. If you
pronounce "water" with a British accent
(<http://en.wiktionary.org/wiki/water#English>), Americans should generally
not have trouble understanding you.

~~~
DanBC
I'm English, with a reasonable English accent.

I'm not kidding, "water" is never understood, across a lot of California.

~~~
dpark
Interesting. I've never seen that before, but I can't imagine why you'd make
something like that up, so this must just be a gap in my experience.

------
fus
I have a habit of listening to a single song over and over again. I am able to
do so for about 3 hours. Using such randomizer technology, this time will be
dramatically prolonged...

~~~
fusiongyro
I recoil at the thought of that—how can you stand it? Is there something
behind it that would make you want to prolong it even further?

~~~
citricsquid
As someone that does the same I think it's to do with "ignoring" the music. I
can _listen_ to the same song for ~3 days at a time (and the same artist for
longer, up to a week) but I will often find myself not realising I have music
on or be sitting in silence and not notice.

For example from October 20th to October 22nd I listened to Kanye West 200
times in a row and I've listened to "Bob Dylan – All Along The Watchtower" 717
times in total. Music directly reflects my mood so if I'm happy for 6 hours
and find a song that I find to be happy then I have no problem with it on for
that entire time.

Here's a graph of my listening habits from lastgraph[1] that will show big
patches of a specific artist:
[http://lastgraph3.aeracode.org/static/graphs/graph_228708.pd...](http://lastgraph3.aeracode.org/static/graphs/graph_228708.pdf)

[1] <http://lastgraph3.aeracode.org>

------
ep16
Sort of relevant to the HN crowd, MIT Gangnam Style:
<http://www.youtube.com/watch?v=lJtHNEDnrnY>

------
yeonhoyoon
I'm a native speaker of Korean, and the song doesn't sound bizarre.

------
Nux
Seems like we're going back to "Built for Internet Explorer" days.

~~~
Sunlis
Why would you say that? The author said them self that this works best in
Safari and Chrome.

<http://static.echonest.com/InfiniteGangnamStyle/faq.html>

~~~
DanBC
People used to build websites and tweak them for a particular browser. They'd
use tags that only worked with one browser, or attributes that worked better
with one browser than another.

They'd then stick a little graphic on the page saying "This site works best in
[Browser name]"; often with a download link.

When Nux says "Seems like we're going back to "Built for Internet Explorer"
days." I guess they're saying "It seems that we're going back to a time when
people tweaked their websites to work with a particular browser, rather than
concentrating on standards compliant code and cross browser compatibility".

~~~
TazeTSchnitzel
Well, these days, I write a website using web standards, it works great in
Chrome, Firefox, and IE10, except for one CSS style that IE doesn't support,
ruining it for IE10 users. And so I unintentionally end up creating something
only usable in Chrome or Firefox.

------
hornbaker
Done with bigger squares and optimized for a tablet, this would be a
compelling UI for a live DJ performance.

~~~
stdbrouw
This is how Ableton Live works (and Renoise introduced a similar live view a
while ago), although of course it doesn't take any random audio file but
rather your own compositions, written in Ableton.

~~~
catshirt
you can use any audio in Ableton. a big draw is it's time warping tools which
makes it easy to manipulate songs like this.

the real difference is Ableton doesn't have the ability to automatically chop
the song into logical parts. Maschine can do this, but it doesn't
automatically play subsequent parts based on properties on the current one.

~~~
bbgm
Celemony Melodyne does some interesting things with audio as well. Ableton
Live 9 has some nifty features where it converts Audio to Midi, which you can
then assign to any other sound. Nifty

------
dag11
On Chrome 22.0.1229.94 m on Windows 7 64-bit, it freezes then crashes the tab
instantly, every time I open it. I can't play it.

~~~
username3
Check your extensions. It works here on 22.0.1229.94 m Windows 7 64-bit.

------
magerleagues
Love the Web Audio API! [https://dvcs.w3.org/hg/audio/raw-
file/tip/webaudio/specifica...](https://dvcs.w3.org/hg/audio/raw-
file/tip/webaudio/specification.html)

------
AlexanderHektor
Anybody else hate these jumps in commercials to fit the 30s or whatever budget
they have? Always makes me wonder if they think noone would notice? Duh, of
course people do! :)

Btw, quick bug report: doesn't work for me if open in non-active tab in Chrome
22.0.1229.94 on Mac OS X 10.8.

Good fun and now do an automated version where ppl can paste their youtube
links. Greetings, lx

~~~
denzil_correa
_doesn't work for me if open in non-active tab in Chrome 22.0.1229.94 on Mac
OS X 10.8_

I can confirm this bug too.

~~~
Nitramp
That's just because Chrome throttles JS execution in background tabs to a
crawl.

~~~
denzil_correa
Thanks. Is there a fix?

~~~
jmitcheson
Just drag the tab out to its own window. Then you can minimize it and Chrome
doesn't consider it to be in the background.

Random aside: I just noticed that after you drag the Gangnam tab out to its
own window, then you can open other tabs in that same window, and it doesn't
put the Gangnam tab in the background anymore. But if you put the tab/window
back in the original set of Chrome tabs, then it will.

~~~
denzil_correa
Man, this is more complicated than Google Wave!

------
littledot5566
When I minimize the window, the music becomes choppy. Anyone else has this?

~~~
kzrdude
If you focus another tab in Chrome/Linux yes (not on minimize).

------
ari_elle
Imagine this being done not with one song, but with an entire library of
electronic music.

You would have to improve the program a little bit, but this concept being
realized with a vast music library?

Sounds quite interesting...

------
rplnt
The audio becomes very laggy when I switch to other tab in chrome. It is fine
if I switch to other application so I guess it's chrome itself throttling the
background tabs.

Anyone else experiencing this?

~~~
e2e8
Browsers slow down background javascript execution.

~~~
rplnt
Si it's probably the constant switching of audio clips that is causing the
stutter. My first thought was that the audio itself was laggy.

------
chubbard
So I guess this works best because most of us can't understand the lyrics so
if we did this with an english song or any song the native listener
understands you might end up with nonsense lyrics. It doesn't sound like it's
jump around making nonsense sounds, but it might string words together that
are really bizarre as it bounces around the lyrics.

------
EGreg
I took some time and transliterated the lyrics into English, but also to match
the video and what goes on in it. This is almost as fantastic as that.

Warning: if you watch it, the lyrics will get stuck in your head.
<http://www.facebook.com/photo.php?v=10101449851143489>

------
ads24gsdf
It bugs and you can get trapped int the 40 boxes segment loop over and over
again. (the last straight)

~~~
littledot5566
You can "escape" the loop the by clicking on any of the cubes if you get sick
of the segment.

------
zobzu
Ah some more chrome only stuff :)

------
FuzzyDunlop
My favourite thing about this is that you can basically make your own remix by
clicking about the squares below, and you get an amusing chopped up video for
free.

------
Sniffnoy
Hm... do they have a way to automatically do this to any song?

~~~
brianwhitman
Yes: you can use Echo Nest Remix in python or do what paul did and pre-load
the analysis and do the playback via webaudio. Remix takes care of the
chopping at the right bits for you: <http://echonest.github.com/remix/>

------
eykanal
Interesting, that site crashed safari on my iPod.

------
mazsa
cf. "You've been watching this for 0:00:37. Have another beer!"
<http://lalalalalalalalalalalalalalalalalala.com>

