Using GPT-2 to write Aerosmith Lyrics

A few years ago I used Markov chains (like the text prediction on your phone) to remix Aerosmith lyrics, and got some hilariously odd results. Fast forward a few years and I’m playing with my Aerosmith data set again, this time using the incredible GPT-2 AI to “Pump” out a new set of lyrics. 🙂 GPT-2 is startlingly good at learning text, so my first few machine learning runs were just memorizing entire songs and spitting them back to me. So to induce some creativity I limited it’s exposure to the original material – it’s like GPT-2 is trying to remember Aerosmith songs it heard once on the radio a few weeks ago.

The results are sometimes weirdly profound – GPT-2 is really good at circling back to the topic it’s discussing instead of going off on wild tangets, and it picks up song structure really well. I’m really excited about where this is going. I want to write music for LANDLORD. 🙂

It’s worth noting that I’ve done a little editing – just trimming out lines that contained NSFW language. GPT-2 was initially trained on millions of web pages, so it’s picked up a bit of a potty-mouth problem.

Meltdown in an Elevator

by An AI that’s trying to remember Aersosmith songs

ON THE ONE HAND

On the one hand you have the thunder
On the one hand you have the cold
On the one hand you have the blowin’
Yeah yeah yeah yeah

On the one hand you have the sunshine
On the one hand you have the chill
On the one hand you have the yeah
Yeah yeah yeah yeah yeah yeah yeah

 

SPACEBALLS ON THE BBQ

Baby
It’s deja vĂș like a roll a deja vĂș
You got rollin’ inside me
Yeah yeah yeah yeah yeah

Love is sweet misery
It’s a desperate desperate desire
You know you got a heart beatin’ rhythm
When you think you’re goin’ crazy
But you’re not
Well you may be right

It’s deja vĂș in here
Yeah yeah yeah yeah yeah

Spaceballs are balls of fire
Ain’t hung up on me just yet
What did I do wrong

It’s deja vĂș in the sky
Yeah yeah yeah yeah yeah

Baby bbq bbq bbq bbq bbq bbq bbq
You got a heart beatin’ rhythm
When you think you’re goin’ crazy
But you’re not
Well you may be right

It’s deja vĂș in the sky
Yeah yeah yeah yeah yeah yeah

 

LOVIN ON THE CRACK

Baby
You can’t help yourself from fallin’
Livin’ on the crack… yeah

Mmm mmm mmm mmm mmm
Lovin’ on the crack… yeah
Lovin’ on the crack… yeah
Lovin’ on the crack… yeah
You can’t help yourself from fallin’
Livin’ on the crack

 

THAT’S MY DAISY

Baby because I’m a baby
(Take me to the other side)
There ain’t no time for lovin’
When there’s only one thing that you love
You better love it don’t be a loser

You better not try to tell a lie
When you’re goin’ down
Lovin’ with a bang
You just can’t help yourself from fallin’
You’re fallin’ a bajillion ways
But tryin’ anyway

Love in an elevator
Lovin’ it up when I’m goin’ down
Lovin’ it up when I’m out on the street
Livin’ it up when I can’t find a girlfriend
She said can I see you later?

Gotta be a really tough girl
A tough girl like a double shot girl
She gotta learn to crawl
In the ocean

Livin’ it up when I’m goin’ down
Livin’ it up when I’m out on the street
Livin’ it up when I can’t find a girlfriend
She said can I see you later?

That’s my girl… that’s my Daisy

 

YOUR LOVE IS JUST A GET AWAY, GIRL

My girlfriend and I are back on the street
She’s been out on the street for a diamond
She always seems to get more and more desperate
The last time I was here I would’ve been dead gone

I love you little girl
I love you ’cause your deuces are wild girl
Like a burnin’ fire that I can’t resist
I love you ’cause your love is just a get away girl
Yeah yeah yeah yeah yeah…

My girlfriend and I are back on the street
She’s been out on the street for a diamond
She always seems to get more and more desperate
The last time I was here I would’ve been dead gone

