Some music things we should have in makecode

Hey, @richard @jwunderl (and also pretty much any other makecode dev) The music system we have is pretty good right now, but I have a few things I’d like to see in makecode. If any of these are not possible with makecode’s sound system, that’s fine, but if they are, they are pretty much a must-have:

1. NOTE VELOCITIES

essentially, note velocities are the volume of a note. I’m thinking something similar to Ableton Live’s velocity system, like this:


These lines (marked with arrows) are adjustable, and the higher they are, the louder the note plays. The notes themselves also get darker/lighter depending on how high the velocity is.

2. REVERB AND DELAY

Reverb and delay are just basically filters, reverb makes it sound kind of echo-y and delay makes the note repeat itself and get quieter… not really sure how to explain them, so you should probably just look it up.

3. HIGH-PASS AND LOW-PASS FILTERS

High-pass filters let higher frequencies through and block lower frequencies more and more the lower they get. It makes it sound like it’s coming out of a phone speaker. Low-pass filter is the opposite: it lets lower frequencies through and blocks higher frequencies the higher they get. Low-pass sounds like hearing the song underwater.

4. MPE AUTOMATION

Another thing that could be similar to Ableton’s setup:


the bendy line there represents the pitch, so the note will slide around pitches in real time. This is probably the thing I’d like to have the most of all of these.

7 Likes

these would be nice to have, but there’s higher priority stuff I’d like to have added first, like being able to have multiple of the same instrument overlapping, and being able to make a pitch above and below the staff

  1. Theoretically very possible with the current sound system
  2. Reverb probably not but delay definitely possible with the current system
  3. Not possible with the current system
  4. Probably fairly simple in the current system

The main problem with any of these is that adding more information that every note needs to hold would balloon music file sizes. Not a super horrible issue but still not great for smaller devices, though honestly I don’t really see it ever being as big an issue as putting full screen image files in your game so it would probably be fine.

note velocities are in beta (i think) and the rest… well i dont know about the rest

1 Like

Oh I also forgot triplet grid and time signature!

Please make a triplet grid (it’s essentially a 1/3 note instead of a 1/4 note or an 1/8 note), and maybe some smaller variations (e.g. 1/6 note)?

Time Signatures would also be great, because it’s incredibly annoying to try to remember if the note I’m on is beat 3 or beat 5 in 6/8 time.

Also… maybe some things like accelerando and ritardando, and maybe even fermata…? Idk how these would work, maybe just another kind of note type or something where you can set the target tempo by a certain time? like you could take a note, drag it out to be a 1/4 note, and set the tempo at the end of it to 200 and the tempo at the start of it to 160? then it would take 1/4 note to speed up the right amount? Fermatas are probably trickier… you could have it similar to the sharps/flats system we have now, I guess. then you’d probably have a thin line to extend past the note, drag it out and it would hold that note for a bit longer… idk. The first 2 things I put in this post are definitely more important to me

2 Likes

At that point it’s probably worth it to write your music in an actual DAW or music notation software, export as MIDI, and use one of the various MIDI importers (disclaimer: i wrote some, but there are various ones made by other people)