The n00b's way of making PC-x801 music >:D
BotB Academy Bulletins
Level 23 Chipist
post #76058 :: 2017.01.03 7:49am :: edit 2017.01.04 1:50pm
  garvalf, Slimeball, JINTAKE, Dezolis, BubblegumOctopus, th4 D34D, Jimmyoshi, MiDoRi, themnotyou, charlotte, MovieMovies1, raphaelgoulart, puke7, plrusek and Dimeback liēkd this
Well, I've already talked about this with a few botbrs, but I'm posting this so it gets more visibility.

Since discussion on making PC-x801 music always ends up in things like "TRACKERS R TEH BEST, MML SUCKZ" (which I kinda understand, since when I see even my own MML codes
I get confused as fuck, and I really wish there was a tracker for its soundchips), I've been searching for a few days and found 2 tools that might help people who are interested making songs for this format and are too lazy to learn properly MML.


It's a tool that converts MIDI files to FMP and PMD-compatible MML. Compared to all the other midi to mml tools I've seen until now, this one is the best. It only output the notes and some commands like panning, volume and instrument changes, so you need some knowledge in PMD for things like creating the header and the instruments (but you can find this info easily on the lyceum or somewhere else in the internet). But well, its already useful since the notes are most likely to be outputted correctly. Here's a demo
made with my alt's Commodore Trilogy VIC20 entry (different pitch because MOD2VIC), which uses only the SSG.

S98 Player

