MIDI help

Page: < 12 Showing page 2 of 2
Author
swamptooth
Max Output Level: -53 dBFS
  • Total Posts : 2229
  • Joined: 2012/04/16 15:44:21
  • Status: offline
Re:MIDI help 2013/03/30 20:03:46 (permalink)
hi all - 
this is the basic solution i came up with to this problem... know my math is wrong but it works enough that i have a place to start fine-tuning:

the timebase is contained in the midi file header. here's a link about how it works: http://www.omega-art.com/midi/mfiles.html
the file header specifies whether the file plays in smtp or midi ppq timing.  you need a hex editor to make changes directly to the midi file.  bytes 13 and 14 contain the timebase or delta timing information. 
here's a screenshot from timepod appears.mid (see below).  The second byte for the SMTP times is the number of subframes.  I don't remember how the math there works and it's hard to track down online.  anyway, the easiest fix I could come up with was to turn off SMTP by entering 00 where E2 is.  that makes byte 2 the number of Pulses Per Quarter-note.  I changed this value to (hex: 30- a decimal value of 48) this was a guesstimate that the PPQs would work if they mirrored what was possible in micro-midi sequencers in video games.  If you do this to all your other midi files, it should work fine. 





post edited by swamptooth - 2013/03/31 15:35:48

 
Arvid H. Peterson
Sonar X3E Prod / X2A  / X1PE | Cubase 9.5.1 | Reason 9.5 | Sibelius7 | Pure Data
Native-Instruments Komplete 10 Ultimate and a smattering of other plugins
Home-brewed VSTs 
Toshiba Satellite S855-S5378 (16GB RAM, modified with 2x 750GB HDDs, Windows 8.1 x64)  
Samson Graphite 49, M-Audio Oxygen 49, Korg nanoPAD2, Webcam motion tracking programs 
M-Audio Fast Track Ultra
Member, ASCAP   


#31
bluzdog
Max Output Level: -56 dBFS
  • Total Posts : 1928
  • Joined: 2007/10/06 17:15:14
  • Location: Lakewood, Colorado
  • Status: offline
Re:MIDI help 2013/03/30 20:25:19 (permalink)
You guys are amazing!!! I'm blown away with the level of help here. @ Bob, all the best in your recovery.

Rocky
#32
robert_e_bone
Moderator
  • Total Posts : 8968
  • Joined: 2007/12/26 22:09:28
  • Location: Palatine, IL
  • Status: offline
Re:MIDI help 2013/03/30 21:18:29 (permalink)
@Rocky, 

I have to say, swamptooth raises the bar for jumping in to help someone - in a good way.

I think part of it is that we all have our little pet projects from time to time, and many of us old folks lived through those early years of midi, so when someone says they are struggling with some aspect of working with old game midi files, it just makes us want to give our all to help.

In addition, many many folks have helped me over the years, and the music community is a fairly small one, full of passionate people.  It makes it easy to want to give back, and it is quite enjoyable when the forum can collectively resolve some bizarre issue like the one in this thread.

Wahoo!  (by the way, the pain pills are DEFINITELY working now)

Bob Bone


Wisdom is a giant accumulation of "DOH!"
 
Sonar: Platinum (x64), X3 (x64) 
Audio Interfaces: AudioBox 1818VSL, Steinberg UR-22
Computers: 1) i7-2600 k, 32 GB RAM, Windows 8.1 Pro x64 & 2) AMD A-10 7850 32 GB RAM Windows 10 Pro x64
Soft Synths: NI Komplete 8 Ultimate, Arturia V Collection, many others
MIDI Controllers: M-Audio Axiom Pro 61, Keystation 88es
Settings: 24-Bit, Sample Rate 48k, ASIO Buffer Size 128, Total Round Trip Latency 9.7 ms  
#33
robert_e_bone
Moderator
  • Total Posts : 8968
  • Joined: 2007/12/26 22:09:28
  • Location: Palatine, IL
  • Status: offline
Re:MIDI help 2013/03/30 21:35:04 (permalink)
By the way - I am digging through web documentation on parsing midi files, as a result of this thread, and I though since I was doing that for my own curiosity, maybe I can build some utility program(s) to do things with/to midi files, things that you cannot easily do in Sonar.

Sooooooo, that in mind, 

Are there functions anyone would want me to build for reading a midi file and either displaying events, filtering, editing, etc.?

