60835
Level 30 Chipist
Savestate
post #60835 ::
2015.11.03 1:39pm :: edit 2017.02.05 11:35am
IronFairy, Carajeej, Dimeback, Jangler, StrangerInSweden, Flaminglog, JINTAKE, Bitfox, mk7, MovieMovies1, b00daw, rainwarrior, null1024, DBOYD, YobaHere, anewuser, goluigi, cce, HertzDevil, DalekSam, Razerek, ap0c, gotoandplay, MisaelK and pedipanol liēkd this
IronFairy, Carajeej, Dimeback, Jangler, StrangerInSweden, Flaminglog, JINTAKE, Bitfox, mk7, MovieMovies1, b00daw, rainwarrior, null1024, DBOYD, YobaHere, anewuser, goluigi, cce, HertzDevil, DalekSam, Razerek, ap0c, gotoandplay, MisaelK and pedipanol liēkd this
FTM2GBMC
Make Gameboy Music in FamiTracker!
Hey there BotBrs! I finally got around to remaking my previous software that converted FamiTracker music from a text export to Gameboy music, this time much more functional than last time. Instead of using the somewhat flaky and complicated xpmck, I'm using GBMC (Gameboy Music Compiler) as the MML format I'm converting to. Now given that this is a fairly new software, (and my n00b programming skillz) it's not fully featured, and has a few strange quirks which I will try my best to explain.
Current version -> 0.1.5 : http://savestate.info/upload/FTM2GBMC-0.1.5.jar
Older versions:
0.1.4 -> http://savestate.info/upload/FTM2GBMC-0.1.4.jar
0.1.3 -> http://savestate.info/upload/FTM2GBMC-0.1.3.jar
0.1.2 -> http://savestate.info/upload/FTM2GBMC-0.1.2.jar
0.1.1 -> http://savestate.info/upload/FTM2GBMC-0.1.1.jar
0.1.0 -> http://savestate.info/upload/FTM2GBMC.jar
To run @ command line: java -jar FTM2GBMC.jar
(it asks for file names after you run it)
This will output an MML file that you should compile with GBMC which can be found here: http://www.geocities.jp/submarine600/html/sounddriver.html
Supported effects:
Pulse 1 & 2:
Axx
Vxx
Qxx
Rxx
Pxx
Triangle:
Qxx
Rxx
Pxx
Noise:
Axx
Special Effect Wxx:
Since DPCM isn't used in Gameboy music, Wxx is used as the loop point instead of Bxx (Dxx isn't supported at all currently...) but feel free to use Bxx along with Wxx since unsupported commands are skipped altogether. Also, you'll need to use Wxx on each channel at the point you want to loop it. (changing the xx in Wxx does nothing)
Axx:
Ok so the way Axx works in GBMC is it retriggers each note, even if you don't set a volume paramater on each note... so you need to keep that in mind when designing the song.
C-3 00 A A02
D#3 00 - ---
G-3 00 - ---
C-3 00 - ---
D#3 00 - ---
G-3 00 - ---
C-3 00 - ---
D#3 00 - ---
G-3 00 - ---
C-3 00 - ---
... is the same as ...
C-3 00 A A02
D#3 00 A ---
G-3 00 A ---
C-3 00 A ---
D#3 00 A ---
G-3 00 A ---
C-3 00 A ---
D#3 00 A ---
G-3 00 A ---
C-3 00 A ---
... so you'll probably want to do something like ...
C-3 00 A ---
D#3 00 - ---
G-3 00 9 ---
C-3 00 - ---
D#3 00 8 ---
G-3 00 - ---
C-3 00 7 ---
D#3 00 - ---
G-3 00 6 ---
C-3 00 - ---
Vxx:
Works as expected
Qxx / Rxx:
Ok, so GBMC's pitch slide isn't based on a speed, it's based on a set note length, so pitch slide will take the entire length from when the slide was called to the next note. A way around this is to put down the note you're sliding to shortly after the slide that is called.
e.g.
B-3 00 F Q41
... .. . ...
... .. . ...
... .. . ...
D#4 00 . ...
... .. . ...
... .. . ...
... .. . ...
G-4 00 . ...
... .. . ...
--- .. . ...
... .. . ...
A-4 00 . Q41
... .. . ...
=== .. . ...
... .. . ...
would be changed to
B-3 00 F Q41
... .. . ...
C-3 00 . ...
... .. . ...
D#4 00 . ...
... .. . ...
... .. . ...
... .. . ...
G-4 00 . ...
... .. . ...
--- .. . ...
... .. . ...
A-4 00 . Q41
... .. . ...
A#4 00 . ...
=== .. . ...
Pxx:
Works as expected
Jxx: (as of 0.1.3)
PSG Channel Enable!
Refer to the post above in this thread
Hxx: (as of 0.1.4)
Hardware Channel Volume!
Refer to the post above in this thread
----------------------------------
Macros
Listed macros work along with release points and loop points.
Volume macros work! ... but I highly suggest not using them unless you like the sound of hardware resets all up in your square waves.
Arp macros do not work because GBMC does not support arp macros. It does however support inline arps (0xx), a goal to implement in the future.
Pitch & Duty macros work fully and without flaw!
Note off ( --- ) and note release ( === ) work!
----------------------------------
Triangle wave? Why not Namco channel 1?
Yeah I'm dumb, expect this to be changed in a future release.
Feel free to modify the MML to your liking though in the meantime (sorry I suck)
----------------------------------
Please let me know if you run into trouble with this!
Make Gameboy Music in FamiTracker!
Hey there BotBrs! I finally got around to remaking my previous software that converted FamiTracker music from a text export to Gameboy music, this time much more functional than last time. Instead of using the somewhat flaky and complicated xpmck, I'm using GBMC (Gameboy Music Compiler) as the MML format I'm converting to. Now given that this is a fairly new software, (and my n00b programming skillz) it's not fully featured, and has a few strange quirks which I will try my best to explain.
Current version -> 0.1.5 : http://savestate.info/upload/FTM2GBMC-0.1.5.jar
Older versions:
0.1.4 -> http://savestate.info/upload/FTM2GBMC-0.1.4.jar
0.1.3 -> http://savestate.info/upload/FTM2GBMC-0.1.3.jar
0.1.2 -> http://savestate.info/upload/FTM2GBMC-0.1.2.jar
0.1.1 -> http://savestate.info/upload/FTM2GBMC-0.1.1.jar
0.1.0 -> http://savestate.info/upload/FTM2GBMC.jar
To run @ command line: java -jar FTM2GBMC.jar
(it asks for file names after you run it)
This will output an MML file that you should compile with GBMC which can be found here: http://www.geocities.jp/submarine600/html/sounddriver.html
Supported effects:
Pulse 1 & 2:
Axx
Vxx
Qxx
Rxx
Pxx
Triangle:
Qxx
Rxx
Pxx
Noise:
Axx
Special Effect Wxx:
Since DPCM isn't used in Gameboy music, Wxx is used as the loop point instead of Bxx (Dxx isn't supported at all currently...) but feel free to use Bxx along with Wxx since unsupported commands are skipped altogether. Also, you'll need to use Wxx on each channel at the point you want to loop it. (changing the xx in Wxx does nothing)
Axx:
Ok so the way Axx works in GBMC is it retriggers each note, even if you don't set a volume paramater on each note... so you need to keep that in mind when designing the song.
C-3 00 A A02
D#3 00 - ---
G-3 00 - ---
C-3 00 - ---
D#3 00 - ---
G-3 00 - ---
C-3 00 - ---
D#3 00 - ---
G-3 00 - ---
C-3 00 - ---
... is the same as ...
C-3 00 A A02
D#3 00 A ---
G-3 00 A ---
C-3 00 A ---
D#3 00 A ---
G-3 00 A ---
C-3 00 A ---
D#3 00 A ---
G-3 00 A ---
C-3 00 A ---
... so you'll probably want to do something like ...
C-3 00 A ---
D#3 00 - ---
G-3 00 9 ---
C-3 00 - ---
D#3 00 8 ---
G-3 00 - ---
C-3 00 7 ---
D#3 00 - ---
G-3 00 6 ---
C-3 00 - ---
Vxx:
Works as expected
Qxx / Rxx:
Ok, so GBMC's pitch slide isn't based on a speed, it's based on a set note length, so pitch slide will take the entire length from when the slide was called to the next note. A way around this is to put down the note you're sliding to shortly after the slide that is called.
e.g.
B-3 00 F Q41
... .. . ...
... .. . ...
... .. . ...
D#4 00 . ...
... .. . ...
... .. . ...
... .. . ...
G-4 00 . ...
... .. . ...
--- .. . ...
... .. . ...
A-4 00 . Q41
... .. . ...
=== .. . ...
... .. . ...
would be changed to
B-3 00 F Q41
... .. . ...
C-3 00 . ...
... .. . ...
D#4 00 . ...
... .. . ...
... .. . ...
... .. . ...
G-4 00 . ...
... .. . ...
--- .. . ...
... .. . ...
A-4 00 . Q41
... .. . ...
A#4 00 . ...
=== .. . ...
Pxx:
Works as expected
Jxx: (as of 0.1.3)
PSG Channel Enable!
Refer to the post above in this thread
Hxx: (as of 0.1.4)
Hardware Channel Volume!
Refer to the post above in this thread
----------------------------------
Macros
Listed macros work along with release points and loop points.
Volume macros work! ... but I highly suggest not using them unless you like the sound of hardware resets all up in your square waves.
Arp macros do not work because GBMC does not support arp macros. It does however support inline arps (0xx), a goal to implement in the future.
Pitch & Duty macros work fully and without flaw!
Note off ( --- ) and note release ( === ) work!
----------------------------------
Triangle wave? Why not Namco channel 1?
Yeah I'm dumb, expect this to be changed in a future release.
Feel free to modify the MML to your liking though in the meantime (sorry I suck)
----------------------------------
Please let me know if you run into trouble with this!