Page 1 of 1

EchoMML (MML for Echo)

Posted: Fri Nov 18, 2016 4:29 pm
by Sik
Hey, for those who ever cared about making music using MML:
https://github.com/sikthehedgehog/mdtoo ... er/mml2esf

Didn't bother with a README yet even though it just boils down to mml2esf «input.mml» «output.esf» (like most of the tools there). I included a file detailing the specifics of this MML variant though (I should make some MML tutorial too I guess). The music in Miniplanets is written using this MML variant, if you want any examples (not exactly the prettiest though).

I warn you ahead of time that if you ever had dealt with whatever MML variant Yuzo Koshiro used, that the channel order is not the same (e.g. EchoMML just uses ABCDEF for the FM channels while that other variant used ABCGHI, I think?)

Re: EchoMML (MML for Echo)

Posted: Sun Nov 20, 2016 11:50 pm
by KanedaFr
just a question : why this ?
was your midi2esf not enough ? not easy enough perhaps ?

Re: EchoMML (MML for Echo)

Posted: Mon Nov 21, 2016 9:34 am
by Sik
Why not?

Also I had started working on this when a friend who used MML in other platforms said she'd try the Mega Drive only if she could use MML too (・・ ) And I can't find any usable MIDI editor on Linux either (ーー;) (is there really nothing like e.g. Anvil Studio? seriously?) Maybe the Japanese guys may want to use it too since MML is a much bigger deal over there.

The ideal thing would be to just make a proper tracker that lets you listen to everything in real time as you edit it. Oh well.

EDIT: and MIDI is harder to mess around than you'd think (especially with midi2esf handling it in a broken way, the MIDI parser needs a good rewrite in that sense).

Re: EchoMML (MML for Echo)

Posted: Thu Nov 24, 2016 8:29 am
by BigEvilCorporation
This brings back warm memories. I had a C64 program that parsed MML, spent weeks messing around with it.

What does this do with volume/pitch slides? Does it bake new notes into the output?

Re: EchoMML (MML for Echo)

Posted: Fri Dec 02, 2016 4:09 pm
by Sik
BigEvilCorporation wrote:What does this do with volume/pitch slides? Does it bake new notes into the output?
I need to implement pitch slides yet x.X (gotta figure out how to parse them, and if groups like [...] or {...} can cross lines) but it spawns new events accordingly (they would not be note on though, only actual notes do that!).