# \[Extension\] arcade-custom-instruments

**URL:** https://forum.makecode.com/t/extension-arcade-custom-instruments/41662
**Category:** Show & Tell
**Tags:** extension
**Created:** [January 21, 2026, 11:54pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662 "2026-01-21T23:54:10Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [January 21, 2026, 11:54pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/1 "2026-01-21T23:54:10Z")

</div>

Hey folks!

Today’s extension comes courtesy of a request by @not_a_lemon!

> **[GitHub - riknoll/arcade-custom-instruments: A MakeCode Arcade extension for customizing the...](https://github.com/riknoll/arcade-custom-instruments)**
>
> A MakeCode Arcade extension for customizing the instruments in songs

This extension allows you to change the builtin instruments from the music editor in a song! You can customize any of the **melodic** instruments in the music editor. That includes the dog, duck, cat, fish, car, computer, burger, cherries, or lemon! Drums cannot be customized (maybe one day)

## How to use:

1. Add [riknoll/arcade-custom-instruments](https://github.com/riknoll/arcade-custom-instruments) to your project
2. Wrap your song inside the “make song writable” block like so:  
 ![arcade-screenshot (2)](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/8/7/87db13d0d63181ae82f97514cb43c331fccbca25.png)
3. Use the other blocks to change the sounds for the instruments in your song:  
 ![arcade-screenshot (3)](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/e/9/e9e969ecbaf9cd02c6d32f01e12a25718cd2f1cc.png)
4. You did it!

Here’s that demo project: [https://makecode.com/\_ct4d4JA7KYm5](https://makecode.com/_ct4d4JA7KYm5)

## Known bugs

Tremolo and vibrato currently do not work as expected. This is due to a bug in MakeCode, which [I’ve already made a bug fix for](https://github.com/microsoft/pxt/pull/11061). Once that fix is released, they’ll work as expected!

---

<div class="post-metadata">

### Author: ![king\_bob](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/king_bob/32/35049_2.png) [@king\_bob](https://forum.makecode.com/u/king_bob)
#### Post date: [January 22, 2026, 12:03am UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/2 "2026-01-22T00:03:01Z")

</div>

this will be awesome to make music with.

---

<div class="post-metadata">

### Author: ![redSprite](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/redsprite/32/34262_2.png) [@redSprite](https://forum.makecode.com/u/redSprite)
#### Post date: [January 22, 2026, 12:03am UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/3 "2026-01-22T00:03:04Z")

</div>

Seeing an extension in the default color is quite cursed.

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [January 22, 2026, 12:23am UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/4 "2026-01-22T00:23:59Z")

</div>

the green color nah I managed to troll someone by setting the side bar color to the color of the side bar they never realized

---

<div class="post-metadata">

### Author: ![not\_a\_lemon](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/not_a_lemon/32/35289_2.png) [@not\_a\_lemon](https://forum.makecode.com/u/not_a_lemon)
#### Post date: [January 22, 2026, 12:54am UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/5 "2026-01-22T00:54:57Z")

</div>

YAAAAAAY TYSM TYSM TYSM!!!

---

<div class="post-metadata">

### Author: ![not\_a\_lemon](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/not_a_lemon/32/35289_2.png) [@not\_a\_lemon](https://forum.makecode.com/u/not_a_lemon)
#### Post date: [January 22, 2026, 5:25pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/6 "2026-01-22T17:25:25Z")

</div>

Using this extension I’m trying to make a single function that changes the instrument; is there any way to have a song as a function input?

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [January 22, 2026, 5:26pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/7 "2026-01-22T17:26:39Z")

</div>

there is a hacky way to do it, add an “Array” input and then pass your song inside an array with one element

---

<div class="post-metadata">

### Author: ![Awesomefreez](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/awesomefreez/32/24832_2.png) [@Awesomefreez](https://forum.makecode.com/u/Awesomefreez)
#### Post date: [January 22, 2026, 7:40pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/8 "2026-01-22T19:40:19Z")

</div>

Next stop mp3 files

---

<div class="post-metadata">

### Author: ![redSprite](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/redsprite/32/34262_2.png) [@redSprite](https://forum.makecode.com/u/redSprite)
#### Post date: [January 22, 2026, 10:10pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/9 "2026-01-22T22:10:17Z")

</div>

Songs are a type of array?

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [January 22, 2026, 10:11pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/10 "2026-01-22T22:11:47Z")

</div>

no you put the song in the array

---

<div class="post-metadata">

### Author: ![BLADEr](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/blader/32/16422_2.png) [@BLADEr](https://forum.makecode.com/u/BLADEr)
#### Post date: [January 23, 2026, 3:34am UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/11 "2026-01-23T03:34:42Z")

</div>

Thank you so much for doing this!

---

<div class="post-metadata">

### Author: ![Astro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/astro/32/35479_2.png) [@Astro](https://forum.makecode.com/u/Astro)
#### Post date: [January 23, 2026, 5:20pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/12 "2026-01-23T17:20:53Z")

</div>

Time for my 50% Duty wave

---

<div class="post-metadata">

### Author: ![RoboVacDev](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/robovacdev/32/29619_2.png) [@RoboVacDev](https://forum.makecode.com/u/RoboVacDev)
#### Post date: [January 23, 2026, 7:53pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/13 "2026-01-23T19:53:34Z")

</div>

Yo this is awesome

---

<div class="post-metadata">

### Author: ![RoboVacDev](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/robovacdev/32/29619_2.png) [@RoboVacDev](https://forum.makecode.com/u/RoboVacDev)
#### Post date: [January 31, 2026, 5:40pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/14 "2026-01-31T17:40:29Z")

</div>

Look what I made with this extension so far!

> **[test](https://arcade.makecode.com/S57415-69305-73575-49374)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

For some reason though, a block from the volume section freezes my screen…

---

<div class="post-metadata">

### Author: ![not\_a\_lemon](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/not_a_lemon/32/35289_2.png) [@not\_a\_lemon](https://forum.makecode.com/u/not_a_lemon)
#### Post date: [February 26, 2026, 6:59pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/15 "2026-02-26T18:59:36Z")

</div>

Hey @richard can you please add a volume control for the drums instrument, too? it’s really weird to have the drums at volume 100 and the rest of the song at 25.

---

<div class="post-metadata">

### Author: ![RoboVacDev](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/robovacdev/32/29619_2.png) [@RoboVacDev](https://forum.makecode.com/u/RoboVacDev)
#### Post date: [February 26, 2026, 11:09pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/16 "2026-02-26T23:09:12Z")

</div>

Hey @richard i think there’s a bug in the volume section. Whenever I add it into the editor, it mysteriously freezes my screen.

---

<div class="post-metadata">

### Author: ![not\_a\_lemon](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/not_a_lemon/32/35289_2.png) [@not\_a\_lemon](https://forum.makecode.com/u/not_a_lemon)
#### Post date: [September 21, 2026, 10:04pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/17 "2026-09-21T22:04:27Z")

</div>

@richard why can’t I use negative numbers in the pitch envelope amount block? when I use anything less than or equal to -1 the pitch goes way too high

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [September 21, 2026, 10:46pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/18 "2026-09-21T22:46:19Z")

</div>

@not_a_lemon the song format allows for positive values only!

the reason it goes high is because the value that’s assigned is treated as an unsigned integer. -1 reads as a very high number when converted to an unsigned number (see [two’s complement](https://en.wikipedia.org/wiki/Two%27s_complement))

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [September 22, 2026, 3:20am UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/19 "2026-09-22T03:20:40Z")

</div>

who is two and why are they complimenting me?/j

---

<div class="post-metadata">

### Author: ![Astro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/astro/32/35479_2.png) [@Astro](https://forum.makecode.com/u/Astro)
#### Post date: [September 22, 2026, 5:18pm UTC](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662/20 "2026-09-22T17:18:35Z")

</div>

Unsigned? Like the Arduino??? (I jest)

[Next page](https://forum.makecode.com/t/extension-arcade-custom-instruments/41662.md?page=2)
