Last changed: 2010-03-11

What program do you use to port?

1. MIDI editor
FL Studio 8. This has a nice interface, and it’s convenient.
Sometimes Cakewalk3.0 because of MIDI compatibility.

2. MIDI to text converter
Tinymm's octave raisers/lowerers fixer
You can get them from

3. Text editor

4. Sample editor (Finding a loop)

(Most of questions in here were actually asked.)

Any tips for porting?

1. Choose a nice midi. Good ports are absolutely based on good midis. Avoid a midi which is too bland or is too complex to port. If a music has many notes heard simultaneously (e.g. piano, strings) but it’s somewhat vacant, it is not good to be ported.

2. With a midi sequencer, reduce the number of channels wisely. (Less important track -> get rid of it) Next, if there are chords in a remaining channel, separate them into n channels, where n is the maximal number of notes that is heard simultaneously. Then if there is each pair of channels which aren’t played simultaneously, merge them into a channel. After these steps, at most 8 channels should be remained.

Here is an example.

(Original MIDI)

Remove channels which are less important like echo channels or duplicating channels.

If there are chords in a channel, split it. Then repeat merging disjoint channels into one channel.



If you can make your own samples, you can insert parallel chords in a channel. The solution is using a parallel chord as a sample.

This is a result. Though different instruments are played in a same channel after merged, we can distinguish them by colors. This program is FL Studio 8.


Anyway, do you wonder what this song is?


3. Assign these channel to #1~#8. These numbers are MIDI channel numbers. After this file is converted to txt, n will be subtracted by 1, where n=1~8.

The following method is not the best, but plausible.

Channels which is important or contains some long notes
1(#0), 2(#1), 3(#2), 4(#3), 6(#5)

Channels which is not important and contains mostly short notes like bass/drum channel
5(#4), 7(#6), 8(#7)


Don't forget to allocate at least 2~3 channels for bass and percussion.

4. If you are going to choose instruments originally used in SMW (i.e. no samples), try all reasonable instruments. Brute force is nice if you have enough time. But these heuristics may be helpful.

bass -> @14
drum -> @21 / @26 / @29
closed hat -> @22 / @23
main melody -> @4, @6, @7, etc.
string -> @1
keyboardical(???) instrument -> @5
other nice effects -> @0, @2, @3

Note that using ADSR command makes instrument seem to be totally different. (Especially switching ‘A’ does.)

Do you accept porting requests?

Since I’m lazy, basically no. But if I like that song much, I put it in a consideration list. Once I decide to port it, I inform the requester.

Can I modify your levels?

I'm afraid that uncertain situation comes after allowing people to edit my hack, so basically modifying is not be permitted.

How can you convert zmv to avi?

You need two files - lame.exe and mencoder.exe.


Extract this in your zsnes folder.