TFM Music Maker

Talk about development tools here

Moderator: BigEvilCorporation

Post Reply
User avatar
KanedaFr
Administrateur
Posts: 1110
Joined: Tue Aug 29, 2006 10:56 am
Contact:

TFM Music Maker

Post by KanedaFr » Wed Apr 04, 2007 10:23 pm

Hello, a friend send me his first TFM Music Maker release...
for the one who read KMod doc, you'll understand why I added a new format to my ym2612 instrument dump...

here his message:
----------------------------------------------
I released my tracker. You can get it here:
http://www.nedopc.com/TURBOSOUND/TFMMAK ... aker10.rar

Feel free to share it with SMD community.

Because documentation is available only in russian, I brief some info here:

Hotkeys for any mode:

Ctrl+O - open module
Ctrl+S - save module
F5 - play module from start
F6 - play module from current order-list position
F8 - play current pattern in loop
Escape - stop playing
Shift+Escape - reset FM device

Hotkeys for order-list editor:

0..9 - enter pattern number
Backspace - delete last digit of pattern number
L - set loop position
Insert - insert pattern with same number as in current position
Shift+Insert - insert new pattern with copy of content of current pattern
Ctrl+Insert - insert new empty pattern
Delete - delete current position
Up, Down - inc/dec pattern number in current position
Ctrl+Up, Ctrl+Down, Enter - switch to pattern editor

Hotkeys for pattern editor:

~ - increment autostep
Ctrl+~ - decrement autostep
Ctrl+0..9 - set autostep to 0..9
Up, Down, Left, Right - move cursor
Page Up, Page Down - move cursor up/down by some lines (16 by default, can
be changed in 'Editor' sheet)
Ctrl+Page Up, Ctrl+Page Down - change current position in order-list without
switching to order-list
Home - move cursor to first line of current pattern
End - move cursor to last line of current pattern
Numpad 1..8 - change current octave
Backspace - delete note in current channel, next notes moves up
Ctrl+Backspace - delete notes in all channels
Insert - insert empty note in current channel, next notes moves down
Ctrl+Insert - insert empty notes in all channels
Enter - hold to play track from current position
Ctrl+Enter - hold to play current pattern in loop, from current position
Delete - delete value from current cursor position
Ctrl+Space - clear whole channel field (note, instrument, volume, effect)
Ctrl+Delete - delete line
Shift+Up/Down/Left/Right - select block for block operations
Ctrl+X - cut block
Ctrl+C - copy block
Ctrl+V - paste block
Ctrl+D - delete block
Ctrl+U - unselect all
Ctrl+Up - switch to order-list editor


Effects:

0xy - arpeggio. MOD-like, but works from current note to next new note or to
effect 0ff
1xx - slide up (xx measured in 32th of semitone per frame)
2xx - slide down
3xx - portamento to note
4xy - vibrato (x=speed, y=depth)
8xx - operator #0 TL change (xx is direct value 00..7f, can be used at any
time)
9xx - operator #1 TL change
Axy - volume slide (non-zero x for slide up, y for slide down)
Cxx - operator #2 TL change
Dxx - operator #3 TL change
E0x - operator #0 MULT change (x is direct value 0..f, can be used at any
time)
E1x - operator #1 MULT change
E2x - operator #2 MULT change
E3x - operator #3 MULT change
EE0 - cancel of all TL/MULT/Feedback modification, can be used only with new
note
EFx - feedback (operator #0) change, can be used only with new note
Fxy - speed change. x, y measured in frames; x is speed for 'even' lines, y
for 'odds'; effect F0x sets interleaving of even/odds lines; effect F00 set
speed parameters from global speed settings


For SMD, just don't use SSG-EG values other than default.

Note that VGM exporter works not stable (can export OK, but sometimes
exports with errors). I'll fix it in later versions. I also plan to adapt
player code to SMD (it's not included in editor, because compiler is
external tool).

Fonzie
Genny lover
Posts: 323
Joined: Tue Aug 29, 2006 11:17 am
Contact:

Post by Fonzie » Wed Apr 04, 2007 10:57 pm

O_o bravo!
Great instrument editor too :)
If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).

Shiro seems to be a tracker master (there are several tracks included in the .rar)... Well, each track sounds great :D


Wow :D héhé, now there is one reason less to don't make music on megadrive :D

Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru » Sat Apr 07, 2007 3:47 am

Some additional information.

First, I'll explain what is TFM (TurboSound FM), and why this tracker can be used to compose SMD music.

TFM is a new hobbyist sound board developed by russian ZX Spectrum enthusiasts (ZX scene is still alive here) for ZX Spectrum-compatible home computers. It uses two YM2203 chips (OPN, each chip has 3 FM channels). TFM Music Maker was written by me to support this device.

YM2612 chip, which used in SMD, is a one of next soundchips in same line (OPN2). So, features of FM synth in YM2203 and YM2612 is quite similar. Main differences: YM2203 has no DAC mode (so no PCM samples), no LFO, no stereo pan, but has SSG-EG feature, which can loop operators envelopes (YM2612 does not have this feature).

TFM Music Maker can be used to compose SMD music if you keep in mind difference between TFM and YM2612 - mainly in part of SSG-EG. Just don't use this feature in instruments for SMD music, and music will play identical both on TFM and SMD. TFM tracks which uses SSG-EG can sounds differ on SMD, especially in drum instruments, because SSG-EG is useful for creation of noise and drums sounds.
If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).
At this time - yes, it has export in native *.TFD format (GYM/VGM-like) and *.VGM. These formats are just register dump, like you said.

Dumps in TFD format is used for external 'compiler' tool (written by Alone Coder, not me), which removes repeating values from register dump, and packs data stream by LZ-like algorithm. Compiled tracks size is ~10KB. For example, my 'topgun' cover compiles into ~7KB. Compiler tool is not included into tracker package, and Z80 player is available only for ZX. I plan to adapt player for SMD's Z80 later.

User avatar
Stef
Very interested
Posts: 2627
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Sat Apr 07, 2007 8:37 pm

Shiru wrote:Some additional information.

First, I'll explain what is TFM (TurboSound FM), and why this tracker can be used to compose SMD music.

TFM is a new hobbyist sound board developed by russian ZX Spectrum enthusiasts (ZX scene is still alive here) for ZX Spectrum-compatible home computers. It uses two YM2203 chips (OPN, each chip has 3 FM channels). TFM Music Maker was written by me to support this device.

YM2612 chip, which used in SMD, is a one of next soundchips in same line (OPN2). So, features of FM synth in YM2203 and YM2612 is quite similar. Main differences: YM2203 has no DAC mode (so no PCM samples), no LFO, no stereo pan, but has SSG-EG feature, which can loop operators envelopes (YM2612 does not have this feature).

TFM Music Maker can be used to compose SMD music if you keep in mind difference between TFM and YM2612 - mainly in part of SSG-EG. Just don't use this feature in instruments for SMD music, and music will play identical both on TFM and SMD. TFM tracks which uses SSG-EG can sounds differ on SMD, especially in drum instruments, because SSG-EG is useful for creation of noise and drums sounds.
If i understand correctly, it just export as a sort of gym format? (big filesize, register dump each frame).
At this time - yes, it has export in native *.TFD format (GYM/VGM-like) and *.VGM. These formats are just register dump, like you said.

Dumps in TFD format is used for external 'compiler' tool (written by Alone Coder, not me), which removes repeating values from register dump, and packs data stream by LZ-like algorithm. Compiled tracks size is ~10KB. For example, my 'topgun' cover compiles into ~7KB. Compiler tool is not included into tracker package, and Z80 player is available only for ZX. I plan to adapt player for SMD's Z80 later.
It's cool to have a new sound editor tool for the sega Genesis, that was missing. We have the MVS Tracker tool but it seems somewhat limited (4 channels only ?). I'll test it immediatly !

