This seems like a pretty awesome idea! There is a standard notation for this that used to be used for ringtones. You might wanna figure out how to parse that.
Sure, but not as music! And how will you define the complexities of music in just letters? MIDI is designed as a super simple representation of this and there’s a javax library just for it
This is going to, basically, play songs using playSound. It will probably use noteblock sounds, so it’ll be awfully limited but that’s just how it’s gonna be.
Also note that I’m going to have to implement around 175 sounds.
short note: a
long note: a…
longer note: a… or a::
4 short notes: aaaa
pause: -
long pause: –
a sample song would look like this:
a…bbc…t.h–j…
This way it could be played through noteblocks (if theres a noteblock API). MIDI is far more advanced, yes. But somehow i like the simplicity of noteblocks and monophonic melodies.
While MIDI is a great standardized format for music I don’t know how easy it would be to convert that to playsounds and make it sound nice. Midi is a complex format that can have many layers and idk how well MIDI would work when trying to convert to more simplified playsound music. This is why I recommended the nokia format as it is a fairly standardized format for simple music.
What about using BSON or a Base64 encoded binary string in JSON/Hocon?
Of course this makes it more complicated to create songs on a text-file basis, but it would make the files smaller, and you don’t need to think of humans when creating the file format.
IVVPP (e.g. G25A2): Instrument, Volume, Pitch (e.g. Bass Guitar, Volume = 25/99, A in the 2nd octave)
PTT: Pause (TT ticks)
Then every tick one note would be played, and there could be multiple tracks in a file (e.g. BSON array)
Then you could make a (web?) application which lets you create songs with an easy interface, which would drastically increase the number of songs for your plugin…