I love you ’cause your love is just a get away girl
You bet your ticket that I would’ve been dead gone

I love you ’cause your love is just a get away girl
You bet your ticket that I would’ve been… yeah

I love you ’cause your love is just a get away girl
You bet your ticket… yeah

My girlfriend and I are back on the street
She’s been out on the street for a diamond
She always seems to get more and more desperate
The last time I was here I would’ve been… gone

I love you ’cause your love is just a get away girl
You bet your ticket that I would’ve been dead gone

I love you ’cause your love is just a get away girl
You bet your ticket that I would’ve been… yeah

EVERYBODY ELSE IS ON THE LINE

Back in the ’60s there was the Mad Dog
That was the sound they’d make when they took one for the team
That everybody was on the line
Yeah yeah yeah yeah yeah
Back then you had to have an awesome key to unlock

The thrill of the hunt
Back then there was the thrill of the chase
Back then there was the thrill of the kill
There was a time in the ’70s when the whole world was on the line
‘Cause there was only one way to live
There’s only one way to survive
Everybody else is on the line

Yeah yeah yeah yeah yeah…..

There’s only one way to survive
Everybody else is on the line

There’s only one way to survive
Everybody else is on the line

Yeah yeah yeah yeah yeah yeah…..

There’s only one way to survive
Everybody else is on the line
Yeah yeah yeah yeah yeah yeah…..

‘Cause there’s only one way to survive
Everybody else is on the line
Yeah yeah yeah yeah yeah yeah…..

‘Cause there’s only one way to survive
Everybody else is on the line
Mmm mmm mmm mmm….

 

LANDLORD

So…

Everyone’s talkin’ about a new kind of star… yeah
LANDLORD
He was the reason I was here
Seems like everybody is on the same page

Everyone’s talkin’ about a new kind of star… yeah
LANDLORD
He was the reason I was here
Seems like everybody is on the same page

So why don’t you join the fight
If only there was one thing that we could do… it sure ain’t no surprise…
Join me in the pouring rain
Find another kind of refreshment
Then and only then will you be a better lover

Do what makes you happy
And it’s you that get the prize

Global Game Jam 2016

I was invited to join a dream team of game industry veterans for this year’s Global Game Jam event in Ottawa. The idea is you have 48 hours to create a video game based on a secret theme revealed Friday night. The theme this year was “Ritual”.

Sunday afternoon (after many cups of coffee) my team demoed our final product – “Fire Whisperers”. You play one of (up to) four fire worshippers, co-operatively trying to appease the fire gods by dancing around the fire at night. But shadowy monsters are out to get you, so during the day you rush to harvest rocks and trees to build defensive walls and burning effigies. The end result is pretty fun and manic – there’s a DDR-style button-mashing mini-game to keep the fire burning, and we tuned it so there’s enough monsters to tempt one of the team members to jump into the fire as a sacrifice. 🙂

Not bad for 2 days!

Neural Networks + Recognition

I’m working on a lightweight computer vision algorithm for Robotgrrl’s Robot Missions project, and I’ve been exploring neural networks and learning machines on low-power hardware. This is a simple regression tool that breaks an image down into 64 samples and tries to determine which pixels are Jason (blueish) and non-Jason (reddish). It works surprisingly well in ideal situations!

The end goal is to create a feature identification tool that could help a robot navigate around rocks or branches or penguins.

The status feature also seems to be working correctly. (I may have hardcoded that)

JC_NeuralNet

Werewolf Detector

I’m doing some R&D on a project where I’ll be helping some dancers become ‘feral’, letting their animal spirits out using some digital trickery and projection mapping.

This is a fun step in my exploration – I’m using the excellent OpenCV library in Processing to recognise faces in a webcam video (the red box) and replace the faces with a super terrible “wolf mask”. 🙂 The end result is going to look a lot better than this – what’s exciting here is that it works at all. Can you believe real time facial recognition is possible on a tablet PC? We live in the future!

jaywolf