Midi export missing maybe something

Started by FabriceGP, June 21, 2022, 01:28:43

Previous topic - Next topic

FabriceGP

Hello all,

I'm using OpenMPT mainly for one of its functions : its midi export feature. I've already realized some covers of very known modules (Artificial Intelligence, Red Sector Theme, i.e) and i'm now trying to deal with Physical Presence, yes, this monument composed by Jogeir the great. I'm working with Ableton Live and virtual instruments.

The problem is that at least one of the instruments play simultaneously on two different channels. the result is that I will get both channels of the same instrument mixed together in the same MIDI track, resulting in a completely unusable track if the instrument has to be mono/gliding.

Maybe i'm missing something but there should be an option allowing us to separate everything, instruments and channels, it will then be easyer to mix stuff afterwards than to erase/copy manually things that should not be in a particular midi track.

Saga Musix

If you use the "any channel" option for exporting that instrument, you could separate the echo notes and normal notes by removing everything that's on the channel containing the echos.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

FabriceGP

Hello,

the export options I've got on the latest version of OpenMPT are : the instrument, the midi channel I chose for it, and if a program change has to be added to the midi track. If you're talking about the midi channel I can select for this instrument, I always choose any, since the midi channel can be ignored when working with VSTi, the problem is that any option I could select for the midi channel, the result is always the same : all instruments of the same number will be in the same midi track.

I found a workaround in the meantime : disabling module channels and exporting in several midi files but it's not ideal.

Saga Musix

QuoteIf you're talking about the midi channel I can select for this instrument, I always choose any, since the midi channel can be ignored when working with VSTi, the problem is that any option I could select for the midi channel, the result is always the same : all instruments of the same number will be in the same midi track.
Yes, that's what I mean. With that configuration, both MOD channels belonging to the same instrument will end up in the same MIDI track (merely a property of the MIDI file) but on different MIDI channels (a property of the MIDI protocol). The details will vary for each DAW but you should be able to split the track into its individual MIDI channels, or apply a filter to only allow notes from specific MIDI channels to be played.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

FabriceGP

Thank you very much for the multi channel feature inside one midi track, it's a thing I didn't know about at all.

Unfortunately, Live can do nothing about it , even by routing midi from a track to another, and the little software gn1to0 completely destroys the midi file, from 30 tracks it saves 17, and when importing the result to live, I get only 4 tracks.

so all in all, it would be mega cool if this particularity of some modules could be taken care of, I mean : if the same instrument is played (simultaneously or not) on several channel, to be able to force the creation of a new midi track.

thanks for your time btw.

Saga Musix

MIDI export used to export one MIDI track per pattern track instead of one MIDI track per instrument, but semantically that just didn't make any sense (and it's not something that could be easily re-introduced because the MIDI export code has been completely rewritten in the meantime). I suppose that one thing that could help and could be done on top of the existing MIDI export implementation is to offer the possibility to export one MIDI file per channel, similar to the stream export options.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

FabriceGP

Indeed I used this "one track per channel" feature for these two instruments, I only had to delete everything before and after those patterns and my instrument 29 was in two different tracks. not ideal but at least its a workaround.


FabriceGP

After more testing, I managed analyzing the generated midi file with a midi monitor in my DAW, ableton Live. it happened that Ableton deleted all the multichannel features of all tracks, in my case, the instrument 29 was finally always played on channel 1, even if OpenMPT generated events for channels 0 and 3 for this instrument. What I suspect, is that ableton has a very strict midi importing rules which are : midi type 0 is always one track, maybe multichannel, while midi type 1 can be multitrack, but never multichannel.

This situation makes it impossible to have a one shot export/import setting if I don't have a intermediate tool (like MidiEditor), when any module has any instrument playing on several channels simultaneously.

Maybe it can be an interesting subject to debate about among the dev team, but what I suggest would simply be to have an option disallowing OpenMPT to generate multichannel midi tracks, which would be coherent with what I've read about the midi standard. On this particular case, Ableton Live (and surely some other DAWS) would be very happy to get additionnal tracks

Saga Musix

Nothing OpenMPT does here is against any standard or uncommon. Ableton just has a very simplistic MIDI implementation, not a strict one. From what I know, they are pretty much the only one insisting on having a single MIDI channel per track. I cannot modify the core logic of OpenMPT's MIDI export to cater to a single manufacturer. It would make more sense to do such post-processing after the MIDI file was created and before it's imported into Live.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.