# Music with stems you can edit

> Make instrumentals with drums, bass, chords and melody as separate layers. Change one layer by asking and hear it at once while the rest plays on.

Most AI music comes as one mixed track. In Shawarma every song is made of layers: drums, bass, chords, melody. Each one has a name.

Ask for a change to one layer, and only that layer changes. Turn layers off, add new ones, and export the versions you need.

All four layers

drums, bass, chords and melody

- **drums**
- **bass**
- **chords**
- **melody**

[Open this song in Shawarma](https://shawarma.studio/open?example=made-stems-all)

## Then, one layer at a time

- Drums and bass only: the same song, two layers: You asked“only the drums and the bass”: [Make it yours](https://shawarma.studio/open?example=made-stems-rhythm)
- A new bass: the other layers stay the same: You asked“make the bass busier, a synth bass”: [Make it yours](https://shawarma.studio/open?example=made-stems-bass)

## Then ask for *changes*

Once your song plays, type what it needs. It changes while it plays, and you keep only what you like.

- You only the drums and the bass
- You make the bass busier
- You add a layer of strings
- You take the melody out of the first eight bars
- You make the chords play on every beat

## Why layers matter

- Fix one thing: The bass is too busy? Change the bass. The drums, chords and melody stay as they were.
- Versions for every use: Keep a full mix, a version without the melody and one with drums only. Every version is saved.
- See how it is made: Each layer is a few lines of code with its own name. Open it, or leave it to the assistant.

**See the code of “All four layers”**

```
setcpm(26) // 104 BPM, E minor, four layers

const drums = s("bd ~ ~ bd ~ ~ sd ~, [~ hh]*4, ~ ~ ~ ~ ~ ~ ~ oh").gain(.38)
const bass = note("<[e2 ~ e2 g2] [a1 ~ a1 c2] [d2 ~ d2 f#2] [g1 ~ g1 b1]>").s("gm_electric_bass_finger").gain(.45)
const chords = note("<[e3,g3,b3,d4] [a2,c3,e3,g3] [d3,f#3,a3,c4] [g2,b2,d3,f#3]>")
  .s("gm_epiano1").struct("~ x ~ x").gain(.3)
const melody = note("<[b4 ~ d5 e5] [~ e5 d5 b4] [a4 ~ c5 d5] [~ ~ b4 ~]>").s("vibraphone").gain(.24).delay(.2)

stack(drums, bass, chords, melody)
```

## Questions

**What is a stem?**

One layer of a song on its own, like the drums or the bass. Here every song is made of named layers from the start, so nothing has to be split out afterwards.

**Can I export the layers on their own?**

Yes. Ask for a version with only the layers you want, then export it. Pro exports WAV and MP3.

**Do I need to know how to code?**

No. Ask for changes in plain words. The code is there when you want to look.

## Make a song in layers

A groove is already typed in. Change the words, or press the button.

Free. No sign-up for your first song.

Have an account? [Continue with Google](https://shawarma.studio/auth/google)

By continuing you agree to the [Terms](https://shawarma.studio/terms) and the [Privacy policy](https://shawarma.studio/privacy).

---

The page: https://shawarma.studio/make/music-with-stems