No guarantees, but I have found routines and open source stuff out there that does the basic job of parsing through midi files, so adding functionality to do things with the decoded events seems like it wouldn't be too bad - except for building a full-featured staff editor (sorry guys, Finale is something like 500k of coding, and I don't think I could match their products).

Anyways, give it some thought and post back here if anyone things of anything that might be good to be able to do with a midi file.

Bob Bone


Wisdom is a giant accumulation of "DOH!"
 
Sonar: Platinum (x64), X3 (x64) 
Audio Interfaces: AudioBox 1818VSL, Steinberg UR-22
Computers: 1) i7-2600 k, 32 GB RAM, Windows 8.1 Pro x64 & 2) AMD A-10 7850 32 GB RAM Windows 10 Pro x64
Soft Synths: NI Komplete 8 Ultimate, Arturia V Collection, many others
MIDI Controllers: M-Audio Axiom Pro 61, Keystation 88es
Settings: 24-Bit, Sample Rate 48k, ASIO Buffer Size 128, Total Round Trip Latency 9.7 ms  
#34
swamptooth
Max Output Level: -53 dBFS
  • Total Posts : 2229
  • Joined: 2012/04/16 15:44:21
  • Status: offline
Re:MIDI help 2013/03/31 05:00:33 (permalink)
thanks guys for the kind words. bob somewhere along the way i missed you were a coder. we should compare notes.  

 
Arvid H. Peterson
Sonar X3E Prod / X2A  / X1PE | Cubase 9.5.1 | Reason 9.5 | Sibelius7 | Pure Data
Native-Instruments Komplete 10 Ultimate and a smattering of other plugins
Home-brewed VSTs 
Toshiba Satellite S855-S5378 (16GB RAM, modified with 2x 750GB HDDs, Windows 8.1 x64)  
Samson Graphite 49, M-Audio Oxygen 49, Korg nanoPAD2, Webcam motion tracking programs 
M-Audio Fast Track Ultra
Member, ASCAP   


#35
robert_e_bone
Moderator
  • Total Posts : 8968
  • Joined: 2007/12/26 22:09:28
  • Location: Palatine, IL
  • Status: offline
Re:MIDI help 2013/03/31 08:47:44 (permalink)
@swamptooth

I have a bunch of years in IT, mostly mainframe stuff.

I do some C# coding, am pretty fledgling at that, not so much as far as logic goes, because that is not dependent on platform so much, but just in knowing all of the pieces of the .NET framework - I find things when I go looking for ways of building some little utility for myself.

I am certainly not ready for prime-time as a PC developer - but am working on it.

Bob Bone

Wisdom is a giant accumulation of "DOH!"
 
Sonar: Platinum (x64), X3 (x64) 
Audio Interfaces: AudioBox 1818VSL, Steinberg UR-22
Computers: 1) i7-2600 k, 32 GB RAM, Windows 8.1 Pro x64 & 2) AMD A-10 7850 32 GB RAM Windows 10 Pro x64
Soft Synths: NI Komplete 8 Ultimate, Arturia V Collection, many others
MIDI Controllers: M-Audio Axiom Pro 61, Keystation 88es
Settings: 24-Bit, Sample Rate 48k, ASIO Buffer Size 128, Total Round Trip Latency 9.7 ms  
#36
swamptooth
Max Output Level: -53 dBFS
  • Total Posts : 2229
  • Joined: 2012/04/16 15:44:21
  • Status: offline
Re:MIDI help 2013/03/31 12:41:16 (permalink)
hahaha - another big iron guy thats great... i was right around the beginnings of pcs becoming powerful so i went mainframe to client server to migration of mainframe toserver to cloud (which is just another word for mainframe with better graphics). theres something cool about having to write efficient code because your business unit is getting charged  by cpu cycle and storage use. ;)

 
Arvid H. Peterson
Sonar X3E Prod / X2A  / X1PE | Cubase 9.5.1 | Reason 9.5 | Sibelius7 | Pure Data
Native-Instruments Komplete 10 Ultimate and a smattering of other plugins
Home-brewed VSTs 
Toshiba Satellite S855-S5378 (16GB RAM, modified with 2x 750GB HDDs, Windows 8.1 x64)  
Samson Graphite 49, M-Audio Oxygen 49, Korg nanoPAD2, Webcam motion tracking programs 
M-Audio Fast Track Ultra
Member, ASCAP   


#37
Page: < 12 Showing page 2 of 2
Jump to:
© 2025 APG vNext Commercial Version 5.1