Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > FamiTracker Talk > MML? Owner: 8BitItalianS New post
Page 1 of 1 Sort:  
MML? Posted: 2011-11-28 01:34  (Last Edited: 2011-11-28 01:35) Reply | Quote
8BitItalianS

Avatar

Member for: 4121 days
Location: Nowhere Ville
Status: Offline

#26672
Hey guys.

I've been rather interested lately in the creation of NSFs with MML files.

It seems like a much harder way to create music than with Famitracker, and much more complicated.

However, I was wondering how to read an MML for use with Famitracker, like reading the instruments, and patterns.

Many thanks.

Posted: 2011-11-28 01:48 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4982 days
Location: Canada
Status: Offline

#26673
Basically you have to understand the language itself, and manually decipher each command. As you know, Famitracker regroups volume, arp, pitch and duty all into a single container called an 'instrument'; MML keeps those things independent from each other, as there is no 'instrument' command per se.

[url=http://www.shauninman.com/assets/downloads/ppmck_guide.html]This is the reference I used when I first tried to learn the MML language. It's been pretty useful, but now you even have the luxury of having tonnes of [url=http://www.mmlshare.com/tracks/]great examples available online for reference.

Basically, here are the most frequently found commands for 2a03 (as well as other chips), other than the notes themselves of course:
@# = static duty cycle (the values correspond to Vxx in FT, i.e. @0 = V00, etc.)
@@# = calls a predefined duty cycle envelope (look for it in the macro definition section, usually below the header). Duty envelopes are defined using @#, but are called within a track using @@#.
v## = static volume
@v## = calls a predefined volume envelope (again, look below the header)
D## = detune (works differently than Pxx: D1 = P81 and D-1 = P7F).
EN## = calls a predefined arp macro. Arp macros are relative, rather than absolute (like they are in FT), so be wary.
ENOF = stops a previously activated arp macrp
EP## = calls a pitch macro.
EPOF = stops pitch macros
MP## = calls a vibrato macro.
MPOF = stops a previously activated vibrato macro.

Let me know if you have further questions!

_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
Page 1 of 1 Sort: