The n00b's way of making PC-x801 music >:D
BotB Academy Bulletins
 
 
76058
Level 25 Chipist
pedipanol
 
 
 
post #76058 :: 2017.01.03 7:49am :: edit 2017.01.04 1:50pm
  
  garvalf, Slimeball, JINTAKE, BubblegumOctopus, th4 D34D, Jimmyoshi, MiDoRi, themnotyou, 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.

convfmml

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
(original
)
YM2612
(original
)

•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 :)
 
 
76059
Level 23 Mixist
shinichi
 
 
 
post #76059 :: 2017.01.03 8:00am
  
  pigdevil2010, goluigi, Jimmyoshi, Dimeback, raphaelgoulart, MovieMovies1 and pedipanol liēkd this
  
  garvalf hæitd this
mml is the Only True Way
 
 
76062
Level 26 Mixist
A-zu-ra
 
 
 
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
 
 
76064
Level 25 Chipist
pedipanol
 
 
 
post #76064 :: 2017.01.03 10:25am
  
  goluigi and raphaelgoulart liēkd this
shhhh don't tell them
 
 
76067
Level 23 Pixelist
MiDoRi
 
 
 
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
 
 
76068
Level 28 Chipist
Jangler
 
 
 
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 :)
 
 
76070
Level 27 Chipist
raphaelgoulart
 
 
 
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?????????????????
 
 
76073
Level 23 Chipist
garvalf
 
 
 
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 (http://3ml.jp/download.html ) 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 ...).
 
 
76074
Level 25 Chipist
pedipanol
 
 
 
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
 
 
76076
Level 23 Chipist
garvalf
 
 
 
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.
 
 
76120
Level 21 Criticist
Xyz
 
 
 
 
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.
 
 
76121
Level 23 Pixelist
MiDoRi
 
 
 
post #76121 :: 2017.01.04 10:01am
  
  andres, raphaelgoulart and Jimmyoshi liēkd this
What if told you... I can't read sheet music?
:<
 
 
76129
Level 28 Chipist
BubblegumOctopus
 
 
 
post #76129 :: 2017.01.04 10:52am
  
  shinichi 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.
 
 
76142
Level 23 Chipist
garvalf
 
 
 
post #76142 :: 2017.01.04 2:10pm :: edit 2017.01.04 2:11pm
  
  sleeparrow and MiDoRi liēkd this
@Xyz:
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
 
 
76197
Level 21 Criticist
Xyz
 
 
 
 
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 https://s3.amazonaws.com/LivingPianos/emails/2015/11-19-15/double_01.png
So c1^c2^c4 could be written as c1..
 
 
76209
Level 23 Mixist
shinichi
 
 
 
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
 
 
76216
Level 25 Chipist
pedipanol
 
 
 
post #76216 :: 2017.01.05 7:48am
  
  garvalf and shinichi liēkd this
Yeah PMD uses %
 
 
76283
Level 23 Chipist
garvalf
 
 
 
post #76283 :: 2017.01.06 12:06pm
  
  shinichi liēkd this
thank you, good point, I'll try this!
 
 
76326
Level 28 Chipist
Jangler
 
 
 
post #76326 :: 2017.01.07 12:07pm
  
  HertzDevil, b00daw and pedipanol liēkd this
i should probably link this here since i used it for my entry: https://github.com/jangler/s3mml
 
 
76330
Level 27 Renderist
b00daw
 
 
 
 
post #76330 :: 2017.01.07 1:08pm
  
  Jangler liēkd this
n00b
 
 
87213
Level 25 Chipist
pedipanol
 
 
 
post #87213 :: 2017.07.03 10:44am
  
  ovrthrustr, 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 :)
https://github.com/raphaelgoulart/opm2pmd/
 
 

LOGIN or REGISTER to add your own comments!