Omnimaga
Calculator Community => Major Community Projects => The Axe Parser Project => Topic started by: Quigibo on July 02, 2010, 10:35:20 pm
-
Get the latest version here (http://ourl.ca/6263/250808)
I spend all last night working on this. Its exactly what the tiles suggests. It is a working MIDI to Axe data converter than can be used to play music in your games. Not only does it play in the background using interrupts, but it also plays chords, and pretty nicely too! However it has a narrow rage of notes so high and low frequencies don't render too well. Also, it only imports the first track and it has to be a type 0 midi file, but its easy to convert. I was using Noteworthy Composer (http://www.noteworthysoftware.com/) to do my editing, its free and gives you that option when saving. Also, I got most of these tracks from VGMusic (http://www.vgmusic.com/).
In the example program press a number 1-4 to play a loop of one of the possibly familiar songs. Press 0 to stop all music and Clear to quit.
Enjoy!
(Not 100% sure if the mac version works).
-
Oooh nice tool you got there :D
It should make things easier for music insertion hopefully ^^
However, one thing: Noteworthy Composer is not really free. It is a trial version. To export MIDI files you need to buy the full version.
-
That's not true, I have a version that you can do almost everything in including exporting MIDI, it only bugs you to register to buy the full version on startup and prints an order form every time you try to print sheet music. I don't know what version is on the site now, but I have 1.75c from 2007.
-
That is totally epic! Wow booted up Wabbit and amazing things bombarded my ears. And the file size for these midi files is totaly reasonable! Like 1000 bytes for these full and recognizable songs! Bravo Quigibo! Bravo!
I actually have the same issue as DJ, noteworthy wont let me export Midi Files D: Where did you download your version?
-
Strange. I tried the version on the site that was free and when I tried to export, it gave me a message saying I needed to buy the full version to use this feature.
Since it appears to no longer be free, I guess it might be illegal to redistribute older builds, right?
-
Did a quick Google search and I found a copy here (http://www.hitsquad.com/smm/programs/NoteWorthy_Composer_win95/).
-
Cool thanks, that one does it fine.
-
<3
I'm going to try this later (as in making a song :D) The sample songs sound awesome!
-
Just wanted to confirm that I checked the note range, and the lowest note playable is the middle C and there really isn't much of an upper bound. I mean, there is, but its very high. So if you have a track that goes below middle C, you can always transpose the entire track to a higher key in your editor of choice and yes, NWC can do this. The reason the note is capped at C instead of a lower note is becasue I wanted the music to sound like it was in a similar key to the midi and it sounded too different when it was lower. The Freq() command doesn't go to very low frequencies since it takes a single byte argument. I could modify the command, but then it would increase the music data by 50% and make the Freq() routine a little larger.
-
perhaps freq()r (the modifier R). But so far it seems like we have a large range of notes to play even with only 1 byte, so I'm ok with it :)
-
I spend all last night working on this. Its exactly what the tiles suggests. It is a working MIDI to Axe data converter than can be used to play music in your games. Not only does it play in the background using interrupts, but it also plays chords, and pretty nicely too! However it has a narrow rage of notes so high and low frequencies don't render too well. Also, it only imports the first track and it has to be a type 0 midi file, but its easy to convert. I was using Noteworthy Composer (http://www.noteworthysoftware.com/) to do my editing, its free and gives you that option when saving. Also, I got most of these tracks from VGMusic (http://www.vgmusic.com/).
In the example program press a number 1-4 to play a loop of one of the possibly familiar songs. Press 0 to stop all music and Clear to quit.
Enjoy!
(Not 100% sure if the mac version works).
<3<3<3 O M G.... speechless
-
I like the freq(..)r idea. Maybe r for lower, and t for higher range. Kinda pointless, but oh well. Does the command return immediately, or after the specified duration?
-
Btw has anyone tried this on real hardware? I can't find my adapter ATM and only tried on emulator. I am curious how does it sounds like? Someone could maybe record off his calc
-
Just tried it on my TI 83+ BE... no go. It may be my adapter, but I'm unsure. I'll test it on my TI 83+ SE later ( I'm waiting on batteries to charge).
-
I've tried it on hardware, it sounds epic :D (I tried it on my 84+se, might try with my 83+ later if I can find the cable x.x)
-
Did you try doing chords too? Either way, nice to hear ^^
-
no >.> I actually haven't set up the stuff to make it. I deleted a few parts of the example code, so I could use some other music, however I must have deleted something important, I'll resend it and try to fix it some ;)
-
aaah ok x.x
-
If anyone wants some more epic music, here are some more demos. They really push the player to its limits though. You can erase the first data structure in the example file, recall this into the code, and store it to Str4 to use the 4 button to test these.
The first one is from Pokemon Gold/Silver the surfing theme
The second one is from Big Blue in the original F-Zero.
-
This is just so amazing! :D
I do have a question though, would it be possible to have sound effects as well as music, or would any sound cause the music to pause until the sound finished playing?
btw, love that last song. ;)
-
Yes, you can have sound effects as well. There are many options.
One way is to include it separate from the interrupts. To play the sound effect you would just write the routine using whatever combinations of freq() you need, and then use that when you need it in the code. The routine doesn't have to have interrupts disabled when playing the sound effect as long as you don't mind having your sound be interrupted by the music which may or may not be desirable.
Another way would be to modify the interrupt routine so that it queues all the sounds that need to be played every time one is loaded. That would prevent simultaneous playing however.
Uploaded one more, this one is from .hack, never played the game, but it sounds cool and it shows how the tempo can be changed.
EDIT: By the way, you can change the interrupt frequency to speed up the music. 4 is slightly faster, 2 sounds nice but its really sped up, 0 is just insane.
-
So if I had several sound effects, would I be able to play them whenever using an interrupt while having the music interrupt going at the same time or would it be better to just have the interrupt for music and play the sound in a normal sub routine?
I plan on playing sounds simultaneously so I think the way you mentioned will work just fine.
Also, for music looping, how would I be able to do custom looping so that the beginning of some songs don't play more than once?
-
The way I have it set up now you load songs into the music player using the L variable. However, the routine also uses the P variable to figure out what to play after the sound has finished. If its the same song as before, that's how it creates a loop. If it is zero however, it will be loading the stop command into the player which will halt all sound once the original track has finished. You can even do more exotic things with it. Lets say you have some music which has an intro part and a loop part. You can load the intro part into L to get it going and then load the loop section into P so that it will continually call the loop section after the music reaches the end. Its a pretty cool system.
-
Woah, that is pretty impressive. I got to get myself more familiar with this awesome feature. ;D
EDIT:I got my midis to work with the converter. ;)
Here's the Dragon Warrior 3 overworld theme, although it sounds better when the delay on freq() is set to 2000.
EDIT2:Just wondering, how much space can you fit into a single string?
-
great! i like this sound =)
when in a game z80 with good music background?
I am impatient ;)
-
Silly Kindermoumoute. ;D Here, try this: http://ourl.ca/4008
Although not written in Axe, it's still by Quigibo. :D
As for the sound, this is epic! Excellent job Quigibo! ;D Wow. ^-^
-
* calcdude really wants that adapter
I'll say "keep up the good work!" even though I'm not judging it myself :P
-
ZOMG YES!
I do believe this is the first midi player for 83+/84+ series that is usable (ie, low music file sizes)
-
Did I just... get rick roll'D?
Regardless awesome stuff lol
-
Kerm wrote one (http://www.cemetech.net/projects/mtunes/index.php) but I'm not sure what the compression is.
I too was surprised at the compression of the MIDI to Axe converter. 1KB of data in the executable at a medium speed with many chords is about an entire minute of music! Of course, the quality certainly suffers from this extremely tiny compression, but since Axe is designed for games and most games need the music in the background, it has to be quick and small so I think this is a good thing. This is about as minimal as it gets to still sound awesome. In the future, you will be able to write your own freq() commands using direct port output to make the notes sound like another instrument instead of just a square wave.
-
wow that would be cool.
And yeah I noticed the music data is quite small considering there are many notes.
Quigibo, do you think it will be possible in future versions to play two different notes at once like this? http://www.ticalc.org/archives/files/fileinfo/144/14445.html
Also on a off-topic note, Nemo seemed a bit scared about your Axe Parser 0.3.3 forum signature D:
-
Here is what it sounds like form a real live calculator.
-
Nice, it sounds better than WabbitEmu. In wabbitemu the pitch is off and and you hear big clicks between notes, causing fast chords to sound crappy. Thanks for posting a mp3 of how it sounds like ^^
-
just wondering, are there any good sites for downloading the type 0 midi files?
-
I should've know that that'd be a rickroll :P
Well, you can't make someone lose The Game by playing music, so why didn't that occur to me...
The sound quality in that mp3 is surprisingly good, it being a calculator. :) Somebody convert another song! :P
-
just wondering, are there any good sites for downloading the type 0 midi files?
I don't know. I think you need to download reg ones and then convert them using the software Quigibo linked to
-
oops, I just noticed quigibo posted a link to where he gets his. >.<
Does anyone know of a software to merge the tracks of a midi together?
-
In NWC, you can right click on each track, go to properties, and then in the "MIDI" menu change all the channels to channel 1. Then save the midi as a type 0 and reopen it. When reopening, make sure you have "Max single track chord size" set to its maximum 127. It should all be on a single track now.
-
Ok, confirmed that sound does not work on my TI 83+ BE, but works fine on my TI 83+ SE. Any idea why? are you using any ASM commands that are not supported on the normal 83+?
*Edit* perhaps it isn't reading the keypresses?... I don't know
-
Oh I think I know what it is now, I was using a shortcut in the code to save space which would only affect the 83+BE but I didn't think it would cause any problems with the actual sound. Oh well, its only an extra byte for the entire program to fix it I guess.
EDIT: I fixed it but also decided to make the routine take 2 byte frequency data so its 4-5 bytes larger than before. Some songs won't be compatible using this player because now note "0" (middle C) is actually 65536 instead of "255". But I am going to modify the midi converter to use this new range extender to cover the whole keyboard. This data will be 3 bytes per note instead of 2 so music will be a little larger, but now the songs should convert better.
-
Here, try this: http://ourl.ca/4008
Although not written in Axe, it's still by Quigibo. :D
As for the sound, this is epic! Excellent job Quigibo! ;D Wow. ^-^
Yes i see, that's great!
-
Oh I think I know what it is now, I was using a shortcut in the code to save space which would only affect the 83+BE but I didn't think it would cause any problems with the actual sound. Oh well, its only an extra byte for the entire program to fix it I guess.
EDIT: I fixed it but also decided to make the routine take 2 byte frequency data so its 4-5 bytes larger than before. Some songs won't be compatible using this player because now note "0" (middle C) is actually 65536 instead of "255". But I am going to modify the midi converter to use this new range extender to cover the whole keyboard. This data will be 3 bytes per note instead of 2 so music will be a little larger, but now the songs should convert better.
I'll try it again when you have time to post an update. I'm glad this was an easy fix (hopefully). :D Also, I don't know if I mentioned this before, but this does sound really awesome on calc. ;) I keep playing with it!
-
EPIC ALERT! 8) I converted the entire opening of my favorite RPG using the new format.
This is the executable only since the feature is not out yet. Only 1 track just press 1. 15MHz only.
EDIT: It sounds way better on calc by the way becasue for some reason the tempo fluctuations are really exaggerated in wabbitemu.
-
without "autoreturnwithoutfull", is this possible? =)
-
Understood! I absolutely love Chrono Trigger! , checking it out now.8)
*Edit* Very cool! ;D Question: Would 2 channel audio would be much larger than 1? IE: still mono sound, but left and right channels?
-
bug: do not use source to make application. i clears your ram.
also, AMAZING!
-
Just for the sake of competition, remember this little MIDI to mobileTunes 3 converter I wrote 4 years ago? :)
http://www.cemetech.net/projects/mtunes/index.php
Here's a sample quad-channel song it rendered from a complex Type-1, 10-channel, 18-subchannel MIDI song. I think you will all enjoy the contents. ;)
http://www.cemetech.net/files/RICKRLL2.8xp
The viewer: http://www.cemetech.net/scripts/countdown.php?/83plus/asm/sound/mt3.zip&location=archive
Edit: Note that I did zero postprocessing on what the converter generated, I just threw it straight at Brass with the addition of the necessary metadata.
-
Yeah, I posted the link to that a couple pages back. I had not actually tried it though. Now I did try it. I'll do a comparison with my rickroll.
As far as compression, the rickroll file you gave me was about 6KB on calc just for the data. My rickroll + player is only 2KB together. The sound quality in your player was about the same, but you had your notes hold much longer than mine. I'm not sure if your player is interrupt based or not, I couldn't move the mouse around when the sound was playing. Mine is designed to play in the background of games. You were able to pull off chords using both channels, but by comparison, I am using the "guitar method" where all the notes are played together quickly to make the chord which allows for decent sounding chords up to around 8 notes at a time. That allows you to hear out of both ears as well if wearing headphones. Also, the complexity of my songs in my opinion is much greater, even my rickroll had far more chords and beats. Did you try the Chrono Trigger song I posted above? That one is about the same size as your rickroll. Its nostub so you can just run it in DCS.
Not being mean or anything, but I was expecting much more since it claims to have 4 channels ;)
-
From a brief glance it seems like the file size might be larger because with his method notes can have different lengths. Is this possible in your Axe player? How do you store the song data anyway, i am curious? :D
-
Yeah, I posted the link to that a couple pages back. I had not actually tried it though. Now I did try it. I'll do a comparison with my rickroll.
OK.
As far as compression, the rickroll file you gave me was about 6KB on calc just for the data. My rickroll + player is only 2KB together. The sound quality in your player was about the same, but you had your notes hold much longer than mine.
My player allows variable-sized notes, and one to four simultaneous notes at a time. As I mentioned, I threw the rest of the raw MIDI conversion directly into my assembler, without folding the redundant sections together. I tried that just now, and more than halved the file size. I'm not sure if your player is interrupt based or not, I couldn't move the mouse around when the sound was playing.
It's designed to take full advantage of the available CPU power. Mine is designed to play in the background of games.
Mine is not. You were able to pull off chords using both channels, but by comparison, I am using the "guitar method" where all the notes are played together quickly to make the chord which allows for decent sounding chords up to around 8 notes at a time.
You mean it only plays a single note at a time? That's not how guitars work. That allows you to hear out of both ears as well if wearing headphones.
My player duplicates the sounds in both ears if the particular segment has at most two notes playing, or switches to different contents in each ear for three or more simultaneous notes. Also, the complexity of my songs in my opinion is much greater, even my rickroll had far more chords and beats. Did you try the Chrono Trigger song I posted above? That one is about the same size as your rickroll. Its nostub so you can just run it in DCS.
I'll give it a try. May I have the MIDI source file so I can try running it through my converter?
Not being mean or anything, but I was expecting much more since it claims to have 4 channels ;)
Well, considering my converter doesn't take the easy way out, and can convert any MIDI format types (not just single-track Type 0), including intelligent merging to convert more than four channels of audio down to four, I'm very happy with it. The only thing I might like to add is automatic detection of redundant sections and thus compression.
-
In case anyone missed the Cemetech news, Quigibo's comments prompted me to spend 36 hours writing a novel compression algorithm; samples etc:
Info: http://www.cemetech.net/news.php?id=397
Discuss: http://www.cemetech.net/forum/viewtopic.php?t=4694
-
Nice :D
Is that one SE-only btw? It sounds pretty nice for a calc, except I got rickroll'd XD
-
Nice :D
Is that one SE-only btw? It sounds pretty nice for a calc, except I got rickroll'd XD
Nope, mobiletunes has and (hopefully) will always work on 6MHz and 15MHz calcs equally.
-
Nice job Kerm! ;D
-
That sure is an excellent Midi converter! I wasn't able to test out my own midi's as i wasn't able to figure out how to compile the Asm code, but it sure sounded epic on the video! So Quigibo and Kerm stop going at each others necks and shake hands :P Kerm has created an excellent and high quality Midi player for the calc and Quigibo has created an excellent background player for games.
-
Congrats, to both of you, Quigibo and Kerm!
-
Wow nice, I was so sure it was SE-only due to usage of quad-player.
Anyway congrats to both of you
-
I'm impressed keep up the sweet work both of you guys.
Also:
Quote from: Quigibo on Sun 4 Jul, 10, 15:54:10
You were able to pull off chords using both channels, but by comparison, I am using the "guitar method" where all the notes are played together quickly to make the chord which allows for decent sounding chords up to around 8 notes at a time.
You mean it only plays a single note at a time? That's not how guitars work.
That is exactly how a guitar works...When your playing a chord you go from note to note in an instant but they are never played at the exact same moment in time, its impossible unless you were to pluck each string at the same time. Arpeggio fashion playing is still playing chords as well just the notes are hit using repeated up/down strokes.
-
Regarding the guitar chord stuff, technically it only plays one note at a time, but each string continues to sound while the next one is being plucked. So the notes sort of are sounding at the same time
-
Yeah, I was referring to what Madskillz was talking about, I am aware that the strings continue vibrating afterward.
I am thinking of expanding my midi converter to handle Type 1 but I don't want to spend my time on that right now. I am currently working on the most difficult part of the geometry drawing for Axe right now: The filled rectangle. And it is really torturing me.
-
Ouch Quigibo, good luck :(
Also yeah I agree, it's not like music is a huge priority anyway. It reaches a much smaller audience than other features IMHO (like ASM programs that requires USB, as awesome as they might be). Main reason is that you need to create or buy adapters/cables to plug in your headset in the calc or you need to use an AM radio on a channel with enough static which has terrible quality.
-
Yeah, I was referring to what Madskillz was talking about, I am aware that the strings continue vibrating afterward.
Ah, ok, I thought you were saying that the Axe converter played the notes in quick succession, but they don't continue sounding together. Was I mistaken?
I am thinking of expanding my midi converter to handle Type 1 but I don't want to spend my time on that right now. I am currently working on the most difficult part of the geometry drawing for Axe right now: The filled rectangle. And it is really torturing me.
Good luck! That is indeed a toughie.
-
Yeah i noticed you guys handle chords differently. Kerm how does your program manage to get the chords working so well? How do you merge the notes?
And yeah rectangle fillers are hard, i wrote one in Axe once that only wrote to the screen buffer and it was tricky. Hmmm i wonder if i still have that around somewhere...
-
Kerm's player is able to play notes by simultaneously using both both left and right speaker in the link port. This is something I could do, but I prefer to keep them on both channels at once because its just simpler.
Also, I have the filled rectangle working almost now, I just have to optimize the routine a little bit more. Its fairly large, a little larger than the line drawing routine but still smaller than the sprite drawing. However, to save space I am not doing clipping so if it cannot fit the rectangle on the screen, it will just not draw anything.
-
glad to hear Quigibo :D
-
@Kerm That is really sweet, but the songs that I am familiar with sound like the pitch is off (perhaps it's just the emulator). It also seems Kerm is a nightwish fan :D.
@Quigbo: On calc I only get sound out of the left channel with your background music player. Is this correct? , because you above post suggests otherwise. This is why I was asking earlier if it would be possible to have mono sound but played through both left and right channels.
Scratch that, I think my calc adapter must be mono. It works fine in emu.
-
@Quigibo: Ask tr1p1ea for the xLIB DRAWSHAPE source. See if he can't give you his ASM routines for those.
@Kerm: Very nice as usual.
-
@Art_of_camelot
Are you sure your link port is working? Its coming out of both speakers on my calc and on the emu.
-
Since he can listen to sound fine, it is working, but I think he uses the wrong kind of headset or adapter
-
@Art_of_camelot
Are you sure your link port is working? Its coming out of both speakers on my calc and on the emu.
Scratch that, I think my calc adapter must be mono. It works fine in emu.
:)
-
Yea, it's my adapter. I gotta see if i can find a stereo one.
-
I just made this with Quigibo's Midi to Axe convertor.
It's Cannon Ball from Megaman Zero 3! If you haven't heard, listen to it. It's an epic track. Also, I don't think anyone else has converted a GBA track yet.
-
Awesome, Finale. I love the Megaman Zero series. ;D
Here's the overworld theme for Crystalis. It actually came out really good.
EDIT:Is it me or does the face slow down in some parts of Cannonball? ???
-
It does kinda look like that, but that might just have something to do with the fact that it was a GBA track, ported to a much lower quality on a slower platform.
Edit: So as not to double-post:
Here's (to my knowledge) the first converted DS track! It's the Megaman ZX boss battle track.
Also, here's a track from Megaman X6 for the PS1, X vs Nightmare Zero!
NOTESRC3 is X vs Zero
NOTESRC4 is Megaman ZX Boss Battle
-
Pretty good, but it might sound better if you removed the 'bass' from the songs, because it seems to just make the same beeping sound over and over and it slows down the program a lot.
EDIT:Here's Cannonball with less bass. It had like 5 channels just for percussion so I just softened it.
btw, it's compiled to run in Mirage because it won't open from the TIOS.
-
Nice stuff guys. However, FinaleTI's stuff gives me ERR:INVALID when trying to run the compiled versions of them ???
-
Yep, that's because if the program is too bug, then the TIOS will throw an error, which is why you need to compile bigger programs to run in Mirage or Ion.
-
oh ok x.x
I'll give this a try later.
-
Sorry I forgot to mention that.
@Magic Banana: How would I remove the bass? Can I do that with Noteworthy?
-
Yeah, when you open up the midi in Noteworthy, make sure that it splits all the 'instruments' into different channels and then locate the bass by right clicking and viewing Staff Properties. Sometimes they are a little vague with the descriptions (I think Cannonball had around 3 or 4 'Standard Kit's) so you might have to sift through them.
Another way to soften the bass and lower notes is to combine the instruments that sound similar.Yet another way is to just force all the channels to be merged on open so that all the notes are put onto one staff, which takes out some quality of the song, but sometimes sounds better when played through the calc 'speaker'.
Basically, you just have to play around with it so see what sounds best on calc. It is a little repetitive to keep having to go through all the steps when converting it into data, but it feels great when you hear it play on the calc and it has that Gameboy quality (which in this case, is a good thing).
EDIT:Don't want to doublepost, so I'll just put it here. I wanted to see how something sounded, and it turned out nice.
-
Oh I forgot to update with my progress. I have it working now where 99% of midis from the internet can simply be dragged over the application and they will convert really nicely without any extra editing. However, I am going to redesign the music player so it plays appvars instead of inline code because sometimes 15kb of note data source is really hard to import into the editor but as a precompiled appvar, its only 7.5kb and can be read from archive (soon). So I think that will be the direction I take the player, but it will output in both formats anyway for small tracks. I also have to add a look-up table for the note frequencies in order to reduce the size of the files.
I will post the new version as soon as I finish it. I actually made cave story as one of my demos, but I guess I can't use that anymore... so here it is if you want to compare. This is the full song I think. Starts right away.
-
I love the quality of the new Freq(). :D
It's actually a perfect example, because you can really hear the difference between the old and the new. That Appvar sounds cool as well. It does get boring scrolling down 14k of data to paste the music player and put a ->Str1. Can't wait to convert some new songs when you release it. ;D
-
Yay! The appvar compiling sounds helpful! Especially since I wouldn't have to use an on computer TI-Program Editor to import the data into the player.
Also, I have to agree with Magic Banana that the new Freq( is amazing!
-
Okay, here it is. I tried to include a variety of samples for your listening pleasure. The new format is really compact, its nearly a kilobyte per minute depending on the speed of the song. It supports all types of midi, up to 8 note chords, 16 simultaneous tracks, and the full 11 midi octaves. The program works the same as last time, just drag the midi file over the program and it will convert your song into 2 different formats. One is an appvar, the other is the hex code (no text version this time). The player is set up right now for appvar playing and I took out the rotating happy face to lighten it up as much as possible, songs play immediately when you run the file. If you want to create visualizations, be my guest.
There is one setting you might want to adjust which is what I call the "note density". Its the time argument of the freq() command. Right now I have it set to what I have found to be a good medium time of 3200 but you might want to make it lower for songs with a lot of chords or higher for those that are mostly single notes. If songs play too slow or fast, then this is what you should adjust.
Also, for best results, I would remove any drum tracks from the midi files. Other types of bass tracks should convert fine.
I'm so glad I learned linked lists in my data structures class. I had to design my own custom linked lists to get this working. :)
-
Yes! Can't wait to test this out on some midis. :D
In fact, I think I'll make some right now.
-
O.O
*drools
I especially like the appvar method of playing; makes my program list way less cluttered
-
Yay! I've redone Cannon Ball *again*. It's the original, but it sounds better and faster with the new converter. Note: For optimal performance, set the speed in the Freq command in the player to 2300 or 2500.
I had to put it in a zip since you can't attach appvars.
-
Megaman 3 Intro :D
-
Those sound really great! You can really hear the difference with the cannon ball song from last time too! I'll upload some more samples, a few classical as well. Any requests by the way?
-
Here's another re-upload of mine! It's "X vs Zero" from Megaman X5. Any Megaman fan should have heard this song. If not.... Then download it!
A good speed for this song in the Freq command is 1500.
-
Any requests by the way?
Dragonforce - Through The Fire And Flames
-
I had to cut the song in half, as well as remove half the instruments just to get it to play at all.
You best set your frequency to around 1400.
-
Mhmm I see it might be a bit too much for the converter XD
Some parts it seems to play about 4x slower than others D:
-
DJ, that just reminded me, I made a new player that automatically adjusts the timing based on the number of chords of each beat. However, quality begins to suffer when there are chords greater than 3 notes at once. However, its much more on beat and than the previous player. Also, I threw in a cool visualization :)
-
OOoh nice to hear :D
It kinda irked me that music kept slowing down all the time in previous versions, but I thought it was an hardware limitation or emulation innacuracy, which is why I did not report it.
I'll try this one now. :D
EDIT: Nice the slowdowns aren't as noticeable!
-
not trying to be a noob here but; i can't put the appvars to my calculator. i use ti-connect.
yes i did try the examples.
also. if i make my own song and put as a midi, (i convert it to appvar and the prog) and test the prog through ti-coder, it will also give me errors.
-
I've had the same problem. You can fix this however, by sending the appvar to wabbitemu, then exporting it. The newly exported appvar can be sent through TI-Connect to your calculator.
-
i have a ti-84 +
doesn't wabit only take 83+?
does ti provide free roms for 83 like they do with the 84?
-
The problem with the .8Xv is that one of the fields is incorrect (the checksum), so TI-Connect doesn't like it. Exporting it from WabbitEmu will give it the right checksum.
As for using WabbitEmu, I highly recommend it. WabbitEmu emulates all the z80 calcs except for the 81 IIRC (73, 82, 83, 83+(SE), 84+(SE), 85, 86). If by ROM you mean the OS, then yes. If by ROM you mean the boot-code, then no, and sharing ROM's is illegal. As for making a ROM for use by WabbitEmu or other emulators, I recommend rom8x (http://www.ticalc.org/archives/files/fileinfo/373/37341.html)
[/quickguidetowabbitemu]
-
Yeah, I have the wrong checksum, I forgot to reset it to zero after generating the program, I've fixed it in now. I'll re-upload it later.
-
lol it took me nearly an hour to get wabbit to work :P thanks everyone. for being patient with me
-
Could anyone help me convert the Tetris theme song? I'm having trouble doing it myself x.x
-
Could anyone help me convert the Tetris theme song? I'm having trouble doing it myself x.x
whats your prob?
will you attach the file u want converted?
-
Sure.
-
Should work.
-
meany.. i was gonna help... ;)
-
That's awesome! I could listen to this all day. ;D Thanks Quigibo, Sir, and Finale. :D
* ZTrumpet wonders what Sir is planning?
-
Me likes this song too.
Especially this (http://www.youtube.com/watch?v=qag0C2iRcdI) version of it.
Sword-chucks yo! ;)
-
Okay, props to Quigibo. This is awesome. Utter win. By the way, Falldown was part of a series of projects I'm working on during free time in class. Tetris is the one I'm working on now. It has music. That's right. WIN.
I require the Zelda theme, as well as music that plays while browsing the map in 8xv form, if anyone is willing to help out.
-
Tetris is the one I'm working on now. It has music. That's right. WIN.
What? EPIC WIN! * ZTrumpet waits patiently and promises not to go off on a psychotic rampage or anything. ^-^
-
It's really awesome. I also converted Quigibo's program to a library, so that I can use it in more programs. Tetris also has support for playing the music even when it's archived, but it unarchives it to achieve this, and re-archives it when it's done. I was hoping perhaps Quigibo could write a version that can read from archive? And if there is not enough free RAM to hold the music file, or if it's missing, music will just not play, rather than crash your calc :P.
Also, when I added sound to the game, there was much rejoicing. It is really, really awesome.
So I'm still having trouble converting them myself, but I did get a collection of music I need converted (It's only 5 songs) and I would really appreciate it if someone would be so kind as to help me out.
Thanks!
-
Here you go :) They should all work, tested them in Wabbit.
-
Thank you meishe, you are amazing. I removed the double post.
-
Nice stuff and nice to see you are working on a Tetris game. Are you planning to work on a Zelda clone, too? o.o (noticing your request about a Zelda song)
-
Shhhhh!
Also, do the 8xp versions play themselves, or are they the same as the 8xv versions?
-
Lol ok :P
Try to not take on too much projects, though, lol. *cough*Calc84maniac*cough*
-
I will do them in succession, not at once.
-
Ah ok. I was just worried you would stop working on everything else, start Tetris, stop working on tetris to start a new project, stop it, go back to KOS, stop KOS, etc, only to have all your projects finished in 2-3 years x.x
-
/me coughs
-
Don't worry calc84! Im right there with you :D
* Builderboy hides *
-
Shhhhh!
Also, do the 8xp versions play themselves, or are they the same as the 8xv versions?
No, I'm fairly sure they just contain the hexadecimal codes for the songs, but I'm not for sure. They are created when you convert the midi files and that's what it looked like.
-
Yeah, when I got them on my calc, they are Axe source. I ended up removing the [] and adding AsmPrgm, then compiling them with AsmComp( and using CalcSys to change them into AppVars.
-
Oh wow nice trick to convert to data SirCmpwn. I was always worried we had to write an editor to edit our game data stored into APPVARS before, such as maps. It's good that at least we have AsmComp() plus we can still separate the data in different lines of code if we want it to be organized. Just no pointers/comments
-
Keep in mind that AsmComp() will preface the data with BB6Dh.
-
Ah, right. Oh well I'll keep that in mind.
What is BB6Dh btw?
-
It's a two-byte token that all asm programs begin with.
-
^
-
It's a two-byte token that all asm programs begin with.
Ah ok, I was more wondering what was the actual token after compiling and what would be the z80 asm code equivalent, if any :P
^
/me reduces SirCmpwn postcount by 9000 :P
-
]/me reduces SirCmpwn postcount by 9000 :P
What!?!? Thats not quite over nine thousand!!!
-
Lol. Even if it was, I wouldn't even be able to do that, anyway. Unlike on Invisionfree, which uses signed 3 byte integers for post counts, SMF uses unsigned ones.
-
It's a two-byte token that all asm programs begin with.
Yup. :) It's the AsmProg token, but in it's hex equivalent.
-
I was wondering if anyone could help with a track for Pokemon TI. I'm looking for the track that plays during Oak's introduction when you start a new game. If anyone could find and convert that track for me I would greatly appreciate it.
-
Are you talking about like when Professor Oak is like introducing you to Pokemon?
Edit:
I think this is what you're looking for but let me know.
-
Are you talking about like when Professor Oak is like introducing you to Pokemon?
Edit:
I think this is what you're looking for but let me know.
That sounds like the track that plays when you follow Oak to the lab. The introduction theme is different.
-
Oh, ya, you're right. I'll look.
-
Kinda like this?
-
Ya, that sounds like it's right. Where the hell did you find a MIDI file for that? I've been looking everywhere for one :(
-
Oh, I've got my sources... ;)
While I'm here, are there any other songs you are looking for?
-
That is so not cool :P
-
/me kills Magic Banana for not wanting to share the source D: (unless it contains illegal material, too, or is a warez/mp3 site?)
-
But ... think about the children ...
Nah, it's fine. The name of the song is called "Welcome to the world of Pokemon". Why I know that is still a mystery.
I used the piano version and tweaked it a bit so it would sound better on calc. Here's the original midi I used in case you wanna hear.
-
Oh, ok. That explains it. I wasn't looking for piano stuff and such, just the actual music.
That might actually not be the actual name of the song. I finally found it under a different name. But either could be right.
I'm fairly sure the original Red and Blue version of the song was called To Bill's Origins and then later versions were called Welcome to the World of Pokemon.
-
This is great! This will save me time and energy for adding music to my games.
-
Just be aware of the fact that right now, the convertor doesn't properly create the appvar's checksum.
You can fix this by opening the appvar in Wabbitemu and exporting it. This recalculates the checksum and lets you send the appvar to your calc.
-
I've also benifited from this quite highly, having implemented it in an exisitng Tetris game someone else wrote.
-
I'm planning on packaging this with Axe under "Tools" in the future once I clean up the program. Since I know Qt now, I was thinking of giving it an actual GUI.
-
I'm planning on packaging this with Axe under "Tools" in the future once I clean up the program. Since I know Qt now, I was thinking of giving it an actual GUI.
That would be great!
EDIT:
I tried converting this file, and I got 'Only MIDI files accepted', but this is a proper MIDI file.
-
That would be nice Quigibo. What does Qt stands for, though? ??? (assuming it's not Quicktime :P)
-
That would be nice Quigibo. What does Qt stands for, though? ??? (assuming it's not Quicktime :P)
Qt GUI probably.
-
I was wondering if you could add the convert to Prgm feature back in. I keep on geting ram clears (from my own doings), and I loose the music because it has to be unarchived when running my program.
Never mind. I was doing something wrong. ???
Other than that, it is a great feature for Axe.
-
Once again Quigibo, why won't my file be accepted?
-
Once again Quigibo, why won't my file be accepted?
Quigibo does not have much free time to spend on Omnimaga. Chances are he won't see this in a very long time. Make sure your mini is a type 0,1, or 2
-
Once again Quigibo, why won't my file be accepted?
Open it up in Noteworthy Composer (there's a download link in this topic, I think it's on page 1) and save it as a type 0 or type 1 midi.
Then it should work.
-
Can me explain how can I convert sounds?
When I open the converter and drag a file on, it closes the window ...
I tried with SMB Overworld (in example) but it'doesn't works ...
PS:It will be better if someone can explain it in French ^^
-
Can me explain how can I convert sounds?
When I open the converter and drag a file on, it closes the window ...
I tried with SMB Overworld (in example) but it'doesn't works ...
PS:It will be better if someone can explain it in French ^^
Drag midi files over it, I guess that's as simple as it can be.
-
But I can't do it !
When I try to drag a midi file, there is no blue background under icon, on my PC, but it works in my school !
I think there is an option to allowed drag files ...
PS: I've done visualisations, I made a beautiful easter egg (with some bugs...) but I'm not allow to upload files, and my wabbitemu can't support axe and can't record gif ...
-
PS:It will be better if someone can explain it in French ^^
I guess you could ask in the french section. :)
-
I've done visualisations.
But the easter egg don't work ...
-
Why doesn't it work for me :(
I have all the files on my calc (I guess)
It plays really slow and just 1 freq cycle for a note :S
-
Just dowloaded the newest version. I cant transfer those songs to my calculator :( It said:"Incompatible type" and "Invalid or corrupted file"
-
Yeah, there's a bug where it gives an invalid checksum to the file. You can get around it by transferring it to wabbitemu and then transferring it back. I fixed this but I haven't finished the new version yet.
-
I don't have a rom image for that emulator :( I dunno how to get it from my calc.
-
Why can't I load axe in wabbitemu? Can I solve this? Otherwise please upload the asm of the player :)
-
If you don't have a rom, wabbit won't work :P
Try Rom8x (http://www.ticalc.org/archives/files/fileinfo/373/37341.html), it allows you to make a rom providing you have the calc :)
-
I have a rom. I just wanna know why I cant load apps in wabbitemu. Can someone plz send the asm
-
Again, I've started having trouble properly converting files. Could someone convert this for me?
http://www.vgmusic.com/music/console/nintendo/gameboy/MKR_Missing_Colors_Battle_Arr_Xg.mid (http://www.vgmusic.com/music/console/nintendo/gameboy/MKR_Missing_Colors_Battle_Arr_Xg.mid)
I'd like the program name on-calc to be EMTITLE. If the person who converts it also happens to be able edit MIDI files, it would be nice if it was trimmed to 0:27 and forward.
Thanks!
-
Alright, here's a compiled version of the player for Keoni, and Sir's MIDI.
Sir, I was able to cut off the first 27 seconds, and I did some slight editing so it sounded ok, though I only tested it in Wabbit. So if it still needs some tweaking let me know.
-
Thanks! You're awesome!
-
Could I also get that as an Axe-includable file?
-
Here's that include file.
-
Thanks! Still awesome!
-
I'm able to convert the midi file into a 8xp but when I choose to send to device, destination says "Incompatible Type".
-
I've tried to convert a few midi-files.
But It tells me TYPE 0 MIDI FILES ONLY!
http://www.gnmidi.com/
Even That isn't working!!
INVALID FILE TYPE!!
Can anyone please help me??
-
All the example-files are invalid file types for my ti and also for wabbitemu!!!
(http://img.removedfromgame.com/imgs/Sound.gif)
-
Me 2. I am not even able to run axe on the emulator :(
-
It'll work with Axe1.0.2
Axe1.0.4 wont!
-
I have 1.0.3
-
Anvil Studio is the best MIDI program!! Just saying.
-
http://downloader.brothersoft.com/bdm.php?url=http%3A%2F%2Ffiles.brothersoft.com%2Fmp3_audio%2Fmidi_tools%2Fmidicvt.exe&name=MIDI-file+Format+Converter
That's the best one!!!!!
Free
working perfectly
fast
free (I know it's the seconf "free"...)
-
MIDI to Axe Converter 2.0
This new version features a graphical interface so its easier than ever to use. The coolest new feature is probably the "Preview" feature which runs my own little sound simulator to simulate how the end result will sound before you do a conversion. It also has some new controls to adjust the pitch and frequency cutoff (which is the lowest midi note to be included in a conversion). There is now an option to export with the player as well.
Another thing, I have compiled the binary for windows, but I also included the source code so you can use Qt to compile it for other operating systems. Enjoy! Some samples are included for your listening pleasure :)
-
That looks awesome. However I'm guessing many other people are going to run into the problem I did: it requires library files that most people probably don't have (e.g. QtGui4.dll). If these files are absolutely necessary, why aren't the files or a link to download them included? Because I'm finding downloads that are upwards of 200MB, and that hardly sounds right.
-
Awesome!!!
-
That looks awesome. However I'm guessing many other people are going to run into the problem I did: it requires QtGui4.dll. Why is this library file necessary? Google tells me it's for Adobe Photoshop Elements, and I'm not sure why a music converter would need access to a Photoshop library file.
You are right about that... (me)
-
I gave it all the dll's and it still gave me a weird error about procedure entry points and dynamic link libraries.
But, I have some type 0 midis for you :3
-
wow awesome XD
wow Quigibo reached +777 rating XD
-
Yeah, I'm trying to figure out how to statically compile and I'll re-upload it when it works. The DLLs together should be about 13MBs. For now, you can always download Qt and it will install everything you need. In particular, I'm using version 4.6.3. This new version works on all midi files.
-
Can yo play two simultaneous notes in AXE?
-
Glad to see something that doesn't force us to go through command prompt Quigibo. I always find this long and annoying when I can,t just double click an icon and choose options in an interface and instead have to check the readme to remind myself of a syntax. I also don't mind when we can drag-n-drop files.
-
Whenever I try to run the application, I get an Application Error:
The application was unable to start correctly (0xc000007b). Click OK to close the application.
I'm running Windows 7, 64-bit.
-
How do you play music on a calculator?
-
send the music file to the calc, sand the playerm, too, put in headphones and enjoy the music!
(you need headphones with 2.5mm - the 3.5mm are too large!)
But I can't send anything to my TI from the computer, nor send anything from my TI to the computer! :'(
-
A. W. E. S. O. M. E.
I'm glad I found 2.5mm headphones
-
Will percussion work?
-
Upload a video on youtube with sound please, cuz I still haven't figured out how it works :P
-
I gave it all the dll's and it still gave me a weird error about procedure entry points and dynamic link libraries.
But, I have some type 0 midis for you :3
Same D:
-
Y U NO WORK? Im just going to use v1 -_-
Edit:
They all dont work for me D:
V1: I dont know how to make it play
Second V1: Says the appvar is invalid or corrupt
V2: Errors even after I installed the dlls
-
Soon we have real midi for axe :D (I hope)
-
will the qtcore4 thing be fixed soon?
-
Oh yeah, I'll try installing it again. I wish it weren't so complicated, but I have to build it from source in order for it to compile statically. :( Maybe I can just find all the DLLs and include those, but I have no idea which ones I would need.
Another option is that I could just rewrite it in Java using swing, that might be easiest, but it will take some time.
-
thank you. <3
-
Oh yeah, I'll try installing it again. I wish it weren't so complicated, but I have to build it from source in order for it to compile statically. :( Maybe I can just find all the DLLs and include those, but I have no idea which ones I would need.
Another option is that I could just rewrite it in Java using swing, that might be easiest, but it will take some time.
Usually, all you need are
QtCore4.dllQtGui4.dllmingwm10.dlllibgcc_s_dw2-1.dll[/s
in the same folder as the executable. IIRC, they can all be found in the Qt SDK installation.
Edit: Actually, for your program you need:
- QtCore4.dll
- QtGui4.dll
- QtSvg4.dll
- QtXml4.dll
And they should be located in Qt\bin.
-
where is Qt\bin located?
-
Okay I have it mostly working now with the exception of Midi playback which I think is due to another missing DLL, but the rest of the program works. Unfortunately, its too big for an attachment here so I will look for another place to host it.
EDIT: Here, try this: Download (http://dl.dropbox.com/u/19608384/MidiToAxe.zip) 4.52MBs
-
thanks :D
-
can someone please make these into files for my calc.