Midi Disassembler - plus a toy

Everything else that doesn't fall into one of the other PB categories.
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Midi Disassembler - plus a toy

Post 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.
Dare2 cut down to size
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post 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
Dare2 cut down to size
mp3architect
New User
New User
Posts: 1
Joined: Tue Mar 04, 2008 4:19 pm
Location: London

Post 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.
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

oh hello dare didn't know you where into all this midi stuff :D
Dare
Addict
Addict
Posts: 1965
Joined: Mon May 29, 2006 1:01 am
Location: Outback

Post 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
Dare2 cut down to size
Post Reply