Page 1 of 1

Midi Disassembler - plus a toy

Posted: Thu Jan 24, 2008 6:54 am
by Dare
This is not a tip or trick as I am pretty sure it offers nothing in that department.

Also it is not really an announcement because it is just a chunk of unsupported code.

So I put it here. :D

This disassembles a midi and produces a text file.

It is public domain software.

Hopefully it is useful to someone.

Zip: http://www.gemcutters.net/pbOddments/di ... leMidi.zip

A request: If you improve it (and you easily can) please post those improvements so all may benefit.

Posted: Mon Jan 28, 2008 12:37 pm
by Dare
A toy to go with this. It plays via midi output from a plain text music "score"

Handles notes and events, including SysEx

The included scores are extracts from various mid files (from a modded version of the prog in my previous post). Some are quite large and complex.

Sound generated seems to be okay, but this depends on the midi device. On some of my systems it is crap - but then so is the midi. On my midi keyboard some sound okay.

I did not create the music, btw, just disassembled existing midi files.

There are flaws.

This was written in a hurry as a proof to me that I could do something like this. The parser, music syntax and etc are pretty basic. Also some of the routines are pulled from a another project so there may be some extraneous stuff lying around in there. Also there may be bits that are not yet implemented.

There is a readme, if this is of more than passing interest, read it. :)


This is freeware and in the public domain.

Zip: http://www.gemcutters.net/pbOddments/playText.zip


Don't forget to remove the "End" near the start - and thus assume responsibility for any burnt toast and etc. :)


I would appreciate any feedback or opinions on this regarding "syntax" of the music and so on. And could a guru tell me if way I am sending SYSEX is okay.

BTW, both progs use 4.2alpha so anything like Mid() without length override will be thrown out by 4.1

Posted: Tue Mar 04, 2008 4:29 pm
by mp3architect
hey. I am very interested in this code only i know very little about programming or open source. I am an architecture student in London writing scripts (programming) in rhino which is very similar to Visual Basic. I am working on scripting an architectural wall system that would be recursive on music. where the wall would change based on different music played.
i was using the dissassembler form borg.org but the results are messy and when i read the txt file via rhinoscript its being very difficult.
but i was wanting to see if i could perform what the borg programme does within rhino itself. or if anything create new program that keeps the stuff cleaner and easier for rhinoscript to search and sift through the information looking for note values and so fourth.

can the code posted help me with this? how can i open it? sorry for not knowing enough but i am stuck in the architecture world so i don't know too much in computer programming. thanks for anything.

Posted: Tue Mar 04, 2008 6:41 pm
by thefool
oh hello dare didn't know you where into all this midi stuff :D

Posted: Tue Mar 11, 2008 3:46 pm
by Dare
thefool wrote:oh hello dare didn't know you where into all this midi stuff :D
I dabble. I write music, but not of your standard. And I play silly beggers with midi files (and my own format for a project - a musical that has been going for years! :) )

@mp3architect

Mate, I am not 100% sure what you are after. To get the code going just unzip and load into purebasic and run (but remove the "end" statement near the start).

There are heaps of smart people here who understand music files far better than I (for example, Mr. thefool :) ). I learned the decoding code from some code by zapman, which is somewhere on the forum and also in the code archive at http://www.purearea.net

If you give a little more detail about what you are after, perhaps one of them may be able to help.

There is even an outside chance that I may be able to help! :D