By the way, the YM2612 has SSG-EG env support, it was my last addition to my YM2612 emulator but it's *very rarely* used on the sega genesis. As far i know only 1 sega megadrive game use it. As soon i implemented it in Gens, the music in this game was fixed :) Maybe SSG-EG support is different on YM2612 but i assure you it affects music sound.

Edit : TFM rocks, your music rocks, thanks a ton Shiru :) That'll help a lot the sega genesis devers community !

Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru » Sun Apr 08, 2007 12:04 am

Stef wrote:By the way, the YM2612 has SSG-EG env support, it was my last addition to my YM2612 emulator but it's *very rarely* used on the sega genesis. As far i know only 1 sega megadrive game use it.
Do you sure about it, did you check it on real hardware?

I'm almost sure because all available docs about YM2612 does not contain information about registers #90..#9E (meanwhile datasheet for YM2203 has such information), and all YM2612 emulators does not have SSG-EG support, including one from MAME (there one code used for all OPN line emulation, and SSG-EG support enabled only for YM2203). Additionally, YM2203 has SSG part (YM2149F compatible, i.e. 3 FM + 3 PSG channels per chip), and YM2612 does not. I assume that SSG part and SSG-EG can be somehow connected in hardware implementation.

Which game uses SSG-EG on SMD? Can you record sound from this game from real console (to compare how it affect to sound)?

TascoDLX
Very interested
Posts: 246
Joined: Tue Feb 06, 2007 8:18 pm

Post by TascoDLX » Sun Apr 08, 2007 4:54 am

Shiru wrote:Which game uses SSG-EG on SMD?
Asterix and Bubba N Stix use it quite a bit. Shining Force 2 uses it to a lesser degree but doesn't have the handy sound test feature.

Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru » Sun Apr 08, 2007 6:26 am

