Skip to main content

Import midi files No Real length

Posted

Hi all

I create midi files in Ableton .I export those midi files from Ableton .

I import them in Reaper and they are perfect,as are.With the same start position and length

I create midi files in Reaper .I export those midi files from Reaper .

I import them in Ableton and they are perfect,as are.With the same start position and length

I import those midi files in Synfire and they have the same start position but the length are shorter,they don´t reflect THEIR REAL LENGTH

 

 How can i import in synfire the midi files exported from Ableton and Reaper  with their original lengths,not shorten ?

 

Cheers


Wed, 2014-08-27 - 19:17 Permalink

Hi

All the individual note lengths.You can try yourself

Make in Ableton or reaper in one bar a simple four notes 1/4 and export the midi file.

Open Synfire.Import the midi file.Drag it into ableton and you will see the length of eack black notes are shorter.

They start at the right place but their duration are shorter than a 1/4 (for example)

Thu, 2014-08-28 - 08:14 Permalink

Notes of same pitch are required to have a small gap (1 tick) between. Note-on and Note-off arriving at the same time would produce hanging notes. Synfire takes care of this for playback and export.

Notes of different pitch are not affected.

Thu, 2014-08-28 - 12:43 Permalink

Hi Andre

Thanks for your answer

I don,t understand then why synfire is different than Ableton and Reaper in this basic question,export and import midi,the notes position and length as are regardless the pitch notes

In Ableton and Reaper Note-on and Note-off arriving at the same time the same pitch notes don,t produce hanging notes

Is really weird

Cheers

Fri, 2014-08-29 - 02:03 Permalink

Hi

Blacksun thanks to your help but i don,t want to quantize all the notes to the same figure (1/4,1/8....) my midi files have different start positions and durations,the four 1/4 (black notes) in one bar was as example

Andre : Notes of different pitch are not affected.

I have tested it with the simple four notes 1/4 in a bar example with the four notes with different pitches and the gaps still there.You can see in the picture

Attachments

Fri, 2014-08-29 - 08:11 Permalink

When I examine closely the output of Tyros 5, that is a trick it often uses.  Two or more events of the same note almost exactly the same time.. This gives it unique 'humaness' quality to the performance, much like you finger bumps into another note than what you meant or you doube trigger the same note.  but since it is so soft and short, you're not really conscious of it. but it adds to the performance..  The same goes if I purchase a MIDI file, there's little 'burps' in it. soft and short, but they create a useful artifact beneficial to the music. 

 

Logic 9 handles these fine..  I'm not sure how Logic or other sequencers handle it, but they do. it would add to the realism of SFP to be able to do the same. 

Fri, 2014-08-29 - 09:38 Permalink

@shivaloca

Thanks for the picture. That gap looks huge! The gap Synfire inserts for same-pitch notes is only 1 millisecond (1 MIDI clock tick max at its default resolution). This looks like something else to me.

How long is one grid line in your picture?

Fri, 2014-08-29 - 09:42 Permalink

like you finger bumps into another note than what you meant or you doube trigger the same note.

Synfire supports overlapping notes, of course. Music would be useless without. Heck, chords would not be possible ;-)

Triggering the same note twice however is physically impossible with a keyboard. Most synths and plug-ins don't like it. As do many sequencers. Therefore this is eliminated by Synfire on playback and export.

Fri, 2014-08-29 - 18:06 Permalink

Hi

Mark how are you? ;) i am agree with your opinion.

I think all the DAWs import and export the notes of the midi files as are,with the same start positions and duration as were created.

That is the reason that i am beeing insistent with this because i don,t see normal how synfire import and export the midi files that i create in ableton and reaper and i imagine that would be the same as i created them in cubase,logic,sonar,reason....

Andre said that with different pithes this should not happen but the practice tells me yes happens.

See my pictures and you will see.

When i drag the midi file from Synfire or export from synfire and import in ableton,the length of the notes don,t reflect their original length and this is not good if you want to preserve their original status

The process that i did is very simple:

-i create in ableton or reaper a very simple midi file to test with one bar,four black notes 1/4

I export it to my desktop

I import it into synfire.I drag it from synfire to ableton or reaper and is losed their original lengths,are shorter,less or more but shorther

If i export the midi file from synfire instead drag the result is the same

Cheers ;)

 

Fri, 2014-08-29 - 21:23 Permalink

Out of curiosity, I have tested this with Cubase. If you draw quarter notes in the piano roll editor of Cubase with the pencil tool (and quantization switched on) then Cubase generates notes, whose end points lie exactly at the starting point of the subsequent note, i.e. if one note starts at 2.2.1.0 and ends at 2.3.1.0, then the next note starts at 2.3.1.0. These notes are shortened by Synfire by one tick, if the the subsequent note has a different pitch (i.e. the note that starts at 2.2.1.0 then ends at 2.2.4.119). If the subsequent note has the same pitch, Synfire shortens the note by two ticks (i.e. the note then ends at 2.2.4.118).

 

For me, that's not an issue. At least I can not make a difference of notes with a length difference of one or two ticks. It would be a different matter, if the starting point of the notes would move.

 

Fri, 2014-08-29 - 23:29 Permalink

I am with Jurgen on this one.

Can't recreate this.

In fact I imported a lot of various Midi stuff from various older projects from me

this week from various DAWs into Synfire without any problems at all.

This probably has to be something else.

 

Best,

tL.

 

Sat, 2014-08-30 - 03:50 Permalink

While manually playing a kbd, you cannot double trigger a note, although you can hit it a second time before the decay and release cycle of the 1st note are finished.  Triggering the same note twice (the 2nd time before the first one dies out) is done by Tyros 5 and is included in professional midi's I have bought.. It obviously uses up another voice, to accomplish this.

 

A 2nd voice of the same note is fired.  Because they are slightly out of sync as the note data is output, you get a bit of flanging, or doubling (chorus effect of  same note,, which is sometimes desireable. 

 

It happens in Logic sometimes in the manipulation and overdubbing, or submixing of tracks.

 

At the near completion of a tune.  I solo each track in Logic  and listen from start to end.. I sometimes discover flanges of a note cause there are two or more instantances of the same note on the same clock count.  It DOES play it, you can hear it, if you listen closely.  Normally you probably wouldn't want it on drums, but it is a useful technique for other instruments,  All of my instruments will respond to it, so will all my virtual instruments if they are set to polymode.

Sat, 2014-08-30 - 15:31 Permalink

While manually playing a kbd, you cannot double trigger a note, although you can hit it a second time before the decay and release cycle of the 1st note are finished.

Well, that's a different thing. You are talking about the generated sound. That's possible and often desired. MIDI notes need not overlap to achieve that.

Because they are slightly out of sync as the note data is output, you get a bit of flanging

 

It is unpredictable how a synth or plugin would respond to that, since MIDI does not support it (there is no way of transmitting overlapping notes with same pitch). NOTE ON and NOTE OFF just happen as they occur and NOTE OFF could not tell to which of multiple previous NOTE ON it belongs.

This is also why some MIDI files import so badly, usually files with zero-length notes (NOTE ON & NOTE OFF with no time between).

Synfire is about composing. Two notes with same pitch at the same time (same instrument) may be a concept for sound design and mixing. It does not fit well into traditional notation.

Sat, 2014-08-30 - 15:41 Permalink

@juergen: Thanks for taking the time to test with Cubase.

Cubase generates notes, whose end points lie exactly at the starting point of the subsequent note.

Cubase takes care of sending NOTE OFF before the next NOTE ON starts, even if they are stored at the same position. I tried to do it the same way with Synfire, but failed. Synfire does not know the pitches until the very last millisecond before they are sent. This kind of optimization is possible only with static MIDI data that can be arranged properly beforehand.

Another issue is that Synfire DOES generate a lot of overlapping notes, depending on what crazy things you do with Figures (morphing, for example). Therefore the last step in the rendering process always looks for such overlaps and eliminates them by shortening durations.

Admittedly this is not perfect and may be worth looking at again.

Sat, 2014-08-30 - 20:57 Permalink

Here's a fast simple midi file showing single notes and then double of each note hit exactly the same time and of the same duration..You do hear a subtle flanging..

 

Here's the midi file  - https://app.box.com/s/makg2nt9b58xm71jzwbm

 

Here's the mp3 clearly showing the difference between single and exact double notes at same time and same duration..   https://app.box.com/s/e4gizy5mwcqat0i8c82y

 

Here's a jpg of event list - https://app.box.com/s/vpwx85boddgqpy5n39zp

 

All of my instruments hardware and soft respond the same way.. Obviously some sounds will produce a stronger effect. I import songs into logic fine, but sometimes they do note import well into SFP.  I must first 'clean them up' in Logic to get the desired result.   

 

Back in the 80's I worked at Voyetra. We made a sophisticated analog 8 voice machine digitally controlled (based on 8 ARP 2600's).. Our company was # 6 in the original group of companies who drew up the midi specs..   I not positive of this.. I think at first the midi spec called for a note on and a note off.  Later companies used the duration length to automatically transmit a note off, so when you looked at an event list there was no MIDI off command for notes.  So MIDI off was kind of dropped out, or some companies didn't bother with it. 

 

I was a demonstrator, not a programmer, but that is how it was explained to me. 

Sat, 2014-08-30 - 21:32 Permalink

All of my instruments hardware and soft respond the same way.. 

 

I can confirm that. With Cubase also you can easily stack multiple notes at the same pitch and MIDI-channel and at least the soft synths that I use treat that in the way Mark Styles has described: The notes are played louder and with a flanging effect. Obviously, the synths play a note with multiple voices if they receive several consecutive note-on commands and they stop those voices  one after the other when they receive the appropriate number of note-off commands.

 

Sun, 2014-08-31 - 10:31 Permalink

they stop those voices  one after the other when they receive the appropriate number of note-off commands

That's a hack to prevent dangling notes only, not a solution. The MIDI standard provides no way to tell which OFF belongs to which ON. You can not  hold a long note and have a shorter note overlap it. Once you release the key, it will always end the first note, never the second. Or the synth may decide otherwise, but you never have control. As each note has its ADRS envelope and timing, this matters.

Re-triggered notes are an accidental artifact that is not very useful for composing music. It may have its uses in mixing and sound design. Still, articulations and CC are the more reliable way to control sound.

Sun, 2014-08-31 - 10:35 Permalink

Later companies used the duration length to automatically transmit a note off, so when you looked at an event list there was no MIDI off command for notes.

A duration element does definitely not exist. I would be the first to appreciate it!

All sequencers internally work with durations and hide the NOTE OFF events from users (as Synfire does). However, once MIDI is transmitted or written to a file, sequencers must send/write NOTE OFFs and deal with the problem in some way. The safest is to eliminate conflicting overlapps from the beginning.

What you may also refer to is NOTE ON with zero velocity, which is treated the same way as NOTE OFF. 

Sun, 2014-08-31 - 13:52 Permalink

A duration element does definitely not exist. I would be the first to appreciate it!

All sequencers internally work with durations

What Mark probably means is that the very first sequencers (on DOS or Atari - probably before your time  ;) ) internally stored the pure MIDI stream of Note-On- and Note-Off-commands instead of Note-on-positions and the duration of the notes (as DAW's nowadays do). Of course it's clear that the MIDI standard has no Note-duration-command.

 

Meanwhile I did some further tests. What does Synfire if two notes of the same pitch overlap over a longer period? I have tested this with two notes which I draw in the piano roll editor of Cubase: The first one starts at 2.1.1.0 and ends at 2.2.2.0 (which is a duration of one quarter note plus one sixteenth) and the second note starts at 2.2.1.0 and ends at 2.3.1.0 (a quarter note starting at the second beat of measure 2). These two notes overlap by one sixteenth. What does Synfire at the import of this MIDI file? Well, the resulting Symbols show the correct length (with overlap). Then I did a MIDI export. There, at the exported MIDI file, the first note is shortened by that overlapping sixteenth note (plus two ticks) so that no overlap remains.

I think this behaviour indeed is not ok. Synfire shouldn't radically eliminate all overlaps as it does now. Sure, overlapping notes is a situation that can not happen when you play on a keyboard instrument. But there are many sort of instruments (guitar, violin...) where overlapping notes of the same pitch are indeed possible and used. 

How do modern DAW's handle this? I think that they simply make sure that at a given point in time first all Note-Off-commands are sent and then all Note-On-commands. The rest is left to the synths. And the synths usually can cope well with overlaps.

There can be special command for eliminating overlaps. Cubase has two of them. One command eliminates overlaps only if two overlapping notes have the same pitch and the other one does it even if they have different pitches (what can be used to create a one voice melody from polyphonic material).

 

Sun, 2014-08-31 - 14:22 Permalink

"Delete Overlaps" and "Force Legato", same as Logic.  Synfire has a legato option as well, 

however AFAIK it deals only with one note at a time, thus expecting monophonic notes

even on chords. Legato should work no matter how many notes per same starting position.

 

Best,

 

tL.

 

Sun, 2014-08-31 - 14:36 Permalink

 

Synfire has a legato option as well, 

Ah yes..Synfire also has already a "Shorten Overlaps" command. That should be sufficient. 

 

Sun, 2014-08-31 - 17:40 Permalink

Hi

I think the most option equanimous would be synfire import the length of the original notes of the midi file as are and let to the user to have the freedom to change or not their overlapping with synfire´s tools as shorten overlaps.delete overlaps,force legato....

  It is like the cooks do in restaurants with their salads.Serve natural,as are, and with the freedom to add or not to add the   amount of oil,vinegar and salt that you decide ;)
  cheers