{"id":22384672,"url":"https://github.com/ebolblga/ladies-irrational","last_synced_at":"2025-03-26T20:22:41.990Z","repository":{"id":162759876,"uuid":"483357289","full_name":"ebolblga/ladies-irrational","owner":"ebolblga","description":"“Hoes Mad” cover but there are all possible permutations of the catch phrase","archived":false,"fork":false,"pushed_at":"2025-02-22T15:28:17.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T16:27:44.222Z","etag":null,"topics":["cplusplus","shitpost","suno-ai"],"latest_commit_sha":null,"homepage":"https://youtu.be/ZHc1tSfek4A","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebolblga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-19T18:07:26.000Z","updated_at":"2025-02-22T16:23:21.000Z","dependencies_parsed_at":"2025-02-22T16:26:28.058Z","dependency_job_id":"ed4c1ef3-d1ae-4ef6-8a57-d9fb89b8eb67","html_url":"https://github.com/ebolblga/ladies-irrational","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebolblga%2Fladies-irrational","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebolblga%2Fladies-irrational/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebolblga%2Fladies-irrational/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebolblga%2Fladies-irrational/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebolblga","download_url":"https://codeload.github.com/ebolblga/ladies-irrational/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245728126,"owners_count":20662627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cplusplus","shitpost","suno-ai"],"created_at":"2024-12-05T01:18:48.633Z","updated_at":"2025-03-26T20:22:41.985Z","avatar_url":"https://github.com/ebolblga.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# “Hoes Mad” cover but there are all possible permutations of the catch phrase [shitpost]\n\n## Final result\n\n- YouTube: [Ladies Irrational - Famous Dex (feat. Suno) | AI Cover](https://youtu.be/ZHc1tSfek4A)\n- Odysee (decentralized video hosting platform built on the LBRY blockchain): [Ladies Irrational - Famous Dex (feat. Suno) | AI Cover](https://odysee.com/@ebolblga:5/ladies-irrational:0)\n\n## Chapter 1. Prelude.\n\nThis stupid idea came to us while we were day drinking and smoking cigarettes with my friends back in 2020. We were watching some meme compilation and remembered the existence of viral meme song Hoes Mad by Famous Dex from the 2016 album Dexter's Laboratory.\n\nWe though “this is too repetitive, wouldn’t it be nice to use synonyms for those words?”, so I pulled out C++, googled some synonyms and generated a list of all possible permutations of those two lists (`11 * 45 = 495 combinations`).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/82185066/164068435-5d605585-fe83-4b7f-ac9b-4e30ded218a0.png\" alt=\"Program output\"\u003e\n\u003c/p\u003e\n\nFull program output can be seen on the [Wiki page](https://github.com/ebolblga/Ladies-Irrational/wiki).\n\nNext step would have been somehow making a cover for the original song with newly generated lyrics, however none of us could sing (especially this gibberish mess of lyrics) and synthesizing voice at that time was mostly used as a joke and it definitely could not be used for making music.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/71919241-c02d-4455-bfc2-01ca5940283c\" alt=\"I'm limited by the technology of my time meme\"\u003e\n\u003c/p\u003e\n\n## Chapter 2. Generative AI boom.\n\n5 years later I was scrolling through my GitHub repos and came across this forbidden project. Obviously I realised that it is time, it is time to finish the shitpost. So I explored latest state-of-the-art models used for synthesizing someone's voice and singing with that voice. Keep in mind that I’m not a musician and this is my first and possibly last time generating a song, so take whatever I say with a grain of salt. But here is the pipeline I came up with for making something like this.\n\n### 2.1. Gathering assets\n\nI downloaded [original song](https://youtu.be/J6oTIjvw_-8) from YouTube and got its lyrics from [Genius](https://genius.com/Famous-dex-hoes-mad-lyrics). Next I modified my program to scramble list of permutations so they are not ordered.\n\nFamous Dex said “hoes mad” in that song exactly `77` times (not counting ad-libs in the background) so I had to narrow down my list quite a bit.\n\nJust in case I also used [Vocal Remover](https://vocalremover.org/) to separate vocals from music. It is free to use but has a daily quota. This got really handy in the future.\n\n### 2.2. Generating the song\n\nNext step would be generating the song, and there are multiple ways you can do it, I will talk about each one.\n\n#### 2.2.1. Plan A - best result\n\nThis way of making cover with different lyrics is way more complicated but gives you the best results in the end. Spoilers - I did not use it.\nYou can use this open source project [Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) to train a voice model of any person you want with a sample length of less than 10 minutes. Next you sing the song with your voice or hire some singer from [Fiverr](https://www.fiverr.com/gigs/commission) and later change the voice to the artist you need. This produces actually good results and you will have full control of how the songs gets sang, obviously because there is a human doing it.\n\n#### 2.2.2. Plan B - not free\n\nThere is a service called [Udio](https://www.udio.com/), using “extend song” feature may allow you to make covers for songs with original song singer, however recently they have hidden that feature behind a paywall.\n\n#### 2.2.3. Plan C - my approach\n\nI didn’t want to sing or pay someone else, so I came up with a different pipeline.\n\n[Suno](https://suno.com/) is quite similar to Udio, however extend song feature is available in the free plan, I uploaded 30 seconds of vocals from the original song, pasted in the lyrics with additional markers like: [Chorus], [Verse 1], [Verse 2] etc. and clicked extend song.\n\nIt generated its own music as well as vocals singing my lyrics, although with some hallucinations and noise. So I downloaded generated song, again used Vocal Removed to get vocals track and booted up [Audacity](https://www.audacityteam.org/) to compose final song. Cleaned it up a bit, cut it up with the original song and exported as 360kbps stereo MP3 file.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/25be0b5f-5e41-4510-a99b-2ebf45080048\" alt=\"Audacity viewport\"\u003e\n\u003c/p\u003e\n\n## Chapter 3. Conclusion.\n\nAs of today, it’s really easy to change voice in a song or even generate a new one, however when it comes to taking an existing song and just changing its lyrics it’s a pretty challenging task. I think the technology is not quite there yet but in a window of 5 years we will definitely have the solution.\n\nFinal result of my experiment is alright, although you can clearly hear when it’s generated voice and when it’s original voice, but as a quick shitpost - it works.\n\n## License\nThis program is licensed under the MIT License. Please read the License file to know about the usage terms and conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febolblga%2Fladies-irrational","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febolblga%2Fladies-irrational","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febolblga%2Fladies-irrational/lists"}