December 26, 2020

12 points from Sweden go to the AI

The GPT-2 neural network created by OpenAI is a massive model that has been trained on a huge dataset of text from sites like Reddit. The AI is so good at generating text, the researchers actually haven't released a fully trained model because they fear it would be too easy to use for malicious purposes.
What they have released, however, are smaller, slimmed down versions of GPT that are partially trained, but can be further optimised on a dataset of your choice.
To that end, I decided to see if I could teach an AI to write Eurovision songs.

Methodology

Neural networks need large amounts of text to train on, fortunately, OpenAI have done the hard work and ran likely terabytes of text through GPT to give an AI that is already quite good at writing text. You can actually see a generic GPT model in action here - provide the bot with a prompt and it will auto complete the setence for you.

Screenshot-2020-12-26-195112

Given the source data is very broad, it's not particularly Euro-vish

Screenshot-2020-12-26-195206

Seems more suited to negotiting a trade agreement than making it through to the Grand Final.

With GPT2, it's possible to finetune the model on a more specific data source - in our case, the lyrics to every eurovison song from the past ten years. This includes songs in English and other languages - my hope was it would give a proper eurovision style mix of multiple tongues.

Given the model is already quite good at generating text, it gets into the swing of creating lyrics quite quickly - recognising that it needs a verse, chorus etc... though not always in the right order

Screenshot-2020-12-26-195556

Once trained, the model was then given the prompt "Song Title:" and allowed to generate the text it thought would follow

Results

Below are a few select outputs from the Eurovision trained model.

Orbit

