GPT-3 Raps

A while back on Reddit, a rap about pencils written by GPT-3 was posted, which prompted me to do some Googling to try to generate and vocode the lyrics. I tried this with music myself a while back with Coqui-aiTTS and didn’t have great results. This time, I found a service called UberDuck that doesn’t work perfectly but is pretty good compared to what I had before. A link to the pencil vocoded rap can be found in that thread.

Click here to skip ahead to the new song.

Later, I discovered the reference audio tool at UberDuck and realized that is the way to force the TTS engine to deliver in a specific cadence. This was the biggest thing missing from all my previous attempts and experimenting.

image-20220731184623386image-20220731185429783

The Plan

That minor success got me thinking about extending artist’s catalog or generating music completely from AI and how far along you could get with that as a script kiddie. The plan was to:

  • Ask GPT-3 to write a gangster rap song
  • Assemble outputs into coherent rap song
  • Lightly curate for rhymes/relevance
  • Find royalty free beat that matches song1
  • Record speaking tracks in cadence of rap and cut into 15 sec. tracks (UberDuck free restriction)2
  • Cut tracks together in Audacity
  • Generate some artwork from the image AIs for the song
image-20220731184816817image-20220731185144238

This went surprisingly well and took maybe a little over an hour all in including having to install and learn how to use Audacity and a fair bit of playing around with the mixing (I know it’s still bad I don’t know what I’m doing there).

I’m on Linux bitch I thought you GNU

It took a few tries to get lyrics that weren’t super generic or repetitive. Here’s what I eventually ended up with for GPT-3:

Write a hardcore gangster rap diss track about Free Open Source Software called “I’m on Linux bitch - I thought you gnu” Include 2 verses and a chorus. Use varied language and imagery in each stanza. Each line should rhyme with the previous line. It’s OK to use derogatory language.

Output Samples

Some of the results that were used to assemble the final lyrics:

I’m on Linux bitch, I thought you GNU I’m on the software that’s free for all

I don’t need your money, I don’t need your cash

I’m on Linux bitch, I’m living the dream

I don’t need your Windows, I don’t need your Mac

I’m on the software that’s free for all I don’t need your money,

I don’t need your cash I’m on Linux bitch, I’m living the dream

Chorus:

I’m on Linux bitch, I’m living the dream

I don’t need your money, I don’t need your cash

I’m on the software that’s free for all

I’m on Linux bitch, I thought you GNU

I’m on Linux bitch, I thought you GNU I use Fedora, I’m not a Red Hat

I’m on Debian, I’m not a Ubuntu I’m on Mint, I’m not a Windows

I’m on Linux bitch, I’m not a Mac I’m on BSD, I’m not a Sun

I’m on Gentoo, I’m not a Fun I’m on Slackware, I’m not a Plan

I’m on Linux bitch, I’m not a PC I’m on Tux, I’m not a Ghost

I’m on Arch, I’m not a Post I’m on Suse, I’m not a Host

I’m on Linux bitch - I thought you GNU I’m on Linux bitch - I’m not a OS

I’m on Linux bitch - I’m not a GUI I’m on Linux bitch - I’m not a CPU

Praisin’ free software, I’m on Linux bitch

I thought you knew, all you other OSes is just a switch

I’m so elitist, I only use open source I’m too hardcore for your closed source

I’m on Linux bitch, I don’t need your money

I don’t need your help, I can do it all on my own

I’m so independent, I don’t need your GUI

I’m too hardcore for your windows

I’m on Linux bitch, I’m not like the others

I don’t need your support, I can figure it out myself

I’m so self-reliant, I don’t need your company

I’m too hardcore for your corporate

The Lyrics

For the final song I just took some lines that were good and went together and changed 7 lines (highlighted below) to make them rhyme or be coherent. No, like we saw in the last post, GPT-3 is not very good at humor, rhyming or puns.

Praisin’ free software, I’m on Linux bitch thought you gnu, other OSes just a switch

You think you’re so hardcore, when you’re using FOSS don’t know what you’re talking bout, ==SU-ing boss== I’m on Linux, bitch, — I thought you gnu Using this open source code to make my moves

You think you can download software and you’re all set? it don’t work like that, punk, now you in my debt

I’m on Linux, bitch, — I thought you gnu little fish big pond, ==change mode execute==

You think you can come at me son and I’ll just take it? You think you bring that package here and I won’t ==MAKE it?== I Ain’t no Windows whore, don’t need no support – need a file? Write a ==bubble sort==.

I’m on Linux bitch, I thought you gnu ain’t got no viruses, ain’t got no flu don’t need no windows trick, don’t need no Mac I’m running my system, your networks hacked

might think you’re safe, but you’re in for shock I’m coming for you hard, this ain’t a ==symlink soft==

I’m gonna take you down, gonna do it quick I’m on Linux bitch, now you ==git commit==

You’re a little fish in a big pond, and me? Ha - well I’m the Linux god

You might think you’re tough, but you’re nothing but a punk You might think you’re hard, but you’re nothing but a fraud You might think you’re root , but you’re nothing but a ==noob== I’m on Linux, bitch, you need to go to school

You might think you’re tough, but you’re nothing but a punk You might think you’re hard, but you’re nothing but a fraud You might think you’re root , but you’re nothing but a ==noob== I’m on Linux, bitch, you need to go to school

What Distro do you think Drake uses?

image-20220731203623296

UberDuck seems like a strange place. It is a pretty nice tool for how free and accessible it is. (If you know of something better or an alternative please leave a comment or send me a note) It looks like it’s pretty unpopulated and a glance at the models and discord servers suggest a lot of users are super young. Even the placeholder text for uploading your audio clip says, “Stop Posting About Among Us!” I wonder what the story is there.

image-20220731202607541

For Vocoding, I did some testing with the first clip to find the best Rapper vocoding and landed on Drake. 2Pac was a close 2nd, but I figured I would have to change the track’s tempo to match the instrumental track and I thought Drake’s voice would suit that better.

I recorded my speaking track to give the tool a sense of cadence, chopped them up into 15 second clips, and fed them into the tool along with that set of lyrics.

In Audacity, I just put the tracks in place end to end and moved them around a bit to match the beat better. I am certain this could have been done a lot better but I wanted to keep this short and learning that would be an entirely different effort level.

The Final Track

You can hear the final track here on Vocaro

This was a fun little project and I believe I could do better if I recorded a better reference track and ran the vocoded files through the vocoder again. This didn’t take much time at all so I will very likely try this again when a good idea comes up.

Here’s what DALL-E –which I now have access to– came up with for an album cover.

MidJourney had a different approach.


  1. I thought about generating the music with AI but haven’t found anything usable that would fit the bill there. I am not very proficient with music so royalty free beats will do fine for now. ↩︎

  2. I just spoke at the cadence I thought the song would make sense in. I could have tried to rap or sing it and I think that would produce better results. I also think multiple passes through the vocoder produced better results. That is not shown here but something I would look to do in future tests. ↩︎