Export MIDI file as multi-track Type "0"

Discussion about: tracktion.com
Post Reply New Topic
RELATED
PRODUCTS

Post

I can export a single clip OK by using the file icon in the clip, as well as the export menu.

But I seem to notice the same issue I had when exporting several tracks to a MIDI file that I had with Waveform 8:
1. Create multiple tracks 1, 2, ..., etc. with each having a MIDI clip for a different virtual instrument plugin.
2. Set MIDI channels used by clips in each track respectively to channels 1, 2, ..., etc.
3. "Export > Render to a File > Format: MIDI file", but un-select "Render Each Track to a Separate File". This should give you one multi-track MIDI file for your exported composition.

The events in the exported MIDI file will show the MIDI events correctly according to the channel they originated on, but the file will be incorrectly identified by most applications when you import this file. All of the MIDI data will get dumped into one track in the receiving application, regardless of the MIDI channel.

This seems to imply that the file is not reflecting the correct MIDI file type after export from Waveform. MIDI file Type "0" export still seems to be missing ...
Windows 10 and too many plugins

Post

We only export MIDI Type "1" files.

Is what you really want a type "0" export or do you really want a type "1" file with individual MIDI tracks for each Edit track?

I think the main issue at the moment is that we render all MIDI in to a single MIDI track when exporting so that every export will only have a single MIDI track. This can be useful if that's what you want to do but we probably need an option to add separate MIDI tracks to the MIDI file for each track in the Edit.

Adding type "0" would then be a separate FR.

Post

dRowAudio wrote:We only export MIDI Type "1" files.

Is what you really want a type "0" export or do you really want a type "1" file with individual MIDI tracks for each Edit track?

I think the main issue at the moment is that we render all MIDI in to a single MIDI track when exporting so that every export will only have a single MIDI track. This can be useful if that's what you want to do but we probably need an option to add separate MIDI tracks to the MIDI file for each track in the Edit.

Adding type "0" would then be a separate FR.
Now that you mention it, I believe Waveform is actually exporting a type 0 MIDI file, because:

A. All Waveform tracks on the rendered file are merged into one MIDI track. That is one of the defining characteristics for type "0" MIDI files. This can be an issue, unless you ensure each track has been assigned a different MIDI channel in the project prior to export. But if you import this file into another host sequencer, everything is jumbled into one track. This makes it difficult to recreate your performance in another host.

B. MIDI file Type "1" is supposed to have separate information for each track, enabling the preservation of the track structure. If Waveform was truly exporting type "1" MIDI files with multiple MIDI tracks, then importing them into other MIDI sequencer hosts wouldn't be an issue.
Windows 10 and too many plugins

Post

++++++ 100 !!

I've had open a tread in march 2018 related on the exact same problem...
http://www.kvraudio.com/forum/viewtopic ... 2&t=501971

Thank you for detailing and insisting, zzz00m... :tu: :tu: :tu: :tu:

Post

zzz00m wrote:
dRowAudio wrote:We only export MIDI Type "1" files.

Is what you really want a type "0" export or do you really want a type "1" file with individual MIDI tracks for each Edit track?

I think the main issue at the moment is that we render all MIDI in to a single MIDI track when exporting so that every export will only have a single MIDI track. This can be useful if that's what you want to do but we probably need an option to add separate MIDI tracks to the MIDI file for each track in the Edit.

Adding type "0" would then be a separate FR.
Now that you mention it, I believe Waveform is actually exporting a type 0 MIDI file, because:

A. All Waveform tracks on the rendered file are merged into one MIDI track. That is one of the defining characteristics for type "0" MIDI files. This can be an issue, unless you ensure each track has been assigned a different MIDI channel in the project prior to export. But if you import this file into another host sequencer, everything is jumbled into one track. This makes it difficult to recreate your performance in another host.

B. MIDI file Type "1" is supposed to have separate information for each track, enabling the preservation of the track structure. If Waveform was truly exporting type "1" MIDI files with multiple MIDI tracks, then importing them into other MIDI sequencer hosts wouldn't be an issue.
If I take an exported MIDI file from example "A" above with all tracks merged into one MIDI track, and each source MIDI track using a separate MIDI channel, and import that MIDI into another DAW - all MIDI data gets jumbled into one MIDI track.

If instead, I first import that same MIDI file to a program such as Anvil Studio http://anvilstudio.com/, and then export it again as MIDI type "0", any other program will import that file with separate MIDI tracks.
Windows 10 and too many plugins

Post

I don't think I was clear in my previous post.
zzz00m wrote:All Waveform tracks on the rendered file are merged into one MIDI track. That is one of the defining characteristics for type "0" MIDI files
This isn't strictly true. Although this is the typical use case for MIDI file 0 types, there's nothing to say that you can't write a MIDI file 1 type with multiple MIDI channels.

The 0/1 differentiation is that:
• Type 0 - A single MIDI track will be written in to the file. On import, separate channels will be expanded to separate tracks in the host. • Type 1 - Multiple tracks will be written in to the file. On import, each of these tracks will expanded to separate tracks in the host. MIDI channel information is not used to determine track layout.

As you can see from this description, in W9, we're writing MIDI file 1 types, but we're only creating a single "MIDI Track" in the file.
What we need to do is add the option to render each track in the host to a separate "MIDI Track" in the file. At the moment, they all get munged together.

In you example, where you have different tracks using different channels, if we were writing "MIDI File Type 0" files, these would get expanded to separate tracks on import in to hosts (which they don't because all MIDI Files we export are Type 1).

I hope this makes sense and I think the first FR should be for us to add an option to add "MIDI File Tracks" for each "track in the Edit".
Adding "MIDI File Type 0" support would be a separate FR but I don't think is actually much use.

Post

dRowAudio wrote:I don't think I was clear in my previous post.
zzz00m wrote:All Waveform tracks on the rendered file are merged into one MIDI track. That is one of the defining characteristics for type "0" MIDI files
This isn't strictly true. Although this is the typical use case for MIDI file 0 types, there's nothing to say that you can't write a MIDI file 1 type with multiple MIDI channels.

The 0/1 differentiation is that:
• Type 0 - A single MIDI track will be written in to the file. On import, separate channels will be expanded to separate tracks in the host. • Type 1 - Multiple tracks will be written in to the file. On import, each of these tracks will expanded to separate tracks in the host. MIDI channel information is not used to determine track layout.

As you can see from this description, in W9, we're writing MIDI file 1 types, but we're only creating a single "MIDI Track" in the file.
What we need to do is add the option to render each track in the host to a separate "MIDI Track" in the file. At the moment, they all get munged together.

In you example, where you have different tracks using different channels, if we were writing "MIDI File Type 0" files, these would get expanded to separate tracks on import in to hosts (which they don't because all MIDI Files we export are Type 1).

I hope this makes sense and I think the first FR should be for us to add an option to add "MIDI File Tracks" for each "track in the Edit".
Adding "MIDI File Type 0" support would be a separate FR but I don't think is actually much use.
Yes your clarification is correct. I believe that the confusion with other hosts on importing the Waveform export type "1" is that the host is only seeing the one MIDI track, which results in all data being imported to one track, and not being expanded.

I think your solution to add an option to "add MIDI File Tracks" would result in an improved Waveform MIDI file export where other hosts would expand the multiple tracks upon import. That would be a huge usability improvement! If this was implemented, I see no reason to also add a MIDI type "0" export.

Thanks for the follow-up! :tu:
Windows 10 and too many plugins

Post Reply

Return to “Tracktion”