Somnium7
Noise Criminal
I find it pretty disturbing how the software companies are bastardizing standards that were carved in stone decades ago. In programs like Logic and Acid 6 when you export a Standard Midi File (SMF) you do not get an SMF. Instead you get some messed-up conglomeration full of illegal messages that can't be played back on anything but the program that originated the file. In some cases even the originating program can't even play the file back (Acid 6).
For my bands recent concert I decided to try an experiment with playing back Midi files from my Akai sampler in hopes that in future shows we could completely dispense with the laptop. I decided to make Midi + sample versions of three of our songs and play them entirely from the Akai. I started by rendering all the rhythm loops down into samples. This was easily done with Acid's render-between-loop point option. Once all the samples were rendered I ported them into the Akai and used it's control program Aksys to create programs for the samples and map them to key ranges. Then I created Midi tracks for each audio track in Acid and played or drew in the Midi notes to trigger the samples where the original audio tracks played back. This was all pretty easy and worked like a charm. When this was completed I could mute all the audio tracks and playback the song from the Midi tracks.
The next step was to export an SMF of the song and port that to the Akai. Now comes the monkey wrench in the works. The Akai would not play the SMF at all. After much gnashing of teeth I decided to look at the file in Acid's List Edit. I saw a dozen or so Control Change messages at the begining that looked odd so I deleted them. Exported the file again and this time the sampler started to play the song but soon froze up solid with a bunch of stuck notes.
Next I opened the SMF up in Cubase SE 3 and used that program's List Edit to inspect the Midi information. Suprise suprise! In Acid I saw only a dozen CC messages which I thought I had deleted, but in Cubase I now saw no less than 65 CC messages, 24 program change messages, a handfull of song pointer messages, and no header message (mth) at all. Instead of the header there was a text message that read "created by Sony, Acid 6". Out of curiosity I opened the same file up back in Acid 6 and hit play. It couldn't play the file back. I then hit play in Cubase and it tried to play the song but it all came out of one channel.
Now it was time to play Midi surgeon. Since I hadn't used program changes in my song I went into Cubase's List Editor and deleted all the Program Change messages. I didn't stop there, I went ahead and deleted all the song pointer messages and the text message too. After this I used Cubase's Midi filters to remove all Continuous Controller and Control Change messages. Once this was complete I exported the file from Cubase. I then opened the new file up in Cubase and looked at it in List Editor to find that Cubase had written a header message as the first item in the file. It looked ok now so I sent it to the Akai and hit play on that machine. The entire song played back without a glitch.
During our show we had several embarrassing problems with the laptop and at some point we decided to skip doing two songs because of it. So I shut down the laptop and continued the show with the 3 songs in the Akai with no problems. We've since decided that the extra work is worth it to be free of the craptop. It still doesn't change the fact that a STANDARD MIDI FILE is a STANDARD. A standard that should be followed closely by software companies. If they want to make proprietary file formats then let 'em, just don't call it a SMF.
For my bands recent concert I decided to try an experiment with playing back Midi files from my Akai sampler in hopes that in future shows we could completely dispense with the laptop. I decided to make Midi + sample versions of three of our songs and play them entirely from the Akai. I started by rendering all the rhythm loops down into samples. This was easily done with Acid's render-between-loop point option. Once all the samples were rendered I ported them into the Akai and used it's control program Aksys to create programs for the samples and map them to key ranges. Then I created Midi tracks for each audio track in Acid and played or drew in the Midi notes to trigger the samples where the original audio tracks played back. This was all pretty easy and worked like a charm. When this was completed I could mute all the audio tracks and playback the song from the Midi tracks.
The next step was to export an SMF of the song and port that to the Akai. Now comes the monkey wrench in the works. The Akai would not play the SMF at all. After much gnashing of teeth I decided to look at the file in Acid's List Edit. I saw a dozen or so Control Change messages at the begining that looked odd so I deleted them. Exported the file again and this time the sampler started to play the song but soon froze up solid with a bunch of stuck notes.
Next I opened the SMF up in Cubase SE 3 and used that program's List Edit to inspect the Midi information. Suprise suprise! In Acid I saw only a dozen CC messages which I thought I had deleted, but in Cubase I now saw no less than 65 CC messages, 24 program change messages, a handfull of song pointer messages, and no header message (mth) at all. Instead of the header there was a text message that read "created by Sony, Acid 6". Out of curiosity I opened the same file up back in Acid 6 and hit play. It couldn't play the file back. I then hit play in Cubase and it tried to play the song but it all came out of one channel.
Now it was time to play Midi surgeon. Since I hadn't used program changes in my song I went into Cubase's List Editor and deleted all the Program Change messages. I didn't stop there, I went ahead and deleted all the song pointer messages and the text message too. After this I used Cubase's Midi filters to remove all Continuous Controller and Control Change messages. Once this was complete I exported the file from Cubase. I then opened the new file up in Cubase and looked at it in List Editor to find that Cubase had written a header message as the first item in the file. It looked ok now so I sent it to the Akai and hit play on that machine. The entire song played back without a glitch.
During our show we had several embarrassing problems with the laptop and at some point we decided to skip doing two songs because of it. So I shut down the laptop and continued the show with the 3 songs in the Akai with no problems. We've since decided that the extra work is worth it to be free of the craptop. It still doesn't change the fact that a STANDARD MIDI FILE is a STANDARD. A standard that should be followed closely by software companies. If they want to make proprietary file formats then let 'em, just don't call it a SMF.