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 > Source and development > .ftm format specification? Owner: Dafydd New post
Page 1 of 1 Sort:  
.ftm format specification? Posted: 2009-05-05 13:33 Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2924
I'm interested in trying to make some kind of ftm to mid (or vice versa) conversion tool. Is there a ftm file format specification somewhere that I can use, and, do I need a hex editor to view an ftm properly?

Posted: 2009-05-06 18:29  (Last Edited: 2009-05-06 18:34) Reply | Quote
Ryukenden

Avatar

Member for: 4841 days
Location: Russia,South Ural,Chelyabinsk
Status: Offline

#2934
I have a program "nsf to midi".Or it not that?

_______________________
8-BIT MUSIC FUN
Posted: 2009-05-06 19:00  (Last Edited: 2009-05-08 11:52) Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2935
No, the idea was to convert ftm files into midi so they can be edited in a midi sequencer and then converted back to ftm so they can be edited in famitracker again. In order to make a converter I need to know how the ftm files work. Some data will most likely be lost in the process as well.

I tried opening an ftm file in a hex editor but only a few keywords were intelligible, the rest were just null and various strange characters. I'd like to know the structure of the ftm and how to interpret the information in there. I suppose I could find out by looking at the source code for the tracker and study the part where it opens ftm files, but it seems reasonable to me that jsr has a specification somewhere.

Posted: 2009-05-07 03:40 Reply | Quote
Demick12

Avatar

Member for: 5075 days
Location: Buffalo, NY
Status: Offline

#2936
Hey dafydd,

There is a free hex editor out there called (co-incidentally) frHed. I found it on happenstance while searching for a free hex editor (the cheap bastard that I am).

I suggest you use your favorite search tool (not everyone Googles or Yahoos ) and find the hex editor that way anyway. I can't remember that address anyway. I do lots of things in my time, so I can't remember some things that well (I am currently trying to learn C++ while juggling pixel art and music - things necessary for someone willing to take on the world of video game creation all by himself).

Anyway, best of luck, or bol.

_______________________
You now process Dracula's Rib. Good luck processing it...
Posted: 2009-05-07 08:19 Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2937
Sorry, what I meant to say in my previous post was I tried opening an ftm file in a hex editor, not a text editor. It doesn't make any more sense now.

Posted: 2009-05-07 16:31 Reply | Quote
Demick12

Avatar

Member for: 5075 days
Location: Buffalo, NY
Status: Offline

#2938
(extracts own foot from mouth...) (^-^ )7"

Well then, good luck to you on that. I think jsr would appreciate this effort, and it would bring a whole new crowd into the FamiTracker community (those who tend to lean on MIDI software more than tracker software). Though, I think, those in the former will probably learn how to track anyway if they see their fruit converted into tracker format. That's just my opinion, though.

_______________________
You now process Dracula's Rib. Good luck processing it...
Posted: 2009-05-07 23:05 Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2941
The idea is, it would be nice to be able to enter the notes in a midi sequencer and then import the whole thing into famitracker, but since the midi import function of famitracker doesn't work very well right now, it would have to be done with an external converter. And if I could just understand how the ftm file works I think I could make a pretty good converter.

Posted: 2009-05-07 23:31 Reply | Quote
Shiru



Member for: 4890 days
Location: Russia, Moscow
Status: Offline

#2943
Dafydd, what exactly you want to get as output? Music data which can be used or real console, or just sound file? In second case you have option, you can use any sequencer with VSTi support and 2A03 VSTi.

Posted: 2009-05-08 11:45  (Last Edited: 2009-05-08 11:53) Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2944
The final output would be an nsf file. The converter I want to make would convert ftm to midi and vice versa, and the ftm would be opened in Famitracker to create an nsf.

You could think of it as a faster alternative to programming a whole new piano roll type interface for Famitracker, something I won't be able to do for years and which will take years to do once I know how.



Posted: 2009-05-08 13:37  (Last Edited: 2009-05-08 13:38) Reply | Quote
Shiru



Member for: 4890 days
Location: Russia, Moscow
Status: Offline

#2945
Well, maybe if will be much simpler to make midi-to-nsf converter then?

Actually, there is another one alternative: you can learn power of trackers, finally. You must understand that there is reason why piano roll interface is not popular in music editors for old systems: piano roll does not give enough control of everything, and you really need to have that level of control if you want to make music with complex and quality sound. Just imagine how you will edit single channel echo with piano roll, trying to not overlap notes also (because you must keep single voice polyphony). Not to speak about all the effects where you need to use exact values, not approx. ones (most controller editors in the piano roll sequencers are not designed to use exact values).

Posted: 2009-05-08 15:26  (Last Edited: 2009-05-08 15:31) Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2946
In order to make a midi-to-nsf converter I would have to learn NES assembler. Hardly a shortcut. In that case it would be preferable to use a midi-to-mml converter, since one already exists, but even that one doesn't have all the functionality I want.

I believe I could make a midi-to-ftm converter that's advanced enough to be useful. Controllers can be accurate enough in piano roll sequencers - volume could be integer divided by 16, for example, and values from 0 to 127 could be translated into values from 0 to 15. Multiple simultanous notes could be remade into arpeggio effects, or portamento effects, depending on the value of a certain controller.

While me finally learning the power of trackers would probably be the best solution for everyone, what I wanted was a file specification. I will always prefer piano roll sequencers over trackers, simply because it's what I'm used to.

Posted: 2009-05-12 00:59 Reply | Quote
jsr
Administrator

Avatar

Member for: 5924 days
Location: Sweden
Status: Offline

#2975
The FTM format is not documented anywhere (other then in the source code), but I can write it down sometime. And yes the format is in binary and not very well designed. I didn't think I'd work much on this back then so I just came up with something.

But it would probably be simpler to make an extension to the program that exports from the data structures instead so you won't have to deal with files directly. (New versions of files usually breaks compatibility with older versions.)

_______________________
Programmer and developer
Posted: 2009-05-13 15:03 Reply | Quote
Dafydd

Avatar

Member for: 5304 days
Location: Uppsala, Sweden
Status: Offline

#2977
Hm. That may be true. I'll have to take a closer look at the source code, then.

Page 1 of 1 Sort: