AI Music: How I Actually Make It
Let me clear something up before we go any further: I write the lyrics.
Not AI. Me. Every word, every line, every chorus in eleven albums across Vitrium and Cenere — written by a person, sitting at a desk, chasing a feeling. AI helps me smooth things out, adjust the phrasing, roast me when something isn’t working, and handle the languages I don’t speak fluently (which is most of them — I dabble in Italian and Japanese at most, I couldn’t write or converse in Korean, Mandarin, or Japanese at any functional level). But the origin of every lyric is human. That seems important to say clearly, because I know people assume otherwise.
With that on the table, let me walk you through how this actually works.
Two Kinds of Songs
Not all songs get made the same way, and the first decision is always: what is this song for?
There are story-bearing songs — songs that either drive a narrative beat or exist because a specific moment in a character’s arc demanded them. And there are album songs — tracks that set the emotional tone of an era, build out a world, fill the sound of a chapter without being tied to a single scene.
Future Tense is a story-bearing song. Kitt is proposing in Chapter 2. That moment needed a song, and the song was written for it — specific, intentional, shaped around what he’s trying to say and what it costs him to say it out loud.
Wish Me Awake is an album song — the anthem track for World After Midnight, meant to capture the emotional register of that whole era rather than any single moment inside it.
The process for both starts the same way: a feeling. A vibe. Something I’m trying to get at. And then I write toward it.
The Lyric Process
Feeling first. Then I write the lyrics — in English usually, with placeholder spaces where the alternate language sections will live. Once I have a draft I’m happy with, I bring in AI to polish and adjust. Different LLMs give different results, so I tend to rotate between a few tools to find the best output for a specific voice or mood.
The non-English sections go through a translation pass before anything gets generated — if there are Korean or Japanese or Italian lines in there, I run them through a translator to make sure the linguistics are actually right and not just plausible-sounding nonsense. After eleven albums I can recognise correct Italian at least. That’s something.
Kaiwen’s songs write themselves. I don’t know how else to put it — the energy of who he is just flows into lyrics naturally, and the model I use for him tends to nail it on the first or second pass. Riku’s Visual Kei songs are also surprisingly cooperative, and Kitt — whose biggest secret is that he has an extraordinary range — is third easiest on the list once I’ve figured out how to communicate that range to a generator that wants to put him in a single box.
Jaeon and Renzo are hard. Jaeon less so, because once I’ve got the model set his falsetto is something I can work with — but the moment I want him leading with the others in a full group arrangement, all bets are off. Renzo isn’t difficult in terms of voice. The voice I can get. What’s difficult is the tone — that bittersweet pang that’s supposed to live in 99% of his songs, the feeling of something beautiful that’s already hurting you. That’s the thing the generator can’t be told directly. It has to be coaxed.
The Generation Process
I use Mureka.ai as my primary tool, with Suno as a secondary depending on who’s singing. The two platforms have different strengths and different models, and sometimes a specific character’s voice just sits better in one than the other. I’ve upped my subscription on both to give myself more room to experiment, because prompting for music is as finicky as prompting for visuals — the wrong word in a music prompt and suddenly the entire vibe pivots somewhere you didn’t intend. I’ve learned this the hard way, multiple times, on multiple albums.
Trial and error is the honest description of the process. A lot of trial. A lot of error. And occasionally a first or second pass that’s so right it’s a little startling.
Cenere: A Different Beast Entirely
When I started building Cenere — Naomi, Mireya, and Allegra — I was very clear with myself about one thing: this is not Vitrium with women. They have their own sound, their own voices, their own emotional register. The project needed to stand on its own terms.
Getting there was harder than expected.
The Italian-Spanish language split between the girls was a genuine challenge early on — I could not get the generators to reliably differentiate between the two in the way I needed. Eventually I made a creative decision that became canon: Mireya and Allegra riff off each other and alternate between the languages fluidly, because their voices and heritages are close enough that the interplay makes sense. It solved the technical problem and it also turned out to be true to who they are. Sometimes the workaround is the right answer.
Allegra is the most technically demanding to generate. She has what’s called a soprano sfogato — a dramatic soprano with extraordinary agility, a full four-octave range that moves between crystalline soprano and alto registers with ease. Trying to communicate that to an AI music generator is approximately as follows: “She’s a soprano, but—” “Great, soprano it is.” “No, but she can also—” “Soprano.” We’ve reached an understanding.
Mireya is the most fun. Full Latina fire, take-it-or-leave-it energy, the kind of voice that knows exactly what it is. The generator responds to that clarity.
Naomi is ice water — precise, controlled, and deeply tricky to get right for exactly the same reasons Renzo is tricky. What she’s communicating lives underneath the surface. You have to coax it out of the model rather than direct it there.
The Duets (And Why They Matter)
Before we get to the end of the year, the duets between Renzo and Allegra are going to become very important. Consider this your foreshadowing.
There are three: You Were Almost Home from Edge of Everything, Stay Still When It Hurts from Ash Between Us, and Through the Looking Glass from Glass City.
What the in-world Vitrals and Cenerians see: a power couple. Two people who should obviously be together. The fan shipping is intense and not entirely wrong about the chemistry.
What the people inside both groups see: two people with significant unresolved issues, using each other to work through them.
The ironic reality — and this is the part I love most about these songs — is that they’re not actually about each other. They’re about individual grief and longing that has nothing to do with the person standing next to them in the studio. They’re singing at each other and singing about someone else entirely. The songs work because the emotion is real. The emotion just isn’t aimed where the audience thinks it is.
That’s the story Glass in My Mouth is building toward for Renzo in Chapter 2. I’ll say no more. You’ve been warned.
Eleven albums in. More coming. The process is messy and iterative and occasionally maddening and I wouldn’t trade it.
— Tae