Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
yeah the new converter doesnt work. all it does is flood me with warnings and gives me empty source code. i have a whole arsenal of midis ready to be z80workshopped. is this a side effect of the server crash?
Works fine for me, I just ran a song through and got this.


Code:
.org $0000

#include "notes.inc"
tempo = 120

title:   .db "Old Times",0
artist:   .db "Dr. Who",0
album:   .db "Season 3",0
   playsection(all)
   endsong

all:
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,g1,eb2,g1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb1,bb1,eb1,bb1,6826/tempo)
   note(bb1,g1,bb1,g1,6826/tempo)
   note(eb2,eb1,eb2,eb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,d1,eb2,d1,6826/tempo)
   note(g1,d1,g1,d1,6826/tempo)
   note(bb1,d1,bb1,d1,6826/tempo)
   note(bb1,f1,bb1,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(f1,c2,f1,c2,6826/tempo)
   note(f1,f1,f1,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(bb1,f1,bb1,f1,13653/tempo)
   note(d2,bb0,d2,bb0,6826/tempo)
   note(f2,f1,f2,f1,6826/tempo)
   note(f2,f1,f2,f1,6826/tempo)
   note(f2,g1,f2,g1,6826/tempo)
   note(f2,bb1,f2,bb1,6826/tempo)
   note(eb1,bb1,eb1,bb1,6826/tempo)
   note(eb1,g1,eb1,g1,6826/tempo)
   note(bb1,bb1,bb1,bb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(g1,f1,g1,f1,6826/tempo)
   note(d2,bb0,d2,bb0,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(ab1,f1,ab1,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,d1,d2,d1,6826/tempo)
   note(eb2,f1,eb2,f1,13653/tempo)
   note(f2,d1,f2,d1,6826/tempo)
   note(f2,f1,f2,f1,6826/tempo)
   note(f2,f1,f2,f1,6826/tempo)
   note(f2,bb1,f2,bb1,6826/tempo)
   note(f2,g1,f2,g1,6826/tempo)
   note(eb2,g1,eb2,g1,6826/tempo)
   note(bb1,eb1,bb1,eb1,6826/tempo)
   note(bb1,bb1,bb1,bb1,6826/tempo)
   note(c2,bb1,c2,bb1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(c2,eb1,c2,eb1,6826/tempo)
   note(g2,g1,g2,g1,6826/tempo)
   note(g2,c2,g2,c2,6826/tempo)
   note(g2,c2,g2,c2,6826/tempo)
   note(g2,c2,g2,c2,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(ab1,ab1,ab1,ab1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,fs1,c2,fs1,6826/tempo)
   note(c2,fs1,c2,fs1,6826/tempo)
   note(b1,fs1,b1,fs1,13653/tempo)
   note(eb2,b0,eb2,b0,6826/tempo)
   note(eb2,fs1,eb2,fs1,6826/tempo)
   note(eb2,fs1,eb2,fs1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb1,bb1,eb1,bb1,6826/tempo)
   note(eb1,eb1,eb1,eb1,6826/tempo)
   note(eb2,eb1,eb2,eb1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(bb1,d1,bb1,d1,6826/tempo)
   note(bb1,f1,bb1,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(eb1,ab1,eb1,ab1,6826/tempo)
   note(eb1,c2,eb1,c2,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(d2,g1,d2,g1,6826/tempo)
   note(e2,g1,e2,g1,13653/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(g2,c1,g2,c1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(eb1,c2,eb1,c2,6826/tempo)
   note(g1,f1,g1,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,d2,c2,d2,6826/tempo)
   note(c2,f2,c2,f2,6826/tempo)
   note(ab1,f2,ab1,f2,6826/tempo)
   note(c2,bb1,c2,bb1,6826/tempo)
   note(c2,bb1,c2,bb1,6826/tempo)
   note(d2,f2,d2,f2,6826/tempo)
   note(e2,e1,e2,e1,6826/tempo)
   note(e2,g1,e2,g1,13653/tempo)
   note(c2,e1,c2,e1,6826/tempo)
   note(e2,g1,e2,g1,6826/tempo)
   note(d2,g1,d2,g1,6826/tempo)
   note(e2,g1,e2,g1,6826/tempo)
   note(c2,g1,c2,g1,13653/tempo)
   note(e2,g1,e2,g1,6826/tempo)
   note(e2,c1,e2,c1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(f1,c2,f1,c2,6826/tempo)
   note(ab1,c2,ab1,c2,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,eb2,c2,eb2,6826/tempo)
   note(c2,b1,c2,b1,6826/tempo)
   note(c2,eb2,c2,eb2,6826/tempo)
   note(eb2,eb2,eb2,eb2,6826/tempo)
   note(ab1,b1,ab1,b1,6826/tempo)
   note(eb2,ab1,eb2,ab1,6826/tempo)
   note(eb2,eb2,eb2,eb2,6826/tempo)
   note(eb2,eb2,eb2,eb2,6826/tempo)
   note(eb2,eb2,eb2,eb2,6826/tempo)
   note(ab1,eb2,ab1,eb2,6826/tempo)
   note(b1,ab1,b1,ab1,6826/tempo)
   note(eb2,ab1,eb2,ab1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,d1,eb2,d1,6826/tempo)
   note(d2,d1,d2,d1,6826/tempo)
   note(g1,bb0,g1,bb0,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,g1,eb2,g1,6826/tempo)
   note(eb1,g1,eb1,g1,6826/tempo)
   note(eb1,bb1,eb1,bb1,6826/tempo)
   note(bb1,bb1,bb1,bb1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(g1,d1,g1,d1,6826/tempo)
   note(bb1,f1,bb1,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(ab1,ab1,ab1,ab1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(d2,d1,d2,d1,6826/tempo)
   note(bb1,d1,bb1,d1,13653/tempo)
   note(bb1,bb0,bb1,bb0,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(f2,bb1,f2,bb1,6826/tempo)
   note(f2,bb1,f2,bb1,6826/tempo)
   note(f2,bb1,f2,bb1,6826/tempo)
   note(eb1,bb1,eb1,bb1,6826/tempo)
   note(bb1,bb1,bb1,bb1,6826/tempo)
   note(bb1,eb1,bb1,eb1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(g1,f1,g1,f1,6826/tempo)
   note(bb1,f1,bb1,f1,6826/tempo)
   note(c2,f1,c2,f1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(ab1,f1,ab1,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(d2,c2,d2,c2,6826/tempo)
   note(d2,d1,d2,d1,6826/tempo)
   note(d2,f1,d2,f1,13653/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,f1,eb2,f1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(bb1,g1,bb1,g1,6826/tempo)
   note(eb2,eb1,eb2,eb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,eb1,eb2,eb1,6826/tempo)
   note(eb2,g1,eb2,g1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(c2,c1,c2,c1,6826/tempo)
   note(eb2,g1,eb2,g1,6826/tempo)
   note(g2,c2,g2,c2,6826/tempo)
   note(g2,ab1,g2,ab1,6826/tempo)
   note(g2,ab1,g2,ab1,6826/tempo)
   note(f1,ab1,f1,ab1,6826/tempo)
   note(ab1,c2,ab1,c2,6826/tempo)
   note(ab1,f1,ab1,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,fs1,c2,fs1,6826/tempo)
   note(cs2,fs1,cs2,fs1,13653/tempo)
   note(eb2,eb1,eb2,eb1,6826/tempo)
   note(eb2,fs1,eb2,fs1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb2,bb1,eb2,bb1,6826/tempo)
   note(eb1,bb1,eb1,bb1,6826/tempo)
   note(eb1,eb1,eb1,eb1,6826/tempo)
   note(bb1,bb1,bb1,bb1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(d2,d1,d2,d1,6826/tempo)
   note(d2,d1,d2,d1,6826/tempo)
   note(bb1,f1,bb1,f1,6826/tempo)
   note(d2,f1,d2,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(eb1,ab1,eb1,ab1,6826/tempo)
   note(g1,f1,g1,f1,6826/tempo)
   note(g1,f1,g1,f1,6826/tempo)
   note(c2,g1,c2,g1,6826/tempo)
   note(d2,g1,d2,g1,6826/tempo)
   note(e2,e1,e2,e1,13653/tempo)
   note(c2,e1,c2,e1,6826/tempo)
   note(e2,g1,e2,g1,6826/tempo)
   note(g2,g1,g2,g1,6826/tempo)
   note(g2,c2,g2,c2,6826/tempo)
   note(g2,ab1,g2,ab1,6826/tempo)
   note(c2,ab1,c2,ab1,6826/tempo)
   note(g1,f1,g1,f1,6826/tempo)
   note(c2,c2,c2,c2,6826/tempo)
   note(c2,f2,c2,f2,6826/tempo)
   note(c2,f2,c2,f2,6826/tempo)
   note(c2,f2,c2,f2,6826/tempo)
   note(ab1,f2,ab1,f2,6826/tempo)
   note(c2,bb1,c2,bb1,6826/tempo)
   note(c2,f2,c2,f2,6826/tempo)
   note(d2,g1,d2,g1,6826/tempo)
   note(e2,e1,e2,e1,6826/tempo)
   note(c2,g1,c2,g1,13653/tempo)
   note(e2,c1,e2,c1,6826/tempo)
   note(g2,g1,g2,g1,6826/tempo)

   endsection

.end
END
heh. it just blasts me with errors... im using the new one, the one where it seperates the tracks 4 u.
legoboy1234 wrote:
heh. it just blasts me with errors... im using the new one, the one where it separates the tracks 4 u.
Hmm, try with some different tracks and see what you get.
i dont tkink i'm doing it right...i used a lot of midis on midishrine.com and none of them work. ill type what i see when i try to convert it.

Step 1

Select a .mid or .midi file to convert:
F:\Documents and Settings\Blake\Desktop\MIDIS\smloverworld.mid

Step 2

Total File Size: 3516 bytes
Valid MIDI File This file is a multi-track MIDI file containing 4 total track(s).
The time signature of this file is 240 (division type 0).
Ticks per quarter note: 240
Chunk Type MTrk; Size 19 bytes


Chunk Type MTrk; Size 1142 bytes
Preview this track alone



Chunk Type MTrk; Size 1530 bytes
Preview this track alone



Chunk Type MTrk; Size 779 bytes
Preview this track alone


====End of File====


i then tick all the boxes

Step 3

Selected tracks: 0 1 2 3
Step 1: Reading Tracks
Track 0 added. (27 bytes)
Track 1 added. (1150 bytes)
Track 2 added. (1538 bytes)
Track 3 added. (787 bytes)
Step 2: Rendering Track Data
[Page-Stretched Data Truncated]
Raw track 0 rendered to array of size 0.
Raw track 1 rendered to array of size 264.
Raw track 2 rendered to array of size 376.
Raw track 3 rendered to array of size 170.
Step 3: Matching Notes

Warning: usort() [function.usort]: The argument should be an array in /home/aheamizw/public_html/projects/mtunes/converter.php on line 140
Notes in raw track 1 matched to 0 total notes (Max,Min = 0,999).
Notes in raw track 2 matched to 0 total notes (Max,Min = 0,999).
Notes in raw track 3 matched to 0 total notes (Max,Min = 0,999).
Notes in raw track 4 matched to 0 total notes (Max,Min = 0,999).
Data Found:

Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 172

Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 172

Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 172

Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 172
Total channels:0 (
Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 179
)
Tempo: 120

Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 186
120 128 0
Warning: Invalid argument supplied for foreach() in /home/aheamizw/public_html/projects/mtunes/converter.php on line 297

.org $0000 #include "notes.inc" tempo = 120 title: .db "",0 artist: .db "",0 album: .db "",0 playsection(all) endsong all: endsection .end END






goto http://www.themushroomkingdom.net/sounds/mid/smb3_ovr1.mid to get the file i'm trying to convert. i got an assembler that actually converts it straight from txt to 8xp and shows the errors in the code. or it could be my computer. i'll try it on another in the meantime.
Yeah, there are two different types of MIDIs (the timing info is different) and the converter can currently only handle one of them. I'm working on it every once in a while.
KermMartian wrote:
Yeah, there are two different types of MIDIs (the timing info is different) and the converter can currently only handle one of them. I'm working on it every once in a while.

Really? i think there are three midi formats...


@legoboy1234:

there is a simple solution to this problem that consists of 4 steps...

1) download, and install, THIS
2) so that when you download, and install, THIS it will run correctly.

after you have downloaded and installed both all you have to do is...

1) hit the button that says "Format 0" so that it says "Format 1"
2) hit the button that says "convert" and choose the file you want to be able to use on the mobiletunes converter; if you have a folder of files hit the "convert dir" button to convert all the files in that folder.



Hope that helped
tribal: What are the three types you know of?
Type 0 file has only 1 track. All of the instrumental parts are mixed together (but still retaining their individual MIDI channel assignments) into that one track.

Type 1 file can contain several "tracks" representing the many instrumental parts of one pattern (ie, usually one complete song).

Type 2, which is like taking a bunch of Type 0 files, and putting them together. The Type 2 file therefore contains not just one song or pattern, but perhaps dozens of songs or patterns, with all of the instrumental parts for one given song mixed into a single track like with Type 0. This format is not very common.
Oh, I see, I wasn't aware that Type 2 was still in use.
I think it is but i could be mistaken...
tribal, the tools that you posted for converting midi files between different types is pretty nifty. Maybe Kerm could implement some of their functionality into the editor to ease up the song-converting process. And finally I can listen to all those midi tracks I made from Invalid Tangram's and Deus Ex's soundtracks! Smile
Delnar_Ersike wrote:
tribal, the tools that you posted for converting midi files between different types is pretty nifty. Maybe Kerm could implement some of their functionality into the editor to ease up the song-converting process. And finally I can listen to all those midi tracks I made from Invalid Tangram's and Deus Ex's soundtracks! Smile
Ooooh, you have MIDIs of Invalid Tangram's MOD soundtrack? Linx?

Yup, if I can figure out how that tool works, I'd be happy to build in its functionality.
No link needed for the music: just go into {Invalid Tangram Installation Directory}/data/chiptunes and you will find all the tracks there. You probably already know about how to play .mod files (ModPlug, for example), so enjoy! Cool

Only problem is that the midi's I created don't resemble the original soundtrack at all (even if they were the sources for my converter), but they still sound pretty cool, some even cooler than the original ones. Basically, I did a two part conversion using some type of weird modding tool that I have completely forgotten, as well as a tool's 30-day demo that I have long forgotten. I think it was something like Midiillustrator Maestro or Midi Composer to get the second part of the conversion...

EDIT: Aha, found out the first piece of software's name, and Midiillustrator is unneeded! The software is called 2midi, and I used the 21 day evaluation demo, but I... prolonged... the duration of the demo by simple editing of the config file... Wink
Well, the converter still doesn't work. First and foremost: it doesn't insert the correct headers before the song, therefore the file will not be recognized by MT3 unless the source is changed up. All songs have to start with:

Code:
.nolist
#include "mt3notes.inc"
.list
   .org 0
   .db $BB,$6D
   .db $C9
   .db $31,$80
   .db 0,1,4
Start:
title:   .db "[title here]",0
artist:   .db "[artist here]",0
album:   .db "[album here]",0

tempo = [tempo here]

song:
   playsection(all)
   endsong

The current converter's beginning headers look like this:

Code:
.org $0000

#include "notes.inc"
tempo = [tempo here]

title:   .db "[title here]",0
artist:   .db "[artist here]",0
album:   .db "[album here]",0
   playsection(all)
   endsong

The difference is noticeable.

Also, I tested four midi files through the converter. I made sure all the files I used only had 4 channels or less throughout and were Format 1. In the converter, I selected all the tracks that were parsed. The converter spit the code for the tracks out, but when I played the assembled tracks, they did not resemble the original ones at all. All of them were 1/50th of the original tracks' length, and all of their (very short) melodies did not resemble any part of the original songs in any way.

Sadly, I cannot upload the songs as of now, since I cannot attach any files to Cemetech posts for some reason, and because I currently do not have enough time to mess around with uploading sites (maybe tomorrow).
I'm working on tweaking it; a few songs that weren't working for me before are working now.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement