Skip to main content
Topic: feature request: import multiple voices from midi files (Read 3535 times) previous topic - next topic

feature request: import multiple voices from midi files

Why can't NWC import overlapping notes from MIDI files??? It would be so much better if it did. If you export an NWC file with multiple voices like 'two eighth notes over a quarter note' to a MIDI file, you'll notice the 'two eighth notes over a quarter note' has become two eighth notes (the quarter note turned into an eighth note)

Re: feature request: import multiple voices from midi files

Reply #1
I think i've mentioned this one before too.  I agree.
Sincerely,
Francis Beaumier
Green Bay, WI

Re: feature request: import multiple voices from midi files

Reply #2
But -- I believe that any one staff represents a single MIDI channel.  Since the "Off" signal for the first eighth note also kills the quarter note there is no way of even knowing that there was a quarter note on the staff, if you simply look at the MIDI commands.  So, if you want the quarter note AND the two eighth notes to show up on the import, you have to have them on different channels, which also means on different staves.  Thus the only way this can be done is by using layering and multiple channels, all using the same instrument.

I'm expect the MIDI mavens will either concur or correct this explanation.

Re: feature request: import multiple voices from midi files

Reply #3
Forgive me for correcting you Cyril.
The Note On / Note Off messages both carry the Channel, Note No. (pitch) and Attack Velocity data.
There is no reason why a Note Off for a middle C (Note No. 60 for example) should affect any other note with a different note number on the same channel.
In fact if you write a moving passage over a held chord on the same channel you will hear that the Note Off messages in the moving part do not stop the notes in the held chord.

Re: feature request: import multiple voices from midi files

Reply #4
But the original question specified "overlapping notes".  From the description of the current behavior it seems clear that what was meant was notes of the same pitch.

Re: feature request: import multiple voices from midi files

Reply #5
OK Cyril.
But on reading it back:-

The original post said "two eighth notes over a quarter note".
It did not specify notes at the same pitch nor did it imply that the quarter note was at the same pitch as the eighth note.
My reply was based on the OP using overlap to mean one set of notes over the other.

If you import a MIDI file containing a series of passing notes over a held chord, all in the same channel, NWC truncates the held chord to the duration of the first passing note.
I don't understand why this should happen!

 

Re: feature request: import multiple voices from midi files

Reply #6
My guess, and that is all it is, is that the MIDI commands for each note are generated independently.  Thus for each note a ON command (again, I believe NWC does not use ON/OFF commands, but rather sets the volume/velocity to a non-zero value to start a note and to zero to stop it -- but ON/OFF is less typing) and an OFF command are generated, with these sorted by their time-stamps.  Once all the staves have been processed the commands are either written to a file or sent to the sound card (physical or virtual) for actual sound production.

Thus, when there are two notes on the same channel at the same pitch which overlap you will have two ON commands (not always simultaneous) followed by two OFF commands.  The first cuts of the sound at that pitch on the channel, the second acts as a no-op (unless a third ON has occurred before it).

These overlapping notes need not be on the same staff, only on the same channel, so "fixing" the problem can only be done after all the MIDI commands are generated.  The program would have, then to scan each channel's list of commands looking for successive OFF commands on the same pitch with no intervening ON command on that pitch.  Do-able, but another step in the MIDI generation.

Note that in either case the re-imported MIDI would not reflect the original score, as it (effectively) cannot contain overlapping notes in the sense used here.

Generally, when I have such passages (given enough channels) I layer the score and assign different channels with the same instrument to each staff.