It's a program designed originally to play OPN and OPNA S98 and VGM files on a PC-88. But it also supports chips like the YM2612 and AY-3-8910/YM2419. While it's (almost) perfect for the OPN/OPNA files [it can't play ADPCM properly] it has more limitations for those other soundchips:
•The VGM file can't be over 128kb. If it is, only the part before it hits 128kb will play. VGZ files will glitch the player.
•It's most likely that the songs will be in a different pitch (because of clock speed and synth frequencies, probably). Some demos: AY

•Due to the limitations above, don't even think about YM2612+SN76489
(sorry @charlotte) (this also shows what happens if you use PCM)
It outputs a .d88 file, which is the floppy disk format for the PC88. Open it in an emulator (M88 recommended) to listen to it.

Basically it's shitty, why would you try it anyway? While those tools imo aren't really the best thing ever (coding PMD MML yourself is>:D), I don't want to feel like I'm hiding those from you and really wish there were more PC-x801 entries (come on, it has an amazing soundchip
). So if you're really lazy or have any reason to not learn MML, I'm just letting you know that they are an option. (btw since I didn't make them, I can only answer what I've experimented, so don't kill me if I can't answer some doubts)

For those brave enough to learn it, I'm writing a beginner's tutorial myself, and I hope I finish it before the submission time ends (there are some tutorials out there, like NoyemiK's
and Mana Kazami's
but I feel those are not very much noob friendly [edit: seems like it was just an impression of mine, noyemi's tutorial is actually noob friendly]). And you can always PM me for help :)
Level 23 Mixist
post #76059 :: 2017.01.03 8:00am
  pigdevil2010, goluigi, Jimmyoshi, Dezolis, Dimeback, raphaelgoulart, MovieMovies1 and pedipanol liēkd this
  garvalf hæitd this
mml is the Only True Way
Level 25 Mixist
post #76062 :: 2017.01.03 9:55am
  raphaelgoulart, Jimmyoshi, RazerBlue6, ap0c, MiDoRi and pedipanol liēkd this
If I were to get into non-video game programming...visual MML would probably be one of my first major projects to embark on :o
Level 8 Chipist
post #76063 :: 2017.01.03 10:23am :: edit 2017.01.03 10:25am
  pigdevil2010, Slimeball and HertzDevil liēkd this
  raphaelgoulart, Xyz, Jimmyoshi, MovieMovies1, A-zu-ra and pedipanol hæitd this
You're not supposed to give this to noobs wtf, now the format isn't special anymore

Admit it, You're just scared of MovieMovies1 and NoyemiK scoring higher than You, so to possibly lay a stone in their way You opened this thread >=)
Level 23 Chipist
post #76064 :: 2017.01.03 10:25am
  goluigi, raphaelgoulart and Dezolis liēkd this
shhhh don't tell them
Level 8 Chipist
post #76065 :: 2017.01.03 10:28am :: edit 2017.01.03 10:51am
  RazerBlue6, Modus Ponens and Jimmyoshi liēkd this
  sleeparrow, Slimeball, Jangler, raphaelgoulart and pedipanol hæitd this
>haeits post
>answers calmly

edit: stop the haeit You sneaky fuck >:C i was only making jokes!!!
Level 20 Pixelist
post #76067 :: 2017.01.03 11:08am :: edit 2017.01.03 11:36am
  sleeparrow, Jimmyoshi and pedipanol liēkd this
U qt when u argue guys

EDIT: Holy fucc, this thing
Pedipanol linked is awesome <3
Level 27 Chipist
post #76068 :: 2017.01.03 11:53am
  goluigi, Savestate, MiDoRi, raphaelgoulart, shinichi and pedipanol liēkd this
fwiw i have a half-baked adlib s3m -> pmd mml converter going, but i don't actually know anyone else who writes adlib s3ms :)
Level 25 Chipist
post #76070 :: 2017.01.03 12:23pm
  MiDoRi, Post-retro and pedipanol liēkd this
^ i've used openmpt to write a .s3m that adlib tracker could open, on which i just edited in the fm patches...does that count?????????????????
Level 21 Chipist
post #76073 :: 2017.01.03 12:52pm :: edit 2017.01.03 12:57pm
  HertzDevil, MovieMovies1 and shinichi hæitd this
I found NoyemiK's tutorial very informative and quite noob friendly, it helped me much to start with PC-x801.

Otherwise I find MML indigest, there is no way I'd learn how to type into this , when we can have superior notation format such as the ABC notation.
The only good thing in MML is the way instruments are designed (I like to use code in this kind on thing). In fact the only bad thing in MML is the horrible, illogicial musical notation.

Anyway, I found 3ML ( ) pretty good for converting from midi to MML. Just export tracks individually using the "Mabinogi MML format", and uncheck the "optimize MML" option. (remove the MML@ before the notes).

You can also use deflemask for designing the instruments (in DefleMask: A=ar ; D = dr ; S = sl ; MULT = ml ; R= RR ...).
Level 23 Chipist
post #76074 :: 2017.01.03 1:14pm :: edit 2017.01.03 1:32pm
  MiDoRi, ap0c, garvalf and shinichi liēkd this
Hmmm about Noyemi's guide, well, that might be just me, then, ok.

3ML editor is a good MML visualizer but to me that's all. It's kinda limited when it comes to writing the MML itself. But well, the basic commands works so it could be useful for the n00bs.
Its MIDI to MML importer is kinda dumb, when I tried some midis it missed some rest informations which ended up in a fucked up loop, and got some note lengths wrong.

Also, I'd recommend using VOPM rather than Deflemask for instrument editing, since it's really easy
to convert OPM instruments to the PMD format
Level 21 Chipist
post #76076 :: 2017.01.03 2:04pm
  pedipanol liēkd this
yeah, good idea for VOPM, I'll try that.
About 3ML so far the conversion from midi was very faithful for me, but maybe it's because my tunes are kinda simple? I've tried convfmml but it doesn't seem to work with Wine on Linux for me... I'll try it maybe in a virtual machine.
Level 18 Criticist
post #76120 :: 2017.01.04 9:12am
  pedipanol and shinichi liēkd this
What about mml notation is illogical or hard to follow?
For me it feels very similar to sightreading sheetmusic.
Level 20 Pixelist
post #76121 :: 2017.01.04 10:01am
  andres, raphaelgoulart and Jimmyoshi liēkd this
What if told you... I can't read sheet music?
Level 22 Chipist
post #76129 :: 2017.01.04 10:52am
  shinichi, Dezolis and pedipanol liēkd this
Super relevant to my interests, thank you pedipanol!

That said, I'm kinda sold on learning MML after seeing that impressive chip list and seeing who is using it on here.
Level 21 Chipist
post #76142 :: 2017.01.04 2:10pm :: edit 2017.01.04 2:11pm
  sleeparrow and MiDoRi liēkd this
For me the most illogical part is you double the value in MML to halve the note length. In ABC notation it's the opposite (like in sheet music notation). The main advantage (beside the fact it follows the natural notation) is you can count the note to check if your mesure is complete or note, for example:
g2 + a + b + c4 = 8
d2 + e2 + f4 = 8

What I find hard to follow is the octave shift with the > and <. After a few shift you don't really know the height of a given note. You can only read from beginning to the end, you can't just read the note in your head from the middle of a partition for example. But it's ok for a computer parser.

But I understand the MML notation is old, and it can't be perfect. There have been some awesome tunes made thanks to it!

What I find cool in a MML source code:
- It's easy to switch or mute channels (just change a letter in the definitions or comment some lines)
- it's easy to cut and paste an instrument (from an other tune) and modify it
- for the same reason, you can change the base octave of a part without problem.
- you can compare/diff files and use a versionning system
Level 8 Chipist
post #76163 :: 2017.01.04 5:03pm :: edit 2017.01.04 5:36pm
  Slimeball liēkd this
  pedipanol and Jangler hæitd this
Please excuse the inconveniences =O
Level 18 Criticist
post #76197 :: 2017.01.05 12:57am
  garvalf, Jangler, shinichi and pedipanol liēkd this
oh, that can be addressed if you use frame length which many mml dialects have. Like MGSDRV/ppMCK would have:
g#32 a#16 b#16 c#64 = 96 frames which is what in a tracker would be for one 16 row measure at speed 6.
Don't know if PMD has an equivalent command.

But the normal mml notation should be thought of like sheet music where c4 doesn't mean 4 counts, but rather, a quarter note. 1/4 of a measure. Where d4 + e4 + f2 = 1/4 + 1/4 + 1/2 = 1 measure.

Regarding < and >, if you get lost in counting all your octave shifts then you can also directly reset it using o3 or o4 etc. This concept of "base octave" isn't really a thing. You can set it whenever!

Bonus lesson: sheet music dot notation also works
So c1^c2^c4 could be written as c1..
Level 23 Mixist
post #76209 :: 2017.01.05 7:36am
  garvalf and pedipanol liēkd this
frame notation in mxdrv is % rather than #, since pmd is v similar i would imagine it's probably the same
Level 23 Chipist
post #76216 :: 2017.01.05 7:48am
  garvalf and shinichi liēkd this
Yeah PMD uses %
Level 21 Chipist
post #76283 :: 2017.01.06 12:06pm
  shinichi liēkd this
thank you, good point, I'll try this!
Level 27 Chipist
post #76326 :: 2017.01.07 12:07pm
  HertzDevil, b00daw, pedipanol and charlotte liēkd this
i should probably link this here since i used it for my entry:
Level 26 Renderist
post #76330 :: 2017.01.07 1:08pm
  Jangler liēkd this
Level 23 Chipist
post #87213 :: 2017.07.03 10:44am
  RazerBlue6, ViLXDRYAD, Jimmyoshi, garvalf, Dimeback and raphaelgoulart liēkd this
Just bumping because it's related to my post saying that it's simple to convert OPM to PMD
@raphaelgoulart wrote a proper converter :)

LOGIN or REGISTER to add your own comments!