Reshaping the Style of a Song with AI: Happy Birthday to Mazurka
April 20, 2026Camel Tech Teamaistrudelclaudeworkflowtutorial

Reshaping the Style of a Song with AI: Happy Birthday to Mazurka

With AI, even if you can't play an instrument and don't know music theory, you can arrange a song to your taste just by telling the AI to "make it sound like ___."

As an example, here's a record of how I took the universally familiar "Happy Birthday" and transformed its style through a conversation with Claude. The starting point is a plain Happy Birthday in C major for solo piano. Through dialogue with the AI alone, it ends up reshaped into a Chopin-like mazurka.

Starting Point — A Plain C Major

First, place the piece in StrudelHub's live-coding environment. Here we write the source code for "Happy Birthday." In this example, the melody and chords are each consolidated into a single line.

let Piano_v1 = note("<[[g4@3 g4]@2 a4@2 g4@2] [c5@2 b4@4] ...>")
let Piano_v5 = note("<[~@2 [c3,e3,g3]@4] ...>")

$: stack(Piano_v1, Piano_v5)

Naturally, when played, you hear the bright, straightforward Happy Birthday everyone knows.

Step 1 — Into the Minor

Let's change the mood of the original.

I tell Claude: "Make this minor."

Claude promptly returns a version transposed into C minor.

let Piano_v1_min = note("<...ab4...bb4...eb5...>")
let Piano_v5_min = note("<...[c3,eb3,g3]...[f3,ab3,c4]...>")

All it took was lowering the 3rd (e→eb), 6th (a→ab), and 7th (b→bb) by a semitone. And just like that, the once-cheerful Happy Birthday turns suddenly melancholic. Same melody, same chord progression — yet the entire color of the sound flips inside out.

Step 2 — Into a Mazurka

Next, I say: "Now make the chords mazurka-style."

The mazurka is a Polish folk dance, famously elevated by Chopin in many of his works. It's in 3/4 time like the waltz, but the crucial difference is that the accent falls on beat 2. Claude restructures the chords from solid blocks into a "bass - chord - chord" three-beat pattern and varies the velocity beat by beat.

let Mazurka_chords = note("<[c2 [c3,eb3,g3] [c3,eb3,g3]] ...>")
  .velocity("0.45 0.95 0.6".slow(0.75))
//          ↑    ↑    ↑
//        beat1 beat2 beat3
//              ★strongest★

Just by adjusting velocity per beat, the same chords now start to dance. The strong stamp on beat 2 alone is enough to transform what had felt like a funeral march into the foot-stomping rhythm of a country celebration.

Wrap-up — Style Shifts Through Dialogue

The plain "Happy Birthday" written at the start became:

  • "Into the minor" → a melancholic song
  • "Into a mazurka" → a Polish folk dance

In just two exchanges, it had moved into entirely different styles.

What I said amounted to nothing more than "make it minor" and "make it a mazurka" — one phrase each. Claude translated those phrases into concrete operations like "lower the 3rd, 6th, and 7th degrees" and "place the accent on beat 2," and folded them into the code. As long as you know the name of a style, the AI will draw out what it actually means.

Even without being able to play an instrument or grasp the theory yourself, music shifts simply by saying "I want it to sound like ___." This is a new kind of experience — composing through conversation.

The sample is available here, so please try it out: https://strudelhub.com/explore/485e9512-b6ea-4ab1-b30d-968792c9a36a