Ok, can you point to exact bgm's in these games, which uses SSG-EG? Then I'll test it on TFM (we already have converter/player for GYM's), to determine, is that feature works same way as on YM2203.

I see there is SSG-EG enabling option in new versions of Gens32. I tried to switch it on/off in games listed above, and that make no difference.

TascoDLX
Very interested
Posts: 246
Joined: Tue Feb 06, 2007 8:18 pm

Post by TascoDLX » Sun Apr 08, 2007 10:15 am

It's used in nearly all of the BGM. Try Asterix BGM 02 and Bubba N Stix BGM 05.

You may want to focus on the sound fx. I ran through them with GensKMod and each of the following fx set the register on at least one operator (on channel 6):

Asterix SFX 2, 3, 4, 5, 6, 9, 23, 24, 34, 37, 38, 46, 47, 48, 49, 51, 52, 53, 55, 62, 63

Bubba N Stix SFX 2, 8, 9, 10, 15, 16, 32, 34, 36, 37, 52, 53, 54, 55, 56, 57, 69, 70, 74, 76, 77, 79, 89, 90, 92, 93, 100, 101, 114, 115, 124, 125

BTW, along with Asterix and Bubba N Stix, Skeleton Krew does the same. All three have music and sound fx (and driver) created by Nathan McCree.

User avatar
Stef
Very interested
Posts: 2627
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Sun Apr 08, 2007 10:31 am

Shiru wrote:
Stef wrote:By the way, the YM2612 has SSG-EG env support, it was my last addition to my YM2612 emulator but it's *very rarely* used on the sega genesis. As far i know only 1 sega megadrive game use it.
Do you sure about it, did you check it on real hardware?

I'm almost sure because all available docs about YM2612 does not contain information about registers #90..#9E (meanwhile datasheet for YM2203 has such information), and all YM2612 emulators does not have SSG-EG support, including one from MAME (there one code used for all OPN line emulation, and SSG-EG support enabled only for YM2203). Additionally, YM2203 has SSG part (YM2149F compatible, i.e. 3 FM + 3 PSG channels per chip), and YM2612 does not. I assume that SSG part and SSG-EG can be somehow connected in hardware implementation.

Which game uses SSG-EG on SMD? Can you record sound from this game from real console (to compare how it affect to sound)?
Never tested on real hardware but the game i was talking about sounding very weird without that feature. I'll try to find the game which use it.
On the sega2.doc file, the SSG-EG registers are just said as "reserved, don't use it" but they are referenced as SSG-EG enveloppe type. And i implemented it in this way in Gens. In fact i added some bug with the SSG-EG support, not tested it enough :p it's why you can disable it.
I'll try to find the game which need it (it was a japanese formula one game), and test it on real hardware...

Edit : i found these 2 samples on my HD for comparaison, unfortunatly they are named in a way i can't get the game title :
correct sample
wrong sample

maybe someone will be able to find the game name, i can't remember myself :-/
Last edited by Stef on Sun Apr 08, 2007 11:38 am, edited 4 times in total.

User avatar
Stef
Very interested
Posts: 2627
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Sun Apr 08, 2007 10:31 am

TascoDLX wrote:
Shiru wrote:Which game uses SSG-EG on SMD?
Asterix and Bubba N Stix use it quite a bit. Shining Force 2 uses it to a lesser degree but doesn't have the handy sound test feature.
Are you sure ? i though only 1 game use this feature. In fact maybe they use it but in a way we can't really heard the difference...

Edit :
The SGG-EG support is present in the YM2612 but is somewhat buggy, it's why sega marqued it as "reserved" (i got that from Steve Snake on another board).

User avatar
TmEE co.(TM)
Very interested
Posts: 2285
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Sun Apr 08, 2007 12:01 pm

TFMmaker is so awesome, very simple and very powerful !!!

I got my flashcart working, and I can test and record the sound of any game you want.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

TascoDLX
Very interested
Posts: 246
Joined: Tue Feb 06, 2007 8:18 pm

Post by TascoDLX » Sun Apr 08, 2007 8:38 pm

Stef wrote:Are you sure ? i though only 1 game use this feature. In fact maybe they use it but in a way we can't really heard the difference...
The three Nathan McCree games use it quite a lot. It's hard to imagine that there wouldn't be a discernable difference in at least one case.

Also, any game I've found to use it may set any of the bits, not just the bottom four bits (e.g., F0, C0, 38, 1E, 10, 0D, 08....). So if it is SSG-EG, it doesn't appear to work exactly like it does on the YM2203.

User avatar
TmEE co.(TM)
Very interested
Posts: 2285
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Apr 09, 2007 7:33 am

I recorded Chainsaw sound from Beavis and Butthead from real hardware http://www.hot.ee/tmeeco/CHAINSAW.OGG
Only Fusion sounds like so, other emus don't.
SSG-EG is used to make this SFX.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

TascoDLX
Very interested
Posts: 246
Joined: Tue Feb 06, 2007 8:18 pm

Post by TascoDLX » Mon Apr 09, 2007 10:17 am

TmEE co.(TM) wrote:I got my flashcart working, and I can test and record the sound of any game you want.
If you get a chance, check Asterix BGM 02 (just the first 15 seconds). Fusion plays part of the intro muted and I'm not sure if this is intentional.

User avatar
TmEE co.(TM)
Very interested
Posts: 2285
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Apr 09, 2007 4:22 pm

TascoDLX wrote:If you get a chance, check Asterix BGM 02 (just the first 15 seconds). Fusion plays part of the intro muted and I'm not sure if this is intentional.
Actually I've already done it. Also I tried to record the BGM like so, that emu plays from 1 speaker and MD from another, but emu ran faster.
I'm at home so I can't upload the file (I H8 dial-up).
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest