Music Sequencer for MakeCode Arcade

So I was working on my project in blocks the other day and noticed a new tool in the music toolbox. It allowed me to play songs I could create in a music sequencer that was also added to the asset library. The sequencer looked very similar to a familiar 16-bit paint program’s sequencer and used icons of ducks, cars and computers etc to represent instruments. It worked really well.

However…

After I saved and came back later, my entire project crashed and would not save, export or simulate. I eventually managed to revert to an earlier state (lost some other work in the process) but the music player was gone. No longer in the toolbox, no longer in the assets. I’ve noticed a few commits on https://github.com/microsoft/pxt-common-packages talking about a sequencer but no notes in the commits as to why it was added and reverted.

Is there any explanation for this? The sequencer was great and allowed for detailed, polyphonic background music to be easily created. Is there a timeline for it being added back?

Thanks

2 Likes

sorry about this! we had to temporarily remove the song editor while we were releasing multiplayer to the live site because the music sequencer is not quite ready for prime time yet. it’ll be back up in a bit!

glad you like it though! and yes, it was heavily inspired by mario paint

2 Likes

Sorry for the inconvenience.

Just word of caution. Expect /beta to be cutting edge and might be broken often. We ship daily to /beta without comprehensive testing and don’t guarantee backward compat. Only live site has full backward compat testing done.

However, we do love our /beta testers. You are the one who give us all the valuable early user feedback. Thank you for that.

1 Like

I have no idea how I even accessed the beta. Hopefully it goes live soon because it was a platform making addition for me.

2 Likes

i think you just add the arcade.makecode.com and put the /beta in the end like this arcade.makecode.com/beta then boom beta mode I like the new Updates @MakeCode =)

@ignatio it will be back on Monday! I’ve already merged the fix but we’re keeping beta pinned to and old version for the rest of this week for some internal testing that we’re running

2 Likes

Sorry for the noob question, but where can I find this music sequencer based on mario paint and with icons representing instruments etc.?

I only see the basic music editor in live and beta…

@Vegz78 it’s currently gone, but will be back in beta on Monday once our testing is over. Hopefully it will be released to the live site in January.

We’re still iterating on the design. Which is to say, the current design is just something that I put together and our designers haven’t had a chance to make it look nice yet :slight_smile:

2 Likes

here’s a video of @jwunderl and I demoing it on stream: https://www.youtube.com/watch?v=Tqs-m0RhoUM

2 Likes

Ok, thanks! I misunderstood and thought it was not in live, but still in beta.

Just tested it now in beta and it looks and works very well!

A future feature, in some background menu without ruining the intuitive and child-friendly interface, to maybe import and edit soundwaves, which then could be transposed on the scale like a piano or appointed to different notes like for drums, might be an idea? -Most seem to be there already with the sound editor, but I could not figure out how to put a custom made sound to use in the new beta music editor/sequencer.

Great work!

Here’s what I was using it for when I opened the thread:

It’s a game for my five year old son who learned what a sprite is while helping me make it.
A to jump, B to attack with your sword.

3 Likes

Interesting, was looking for some good MakeCode Arcade music, but got “Variable ‘mySprite’ is never assigned” when I tried to open this, @ignatio;
https://arcade.makecode.com/beta#pub:S15375-68597-71201-33328

1 Like

Your (and my) link opens fine for me, maybe because it is beta and the share link doesn’t reflect that? I never get that error.

^ opens and plays in simulator for me.

2 Likes

Nice!

Worked on Windows, but not on my Mac, strange. -Both Opera browser.

Anyways, good and scary sounding music and sound effects!

I’m guessing it was released to the main website, because now I can use it!

@Brohann yup!

Nice work and thanks, @MakeCode team and @richard! -With the new music sequencer/editor, music is starting to sound like music and it has a nice interface!

However, I played a little around with this in beta, just before you released this just now, and I just could not figure out how to segment out a song into different parts/entities which could run consecutively with different number of repetitions etc., like:
A = Intro/Outro
B = verse part
C = chorus part

And then seamlessly put together the whole song like e.g.: A, Bx3, Cx3, Bx2, Cx3, A

In beta it was called music.startSong(asset etc.), if I remember correctly, now it’s become music.play() together with music.createSong(asset etc.), but it seems that they spin out playing somehow in their own separate threads/fibers, which is good since it does not halt or affect the rest of the execution.

But I cannot figure out how to start the next song segment/asset just as the previous has finished, or repeat segments/assets, to put together a whole song from small repeated parts, running in the background of and not interrupting the rest of the game/program.

How, for instance, to check if a song object exists or is playing, or wait until it has stopped?

I tried without major success using pauseUntil() together with making new sequencer objects etc. as copied from some underlying .ts file startSong() function, but that quickly got too complicated.

What am I missing/not understanding about this here?

1 Like