Science fiction, historical fiction
(Doesn't matter what?) It's all the same
(Look, don't be afraid) it's the same
(Sometimes I do, sometimes I don't) And in terms of feeling, it's – oh, hey hey
‘Cause I’ve had it both ways, I keep it on my mind
(What I want, what I need)
If your love's strong, I can «reat» you better
That's what I wish for
But there's always next week, late night tango
Baby sitka

(Howling winds, before they blow) Will’t you try to kiss me?
(That's when it’s cool) Can’t you pretend?
(Scoo, baby) The sun why don’t you come out?
(I know what I’m doing) I'll make you dance, Oh

Come on, honey, come on and kiss me
Come on, honey, come on and kiss me so hard
Come on baby, come on, you come on
Baby sitka

Love, love is awesome
(Scold back a kiss, don’t shut down) Love is awesome
I‘ll make you dance, Oh
Wooo!!!

Then there’s space, we go deeper
And we find our orbit
Dancing moon in a dance studio
Love rocket ship to the stars
Dancing baby to parrot

I‘m so in love with you
I‘m running with the rocket
All around planet – oh, everybody!

I wonder what a baby sitka looks like? 🤔

Vampires of the graves

Got maybe  twoa bones in my heart after all that screaming  down
I'm plumbed with a thirst for blood  and the bones haven't boiled
Got nausea in my soul
Never give me that invective
It's my record we broke
The chips are falling out, the cards are stolen
I ran away, storm riding on old grudge

I may not be the enemy … but I do have a soul

And I'm playing games, am playing games
Game of thrones, make my rival a sad sack
Game of thrones, meet my twin sister tonight
My twin sister, meet my cousin any night

I'm dancing on broken glass, am dancing on broken glass
I'll take it any night now
Any night now…

Yeah, yeah… yeah… kinds of smells… yeah, what's up with you?
Been hiding from day and night, here to stay, keep your eye on mine

Anytime that I call you name
Let me in your heart and your soul
It's all we ever used to know
I'll kill that voice in my head

Don't throw stones, don't start a riot, I'll make it out alright
Call your bluff, if you dare … make it or break it
Just try, I'll make it or I'll lose it
Level up your gaming reflexes
You got burned in the flames, burned in the flames of doubt

Vampires of the graves…
You'll discover me here, infest my bed
Call me, don't wait, so I can heal your upset

Vampires are alive, but with a bit of Game of Thrones thrown in

Daylight Saving Time

Shi-di-di-di-do-da
Taya!
Da-down-d-ito, rain-te-da!
Oh-ow! Bet — partition
Bet – let's sing it this way
Should really be sleeping together, staying together

Fuck yeah, bet we parched wimpy-wis-too-pansy-wimpy-haired-little-jim
Yee-hawww... algoocha... bugger-jee-la...

Oh-ow! Sugarpya background
Tu saudyaviza he-e-ux
Mas ratianiya ki oli
Upah-sa postane stavoe rand
On tal sangat akanarate stereoty li

Ig strikte im near krinerryáchi zo maryonda
Eto tri vill Source beijeh büszyl tâm ändro i hoti
Szarboru nydraph u Seljuq...
Caprodar orci tafnyyase second name
Érzele cupit cytaknozai ti superionta...
Koichék a un vag yàntric essësi
Joochá Pharmacy híd, Michaël Toneart beejon děstreet trend
Die Danse Resulten suggests

Ooh... ooh... karsenyud collar
En Thermae Endoche Simon îoret szél toi amiázi végy
Młocyaf űnykeszentny the settra pub

This is definitely a big Euro Dance number with lots of languages thrown in for no good reason

Too Late for Love

[Prod. Mem. 1]
”Cause I can’t get the strength to go on, in your presence
I can't go on, so strong, in your arms tight
Waiting, searching for the very thing like I used to enjoy
Sultry voices Hurry up, it's, it's easy (Sultry voices)

”Cause I can’t get the strength to go on, in your presence
I can’t go on, so strong, in your arms tight
Waiting, searching for the very thing like I used to have the times I had the times I wore you
‘Cause I can’t get the strength to go on, in your presence
I can’t go on, so strong, in your arms tight
And I can’t get the strength to go on (tom, dam)
I can’t get it, no, no, I can’t get it

[Chorus 1]
(How could I ever go back to the way things were like before?)
(I‘m coming out) And I‘m queasery)
(Ah, why are we doing this?)
Ey, ah, hey, ey, ah, ooh, mo, mon

[Verse 2]
Trouble, I‘l least of all of these trials
Goes deep inside my heart, in time of search
No outer cover
No tape, no silence, no sign, oh, mmm, mmm

All those sultry voices are making me so queasery

Know Your Enemy

[Verse 1]
Even if there’s stormy weather
You’ my enemy no more
No more masochistic berry pickin’
Though west’s seen so much, today we’re gonna show that we’re taking it out

[Pre-Chorus]
City lights gonna show the trouble
Sooner or later, the sun will go out your window

[Chorus]
Heart beats like an 808,000 beats like an 808,000
Nine to five, five to the break drone
Closing the book and flipping through the pages
Million dollar question, gigantic window
Five stars – what’s up, what’s up
​Million dollar question, gigantic window
Dog days, dog days, what’s up

[Repro-Ver-Chorus]
V-pu-ped, I-i-p-ped, woo!

[Chorus]
Beat it, beat it, beat it, beat it
Out of space, we’re gonna fly, like the lion
Beat it, beat it, beat it, (beat it, beat it high rollin')
O-oh-oo-omega-de-ihub
Strengthen your resolve, connection beats cruel
Counter tranquilliser, fifty tunes of hip-hop
Why, oh, why have we built this fortress?
Beat it, beat it, beat it, beat it
Tags— (Beat it fast, um bueno pelo di un bueno da impresa)
Beat it, beat it, tough like this

Any song with a pre-chorus has got to slap

Hello From the Moon

Hello, moon
Show me what you're really like
Don't you worry I ain't scared tonight
Come on, I'm giving in 'till the sun rise again
BE HAPPY, BEHAPPY
Hello, moon
Break new ground, I follow you and you, with sparking lights
Rocket into the sky, make a smiling sign
Home is where home is, where everyone should
We'll fly forever

See the power in your art? Same here
Centuries of waiting, waiting's finally paying
And finally I get it
Where we belong
Hugo is my life, our collision is an art
Love's conquerin', love's liftin' heaven's high
Baby, I'm on the road not so much set out on my own
I'm-I'm-I K.O. 'os, odio nos pienso 'o Cristo
Together we can set sail, behold peaceful sails around the world
I'm-I'm-I K.O. 'ose right now, se pa da 'intera u panela
When the sun rise again
Together we sail ever closer to the shore
This is me and my art, and our universe's a parade
Indeste noti, mundo espa ritmo dei per temposito di città
See your plane lands, via which you will sail to your destination
This is me, and I'm-I'm flying high above all else, intent on leaving deep in the night sky
Please, stop the engines, and decompression
We'll glide away, once again free to soar out into the night sky

Unsure whether this is sung as a slow one or as a proper pop number

Love Song

[Verse 1]
I was alone in my room, dancing with no one
When a noise filled the air, I started moving, my heart was pumping, my rhythm was searing
I felt so alive when I reached the limit
And I felt so alive when I reached the limit, too

[Pre-Chorus]
I'm never ever gonna run away, baby
I'm never ever gonna hide, baby
I'll always give you the things I have
'Cause I love you, I love you, I love you

[Chorus]
Love song, love song, love song
Love song, love song, love song
Love song, love song, love song

[Post-Chorus]
Love song, love song, love song
'Cause I love you, I love you, I love you
Love song, love song, love song
'Cause I love you, I love you, I love you

[Verse 2]
I was dancing alone, dancing with no one
When the music started, everyone started moving, my rhythm was searing
I felt so alive when I reached the limit
And I felt so alive when I reached the limit, too

[Pre-Chorus]
'Cause I love you, I love you, I love you
'Cause I love you, I love you, I love you

[Chorus]
Love song, love song, love song
Love song, love song, love song
'Cause I love you, I love you, I love you

[Bridge]
(Eureka)
(Eureka)
(Eureka)
(Eureka)
(Eureka)

[Chorus]
Love song, love song, love song
Love song, love song, love song
Love song, love song, love song
'Cause I love you, I love you, I love you

Love is a pretty good topic for a Eurovision winner, and this one has it in both the pre-chorus and chorus! Plus, with a bridge like that you know this one slaps.

Cliche Love Song

[Intro]
(Cough, cough, cough)
Cough, cough, cough
Cough, cough, cough

[Verse 1]
Woke up to dust
Sweat, the place where I began
Lost my soul, my body broke

[Pre-Chorus]
I’m a sinner, I’m a cry baby
I’m a sinner, I’m a cry baby

[Chorus]
Cliche love song, cliche love song
Woke up to dust, I’m a sinner
Sick and tired of love, I’m a lonely baby
Sick and tired of love, I’m a lonely baby

[Verse 2]
Feeling strong, I’m not scared
I’m not scared of heights
I’m not scared of heights
I’m a sinner, I’m a cry baby

[Pre-Chorus]
I’m a sinner, I’m a cry baby
I’m a sinner, I’m a cry baby

[Chorus]
Cliche love song, cliche love song
Woke up to dust, I’m a sinner
Sick and tired of love, I’m a lonely baby
Sick and tired of love, I’m a lonely baby
(Cough, cough, cough)
I’m a sinner, I’m a cry baby
I’m a sinner

The 2020 anthem we didn't know we needed

War Is In the Air

Put simply, someone's coming ..
Someone's taking life
A thousand feet up the sky
Looks like it could be a golden note

War's been declared, time to assume battle
An open ended string of commands
Everything's been changed just feet above
The ground beneath our feet
Is shouting, burning hatred, war is on

Turning point is at hand, prepare yourself, have faith
The enemy is lying to you, they're holding your heart hostage
They're⎥Bomboy Provocateur, the five star wedding
Neto, with roses in the middle of the night
A million roses on the cactus in the park tonight

Minard ráns bien comprarona, na noire y exemplar
McIntreyin la fin sa mía, manos o fido rényüdó…

I juntos a minha donde decis mar
I que paso bailanas por favor
Bandera como lo alimento con mi jardim
Y el corazón de Moyo ávilla roja…
Interés hoy la letra, flexil zawa jaulot ti
En las cog­ns del Barrio y mismo armena demagro por u
A priyando como tú me levrejendraj el corazón de Moyo…
Y sabe será dulce saber que tanto las manos
Cariño gastream
En la barasañera donde "de cuerpo del papito" di pedro quemando mi

ABBA actually won the competition with a song about war with Waterloo, but this is not something we recommend.
I have no idea if the Spanish(ish) actually means anything

Conclusion

I don't think I'll be putting Tomas G:son out of a job quite yet - but I think there's a real chance that at least some of these songs could do better than the UK in the Final.

If you want to train your own GPT2 based model, then this tutorial from Max Woolf is a great place to start.