# Piano Synthesia

**URL:** https://forum.makecode.com/t/piano-synthesia/22138
**Category:** Show & Tell
**Tags:** music, art, demo
**Created:** [August 29, 2023, 10:28pm UTC](https://forum.makecode.com/t/piano-synthesia/22138 "2023-08-29T22:28:25Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)
#### Post date: [August 29, 2023, 10:28pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/1 "2023-08-29T22:28:25Z")

</div>

I’ve been working on a piano synthesia for MakeCode Arcade songs, similar to @AqeeAqee’s [karaoke](https://forum.makecode.com/t/karaoke/22038). (In fact, I copied a _lot_ of code from them. Thanks @AqeeAqee!)

Here are some demo songs that I had lying around which I’ve converted with my [MIDI to Arcade Song converter](https://forum.makecode.com/t/new-song-format/17763/11). (self promotion 😁)

> **[Étude S. 1413 in G♯ Minor (La Campanella) – Liszt piano synthesia](https://arcade.makecode.com/54065-35615-50021-51878)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Friend Like Me - Disney's Aladdin piano synthesia](https://arcade.makecode.com/29943-67280-78285-76595)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Land of Yesterday - Anastasia piano synthesia](https://arcade.makecode.com/91711-54492-90468-73329)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Never Gonna Give You Up - Rick Astley piano synthesia](https://arcade.makecode.com/36751-04263-18396-40790)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Paris Holds the Key to Your Heart - Anastasia piano synthesia](https://arcade.makecode.com/68723-20468-65332-14994)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Sonata No. 11 K. 331 3rd Movement (Rondo alla Turca) - Mozart piano synthesia](https://arcade.makecode.com/65743-06645-88792-36083)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Sonate No. 14 3rd Movement (Moonlight Sonata) - Beethoven piano synthesia](https://arcade.makecode.com/20947-41198-59115-96901)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

> **[Yoru ni Kakeru (Racing into the Night) - YOASOBI piano synthesia](https://arcade.makecode.com/08349-55613-70668-53687)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

Controls:

- A to pause and resume
- Left/right to seek
- Up/down to “zoom”

If you want to create your own, just open the project in JavaScript and change out the variables at the top of the file. (Obviously `songHex`, but there are more variables you can change to customize the look!)

> Warning: I’ve had keyboard and mouse problems while editing these projects in Chrome and derivatives - if your keyboard locks up, you have to close all the tabs to fix it. I’ve been editing them in Firefox and opening the project in Chrome to listen to them, since Firefox doesn’t seem to be affected by the keyboard problem. 💀 💀 💀

It is recommended that you play these songs in any browser that isn’t Firefox, because they play super slowly in Firefox. (Unfortunately, Chrome and derivatives also don’t play at [full speed](https://github.com/microsoft/pxt-arcade/issues/6054), but close enough.)

---

<div class="post-metadata">

### Author: ![Luke](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/luke/32/32519_2.png) [@Luke](https://forum.makecode.com/u/Luke)
#### Post date: [August 29, 2023, 11:28pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/2 "2023-08-29T23:28:55Z")

</div>

Woah this is really cool

---

<div class="post-metadata">

### Author: ![randomuser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/randomuser/32/32505_2.png) [@randomuser](https://forum.makecode.com/u/randomuser)
#### Post date: [August 30, 2023, 12:07am UTC](https://forum.makecode.com/t/piano-synthesia/22138/3 "2023-08-30T00:07:20Z")

</div>

SICK!! 😃

---

<div class="post-metadata">

### Author: ![Maketendo](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/maketendo/32/27571_2.png) [@Maketendo](https://forum.makecode.com/u/Maketendo)
#### Post date: [August 30, 2023, 4:20pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/4 "2023-08-30T16:20:22Z")

</div>

Nice! 😄

---

<div class="post-metadata">

### Author: ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)
#### Post date: [August 30, 2023, 4:30pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/5 "2023-08-30T16:30:22Z")

</div>

Awesome! Never gonna give you up sounds like some sort of dramatic anime ending theme now, love it!

---

<div class="post-metadata">

### Author: ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)
#### Post date: [August 30, 2023, 4:30pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/6 "2023-08-30T16:30:24Z")

</div>

I was just listening to Yoru ni Kakeru as I was scrolling through the forum XD

---

<div class="post-metadata">

### Author: ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)
#### Post date: [August 30, 2023, 4:30pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/7 "2023-08-30T16:30:25Z")

</div>

OMG I JUST NOTICED THE BACKGROUND ON IT. so beautiful

---

<div class="post-metadata">

### Author: ![Mega0star01](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/mega0star01/32/14784_2.png) [@Mega0star01](https://forum.makecode.com/u/Mega0star01)
#### Post date: [August 30, 2023, 4:30pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/8 "2023-08-30T16:30:27Z")

</div>

amazing

---

<div class="post-metadata">

### Author: ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)
#### Post date: [September 7, 2023, 9:34pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/9 "2023-09-07T21:34:59Z")

</div>

Another one:

> **[Graceful Ghost Rag - William Bolcom piano synthesia](https://arcade.makecode.com/13596-73399-44913-93553)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

### Author: ![Mega0star01](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/mega0star01/32/14784_2.png) [@Mega0star01](https://forum.makecode.com/u/Mega0star01)
#### Post date: [September 8, 2023, 9:54pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/10 "2023-09-08T21:54:10Z")

</div>

amazing.

---

<div class="post-metadata">

### Author: ![Brohann](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/brohann/32/17380_2.png) [@Brohann](https://forum.makecode.com/u/Brohann)
#### Post date: [September 9, 2023, 5:40pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/11 "2023-09-09T17:40:22Z")

</div>

For the next one it would be cool if you could do the donkey kong country main theme

---

<div class="post-metadata">

### Author: ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)
#### Post date: [September 11, 2023, 5:45pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/12 "2023-09-11T17:45:11Z")

</div>

Unfortunately, I don’t have a MIDI file for that. If you do, you could try to use the converter yourself and then paste in the song into the template.

---

<div class="post-metadata">

### Author: ![Brohann](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/brohann/32/17380_2.png) [@Brohann](https://forum.makecode.com/u/Brohann)
#### Post date: [September 11, 2023, 9:46pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/13 "2023-09-11T21:46:16Z")

</div>

I tried doing that but ended up with a bunch of errors lol

---

<div class="post-metadata">

### Author: ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)
#### Post date: [September 12, 2023, 4:46pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/14 "2023-09-12T16:46:31Z")

</div>

1. Download and install Python. - done
2. Clone this repo. -nani?
3. Install all the requirements in requirements.txt - 何ですか

---

<div class="post-metadata">

### Author: ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)
#### Post date: [September 12, 2023, 4:46pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/15 "2023-09-12T16:46:39Z")

</div>

How long do you think I can make the songs 💀

Yomi Yori Kikoyu Kokoku No Hi Yo Honoo No Shoju - imperial Circus Dead Decadence

about 8 mins long xd  
How do i get an MIDI for the song?

---

<div class="post-metadata">

### Author: ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)
#### Post date: [September 12, 2023, 4:52pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/16 "2023-09-12T16:52:02Z")

</div>

Can you link the file? I would like to see why ther eare errors.

---

<div class="post-metadata">

### Author: ![Brohann](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/brohann/32/17380_2.png) [@Brohann](https://forum.makecode.com/u/Brohann)
#### Post date: [September 12, 2023, 8:45pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/17 "2023-09-12T20:45:49Z")

</div>

I do not think it was an issue with the converter, it was just my lack of CLI knowledge. The error was something like "cannot find module ‘src’ "

---

<div class="post-metadata">

### Author: ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)
#### Post date: [September 12, 2023, 8:49pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/18 "2023-09-12T20:49:32Z")

</div>

There is a limit since the maximum number of measures is 255. I’ve implemented the `--divisor` parameters which halves the speed and note times, but there is a limit to it as well.

> [@Dreadmask197](#):
>
> How do i get an MIDI for the song?

Yea, you’re on your own for that part. Sorry this tool doesn’t help. 😕

You could try writing the song in a music score editor and exporting it as a MIDI file. But you said it’s 8 minutes, which would probably take a long time to write.

---

<div class="post-metadata">

### Author: ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)
#### Post date: [September 12, 2023, 8:49pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/19 "2023-09-12T20:49:57Z")

</div>

This is what you basically need to do:

```plaintext
git clone https://github.com/UnsignedArduino/Arcade-MIDI-to-Song
cd Arcade-MIDI-to-Song
pip install -r requirements.txt

```

For help afterward: (you can also view the README)

```plaintext
python src/main.py -h

```

---

<div class="post-metadata">

### Author: ![Brohann](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/brohann/32/17380_2.png) [@Brohann](https://forum.makecode.com/u/Brohann)
#### Post date: [September 25, 2023, 5:06pm UTC](https://forum.makecode.com/t/piano-synthesia/22138/20 "2023-09-25T17:06:06Z")

</div>

I figured it out

> **[Donkey Kong Country theme](https://arcade.makecode.com/S06019-18995-89660-24866)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

[Next page](https://forum.makecode.com/t/piano-synthesia/22138.md?page=2)
