|
|
|
05-28-2011, 10:11 AM
|
#1
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
MIDI Items timebase bug?
Hi,
When I switch a MIDI items Timebase to TIME and then change the tempo of the project, the MIDI item plays faster or slower depending on the tempo. This should not happen.It makes it impossible to match a projects grid to an already recorded MIDI performance. The only way I have found to "lock" a MIDI item to time is to go into every items properties INDIVIDUALLY and set the Item to "ignore project tempo". Also when I do it that way,what a PITA, if I subsequently split the item, all sorts of weird oddities...mising midi notes and such....occur.
Plz confirm guys....
Plz..lets get this fixed? If it were, "reclocking" a song would be possible.
Guido
Here is the bug report on the tracker...big thx to PooFox http://forum.cockos.com/project.php?issueid=3412
Last edited by Guido; 06-26-2011 at 10:44 AM.
|
|
|
05-28-2011, 11:34 AM
|
#2
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,218
|
Just tried it here on beta 7 and it seems fine, you are using the tempo control and not the rate control?
|
|
|
05-29-2011, 10:28 AM
|
#3
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by musicbynumbers
Just tried it here on beta 7 and it seems fine, you are using the tempo control and not the rate control?
|
Hi,
Thx for responding musicbynumbers...but maybe i wasnt clear....empty midi item..make 4 quarter notes...set items timebase to Time....change the project tempo....the notes timing changes w project tempo. Your system doesnt do that?
Any help appreciated...thx
Guido
xp32SP3 Beta 7
EDIt...The items "boundries" stay correct but the notes inside stay w tempo......arrrrrrrrrggghhhh
Last edited by Guido; 05-29-2011 at 10:33 AM.
|
|
|
05-30-2011, 09:17 AM
|
#4
|
Human being with feelings
Join Date: May 2011
Location: Belarus, Minsk
Posts: 12
|
Reaper 3.76
I found bug with midi editor interface: grid lines don't match actual project's grid, especially when I try to zoom in. However, snapping works properly.
|
|
|
06-13-2011, 03:23 PM
|
#5
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
yes this is the most annoying limitation in reaper. midi content and item container respond separately to timebase. as far as i know, the only workaround is to open the item source properties and check the box that says "ignore project tempo, use..." like you said. don't understand why it has to be like this. it's the only way to get midi items to respond correctly to timebase.
should just be that the item continually updates it's reference tempo based on the current tempo or something since you can't change that property for multiple items simultaneously... very tedious workaround
Last edited by foxAsteria; 06-14-2011 at 05:23 AM.
|
|
|
06-14-2011, 06:21 PM
|
#6
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Quote:
Originally Posted by Guido
... Also when I do it that way,what a PITA, if I subsequently split the item, all sorts of weird oddities...mising midi notes and such....occur.
|
This is a valid complaint...
Quote:
Originally Posted by Guido
Plz..lets get this fixed? If it were, "reclocking" a song would be possible.
|
Hard to know what the solution may be. MIDI by definition is 'clocked' to a quantization resolution that is tempo dependant, ie the REAPER default is 960 pulses per quarter note. So as the tempo is changed the MIDI item will shrink or grow accordingly.
Audio is clocked by the sample rate, which is NOT inherently tied to the project tempo.
To have midi clips behave like audio clips it is the MIDI that would have to be 'reclocked' Tempo changes would have to be automatically reflected in the MIDI ppq clocking. As Far As I Know
|
|
|
06-14-2011, 07:23 PM
|
#7
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
Not sure if this is a bug or not but until this is sorted we should at least have a way to set "ignore project tempo, use..." for multiple Midi items at once if we want to.
As said it's a pita going into item source properties for every item to do that.
edit:
I just checked and it v4 it works a little faster since you can go into source properties for multiple selected items at once but you still have to set the ""ignore project tempo, use..." tickbox for each item seperately.
Last edited by nofish; 06-14-2011 at 07:34 PM.
|
|
|
06-16-2011, 01:03 AM
|
#8
|
Human being with feelings
Join Date: Mar 2011
Posts: 61
|
MIDI Timebase bug - or feature - it should be replaced by accurate timing function
Hi,
if I play in a midi track. I want to have accurate timing!
Any DAW except REAPER do behave correct concerning this issue.
Cakewalk snoar for example, shows multiple recording "item containers" when items were recorded in seperate sessions. But inside the piano roll, I can handle the items together in the whole track.
If I change the tempo of the project, or change the tempo for only one bar, the MIDI items follow that without any mistake. No stretching or other dismatching of the items. Reaper should behave like that!
Best regards, Musinux
|
|
|
06-16-2011, 08:41 PM
|
#9
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
some clarification
If I record audio and MIDI to a click in REAPER, and then change the project tempo, there is no problem. The MIDI and audio stay in sync. (with audio items timebase set to Beats (position/length/rate))
Perhaps misleadingly it does not matter what the MIDI item timebase is set to, it will always change rate with a project tempo change.
Also, if I record audio without a click, set timebase to time, map the tempo every two bars I can then import or create a 2 bar MIDI item, and when looping it will fit to the audio perfectly.
It seems the problem is when we have tempo changes that are occuring within the duration of the MIDI item.
One way this happens is when we record audio and MIDI without a click, and then go to map the tempo. In this case the only way to keep MIDI and audio aligned is to check 'ignore project tempo information' in the MIDI item properties, with the original project tempo in the 'use: xxx BPM' field. When this is done the audio and MIDI stay in sync, and the MIDI eventas will move onto the project grid.
I haven't done an import of full length MIDI item into a project with tempos changes, is this where OP is having the problems?
Last edited by hamish; 06-16-2011 at 08:58 PM.
|
|
|
06-17-2011, 04:03 PM
|
#10
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by hamish
If I record audio and MIDI to a click in REAPER, and then change the project tempo, there is no problem. The MIDI and audio stay in sync. (with audio items timebase set to Beats (position/length/rate))
Perhaps misleadingly it does not matter what the MIDI item timebase is set to, it will always change rate with a project tempo change.
Also, if I record audio without a click, set timebase to time, map the tempo every two bars I can then import or create a 2 bar MIDI item, and when looping it will fit to the audio perfectly.
It seems the problem is when we have tempo changes that are occuring within the duration of the MIDI item.
One way this happens is when we record audio and MIDI without a click, and then go to map the tempo. In this case the only way to keep MIDI and audio aligned is to check 'ignore project tempo information' in the MIDI item properties, with the original project tempo in the 'use: xxx BPM' field. When this is done the audio and MIDI stay in sync, and the MIDI eventas will move onto the project grid.
I haven't done an import of full length MIDI item into a project with tempos changes, is this where OP is having the problems?
|
Bingo!
Hi,
You have it correct Hamish...the problem with using "ignore blah blah", is that u have to go into EACH MIDI items Properties separately...with many MIDI items it is not practical. AND if i remember correctly the last time i did it..if u then split that item,weird things happen to ur data.
IMHO, the timebase setting for both midi and audio should behave consistently. to me this is a long standing bug. But I love Reaper! Its kinda like my wife I..er..nm ^^
Thanks for all the responses^^ I kinda gave up^^ Thanks
Guido
EDIT..in response to ur asking of where my prob is...I often record Midi and audio w/o a click, and I would like to line up the grid with my already recorded performance.
|
|
|
06-17-2011, 04:09 PM
|
#11
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Thankk nofish but the pita percentage saved in V4 is like 2%...but thanks^^
Guido
Last edited by Guido; 06-17-2011 at 04:15 PM.
|
|
|
06-17-2011, 04:21 PM
|
#12
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by hamish
This is a valid complaint...
Hard to know what the solution may be. MIDI by definition is 'clocked' to a quantization resolution that is tempo dependant, ie the REAPER default is 960 pulses per quarter note. So as the tempo is changed the MIDI item will shrink or grow accordingly.
Audio is clocked by the sample rate, which is NOT inherently tied to the project tempo.
To have midi clips behave like audio clips it is the MIDI that would have to be 'reclocked' Tempo changes would have to be automatically reflected in the MIDI ppq clocking. As Far As I Know
|
Hi,
Thanks for taking ur time for this...in my yeterdaw, Logic, u would simply "lock" the item to SMPTE time... make all ur GRID changes ie tempo changes.. and then un lock the item..done. No ppq manipulation^^
Guido
|
|
|
06-17-2011, 09:11 PM
|
#13
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Quote:
Originally Posted by Guido
Hi,
Thanks for taking ur time for this...in my yeterdaw, Logic, u would simply "lock" the item to SMPTE time... make all ur GRID changes ie tempo changes.. and then un lock the item..done. No ppq manipulation^^
Guido
|
My yesterdaw too, like 5 years ago now! I never did no-click MIDI + audio in Logic so I didn't know of this technique, could be a feature request in this : )
There is no real problem in the REAPER 'ignore' method except that it is counter intuitive, but there is certainly need for improvement when the 'ignoring' MIDI item is split and loses notes.
Of course there is the 'per-item' PITA on top of this, so maybe what we need to do as a FR might be like a global lock MIDI to SMPTE or something?
I'm planning doing quite a lot of MIDI + audio tracking, and to avoid these problems I've been thinking about doing it all to click (I'm working with students, newbies that is)
If REAPER can improve in this area so that tempo changes are straightforward and intuitive it'd be a great thing imo.
hamish
Last edited by hamish; 06-17-2011 at 09:22 PM.
|
|
|
06-19-2011, 12:14 AM
|
#14
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Hi Guido, I just did a bit more reading on MIDI and I think what is happening (or not) in REAPER is items (in project MIDI) being reclocked after time signature/tempo markers being inserted (tempo detecting the audio of no-click audio + MIDI recordings).
I intend to test out the case of saving an item to a new MIDI file after setting an item to 'ignore' and making the program tempo map. Presume that the tempo map will be written to the new MIDI file.
If this happens then the solution may be a feature request for an option or action to 'add tempo map to in project MIDI items' or something.
There are still a few REAPER MIDI handling features I don't understand like the 'ghost clips' or whatever they are, and correct MIDI or item options may still be relevant.
|
|
|
06-20-2011, 08:50 PM
|
#15
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
I'm really glad there's some discussion on this at least.
This isn't a problem in other DAWs I've used either, so to say that this is a limitation of MIDI is not really acceptable (which is what I've taken from the developer stance on it), because clearly there are solutions in use.
I probably don't understand the technical points of the problem, but seeing as there is currently a (pita) way to make it work in reaper (ignore project tempo in item properties), I can see no reason why MIDI items can't be made to automatically update their internal tempo's to adapt correctly to time or beat (pos only) timebase. There simply MUST be a way to get MIDI items not to stretch in those modes. (and i simply can't imagine how it could be too complicated)
This is something that just glaringly doesn't work in any useable or logical way if you're trying to write a tempo flexible track with both audio and MIDI and ought to be fixed.
But at least the notes are staying in their item containers now, so maybe we're getting closer?
|
|
|
06-20-2011, 08:58 PM
|
#16
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by hamish
There are still a few REAPER MIDI handling features I don't understand like the 'ghost clips' or whatever they are, and correct MIDI or item options may still be relevant.
|
ghost clips (or pooled clips) are midi items that you can edit from any instance. if you want to make one small change in a pattern you have reapeated many times, you don't have to do this manually in each one. you can always unpool the item to make a new copy. same same but different.
|
|
|
06-21-2011, 04:09 PM
|
#17
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by PooFox
I'm really glad there's some discussion on this at least.
This isn't a problem in other DAWs I've used either, so to say that this is a limitation of MIDI is not really acceptable (which is what I've taken from the developer stance on it), because clearly there are solutions in use.
I probably don't understand the technical points of the problem, but seeing as there is currently a (pita) way to make it work in reaper (ignore project tempo in item properties), I can see no reason why MIDI items can't be made to automatically update their internal tempo's to adapt correctly to time or beat (pos only) timebase. There simply MUST be a way to get MIDI items not to stretch in those modes. (and i simply can't imagine how it could be too complicated)
This is something that just glaringly doesn't work in any useable or logical way if you're trying to write a tempo flexible track with both audio and MIDI and ought to be fixed.
But at least the notes are staying in their item containers now, so maybe we're getting closer?
|
Hi,
Ditto! Thats it!
Guido
|
|
|
06-21-2011, 09:07 PM
|
#18
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Quote:
Originally Posted by PooFox
I can see no reason why MIDI items can't be made to automatically update their internal tempo's to adapt correctly to time or beat (pos only) timebase. There simply MUST be a way to get MIDI items not to stretch in those modes. (and i simply can't imagine how it could be too complicated)
|
OK, I'm with you guys now for sure. I think I have seen where the problem is too.
(Thanks for the 'ghost' items help)
I found that the only way to create a MIDI file with tempo info from in-project recorded MIDI is via the File>Export project MIDI... menu command, being sure to check the 'embed project tempo' box.
All other methods like creating a new file from the ME, or 'apply track FX (MIDI output)' do not write a tempo map to the MIDI file.
I think for a 'timebase' mode for MIDI items (in-project) to happen REAPER must first create a tempo map sequence in these in project items, as you say 'i simply can't imagine how it could be too complicated'...
BTW, beware of 'Export project MIDI...' it has one bug at least, another example of the lack of attention to MIDI.
Want to talk crazy work-around? Guido, the idea of 'Export project MIDI...' as a solution means the old item could be replaced by the tempo-mapped file, which could then be split without losing notes. I know I'm not crazy, because I haven't bothered seeing if it works... We need the MIDI timebase modes I think.
Time to formulate a Feature Request. Scrap the 'ignore project tempo' box too.
Last edited by hamish; 06-21-2011 at 09:22 PM.
Reason: wording improvements
|
|
|
06-25-2011, 12:55 PM
|
#19
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by hamish
....
Want to talk crazy work-around? Guido, the idea of 'Export project MIDI...' as a solution means the old item could be replaced by the tempo-mapped file, which could then be split without losing notes. I know I'm not crazy, because I haven't bothered seeing if it works... We need the MIDI timebase modes I think.
Time to formulate a Feature Request. Scrap the 'ignore project tempo' box too.
|
Right On Right On!
To me its a bug, but I can see it being a feature request...bit I dont have high hopes...but I could be being pessimistic here.^^ I'm not good with this new fangled internet stuff...lol..Im 57..could u possibly formulate the FR?
Thx for ur time
Guido
|
|
|
06-25-2011, 03:21 PM
|
#20
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
I say we make a bug report since there's no forum for completing incomplete features. It's not a request for something new, just for something rather old to work as expected.
The main problem imo is that the concept of timebase is inherently confusing, so most people don't know what to expect from it anyway. It's taken me a very long time to be able to grasp what's actually wrong.
MIDI and audio need to respond the same to it or it's only good for audio projects and building frustration.
What if the item container itself provided the auto-calculated tempo information for its contents based on how we manipulated it? When we're in time or beats (pos only) timebase modes, Reaper is changing the size of the item when tempo is altered, when it should not. To my mind, it seems like Reaper is unnecessarily DOING something to the items at this point. Just a thought.
Tempo Ruler should be a reference point, not unwieldy beast with a mind of its own.
|
|
|
06-25-2011, 04:00 PM
|
#21
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by PooFox
I say we make a bug report since there's no forum for completing incomplete features. It's not a request for something new, just for something rather old to work as expected.
The main problem imo is that the concept of timebase is inherently confusing, so most people don't know what to expect from it anyway. It's taken me a very long time to be able to grasp what's actually wrong.
MIDI and audio need to respond the same to it or it's only good for audio projects and building frustration.
What if the item container itself provided the auto-calculated tempo information for its contents based on how we manipulated it? When we're in time or beats (pos only) timebase modes, Reaper is changing the size of the item when tempo is altered, when it should not. To my mind, it seems like Reaper is unnecessarily DOING something to the items at this point. Just a thought.
Tempo Ruler should be a reference point, not unwieldy beast with a mind of its own.
|
Hi,
Agreed. The last part about the item container Im still chewing on...hmmm cmon brain^^
I think the behavior should be the same for Audio and midi...therefore yjr way it is now is unexpected behavior. This bug makes making a tempo map to an already recorded midi performance dam impractical.
if u think about it , it must be harder technically to do it w audio, if u go back far enuff u'll remember that even 8mhz machines with 2 MEG of ram could do the midi end, midi manipulation just takes less cpu stuff.
Will someone make the tracker thingie?
Thx
Guido
Last edited by Guido; 06-25-2011 at 04:06 PM.
|
|
|
06-25-2011, 04:27 PM
|
#22
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by Guido
Hi,
if u think about it , it must be harder technically to do it w audio, if u go back far enuff u'll remember that even 8mhz
Guido
|
haha, think you might be a little older than me, my first machine was 500mhz, though I thought I would never need more than a gig of ram...
Quote:
Originally Posted by Guido
Agreed. The last part about the item container Im still chewing on...hmmm cmon brain^^
Guido
|
yea me too, half-baked stoner solution haha...
try wrapping your head around this: http://forum.cockos.com/showthread.p...highlight=midi
|
|
|
06-25-2011, 04:28 PM
|
#23
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
I did a couple of bug reports and contributed to a FR, back in the pre-issue tracker days, since then it's kind of the domain of the super talented or super crazy.
This discussion is helpful for me, I think we are closing on the issue.
What's happening now, in true REAPER stlye is a minimalist solution.
The fact that MIDI items don't behave as expected is (I believe, and as PF says) because the items don't have their own tempo map in the sequence. [edit - for a better understanding of REAPER MIDI data, see post #33 by jnif below \/ ]
This works fine when you import a MIDI file without any map, it is just laid out to the existing tempo map (because it is ALWAYS beat: position/length/rate)
Saying this is = Bug: MIDI items don't have timebase mode is not the best option.
What may be better is FR: Give MIDI items audio-like Item timebase: 'Time' mode
Meaning that MIDI recorded to an ARBITRARY bpm (we record with no click at default project bpm = 120) has tempo map written into the item and we do away with the need for the 'ignore project tempo' box. When the timeline is changed by inserting tempo change markers the item tempo map will be re-written preserving the midi events in time.
(as is audio with Item timebase: 'Time' in such a project)
How is that? Feel free to adapt... (BTW I'm 45 yo, bulletin board chat is about as much a I can do in the way of social interneting, great to chat with you)
Hamish
Last edited by hamish; 08-08-2011 at 04:08 PM.
|
|
|
06-25-2011, 04:32 PM
|
#24
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Quote:
Originally Posted by PooFox
|
when you're done there, if you have time look at this
http://forum.cockos.com/showthread.php?t=39179
hamish
|
|
|
06-25-2011, 05:00 PM
|
#25
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Bug Report
|
|
|
06-25-2011, 05:00 PM
|
#26
|
Human being with feelings
Join Date: Mar 2007
Location: I'm in a barn
Posts: 4,467
|
Does the behavior change if Midi is set to be a MIDI file, or if it is set to be a MIDI reference?
|
|
|
06-25-2011, 05:26 PM
|
#27
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by James HE
Does the behavior change if Midi is set to be a MIDI file, or if it is set to be a MIDI reference?
|
Nope. It still doesn't work correctly, but since internal midi will have ghosting (globally editable copies) capability in v4, I personally won't be using .MID files anymore anyway. Plus when working with .MID files you can't use some of the MIDI recording modes correctly. For instance, you can't overdub a .MID item without losing your previously recorded notes.
|
|
|
06-25-2011, 05:31 PM
|
#28
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Guido: maybe you could add the link to the bug report in your original post if it's ok? This is for me the #1 thing holding reaper back for my purposes...
Would really like to see it fixed soon so I can finish some old projects without wanting to bash in my monitor.
|
|
|
06-25-2011, 05:38 PM
|
#29
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by hamish
The fact that MIDI items don't behave as expected is (I believe, and as PF says) because the items don't have their own tempo map in the sequence.
This works fine when you import a MIDI file without any map, it is just laid out to the existing tempo map (because it is ALWAYS beat: position/length/rate)
Saying this is = Bug: MIDI items don't have timebase mode is not the best option.
What may be better is FR: Give MIDI items audio-like Item timebase: 'Time' mode
|
I don't follow you 100% but I think we're on the same page. I was suggesting that the item containers follow timebase and inform the contents of where they should be instead of the timeline, since obviously now it only works right for audio. But maybe you ought to go ahead make an FR in addition to my bug report so this can get addressed one way or another. There seems to be surprisingly little discussion on this subject and I think it's because these issues make timebase in Reaper even more confusing than it already is.
|
|
|
06-26-2011, 05:00 AM
|
#30
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Quote:
Originally Posted by PooFox
I was suggesting that the item containers follow timebase and inform the contents of where they should be instead of the timeline, since obviously now it only works right for audio.
|
This is right.
I saw your 'MIDI Timebase' bug report, that's pretty clear and a good start.
Hamish
PS, for a 'half-baked stoner solution' I think you're pretty sharp really!
|
|
|
06-26-2011, 07:03 AM
|
#31
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
haha, thanks hamish. wish we could get some more steam behind this. It's really holding me back in a big way because of how I'm trying to write music. Unfortunately, I just can't quite do it until this is fixed...
|
|
|
06-26-2011, 10:50 AM
|
#32
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Quote:
Originally Posted by PooFox
Guido: maybe you could add the link to the bug report in your original post if it's ok? This is for me the #1 thing holding reaper back for my purposes...
Would really like to see it fixed soon so I can finish some old projects without wanting to bash in my monitor.
|
Hi,
Done. Much thanks Poo...funny...and thx hamish for the "brain food" ^^ and ur help and perspective...
Guido
ps..maybe after this we can go after what logic used to call "human sync"
or just give reaper the ability to real time record a midi tempo map! Another thread..^^
|
|
|
07-03-2011, 06:02 AM
|
#33
|
Human being with feelings
Join Date: Dec 2008
Posts: 2,111
|
I'm also hoping that this bug will be fixed soon.
Quote:
Originally Posted by hamish
What may be better is FR: Give MIDI items audio-like Item timebase: 'Time' mode
Meaning that MIDI recorded to an ARBITRARY bpm (we record with no click at default project bpm = 120) has tempo map written into the item and we do away with the need for the 'ignore project tempo' box. When the timeline is changed by inserting tempo change markers the item tempo map will be re-written preserving the midi events in time.
(as is audio with Item timebase: 'Time' in such a project)
How is that? Feel free to adapt...
|
I think it is not necessary to write tempo maps to midi items.
There might be another way to handle this problem.
All MIDI items in Reaper are always internally stored using "ticks per quarter note" units. So, MIDI events' time position (in seconds) always depend on tempo. This is different compared to audio items which are stored as samples where sampling rate is defined in Hz = samples per second.
What does this mean?
It means that MIDI items are automatically using project's tempo map. There is no need to write separate tempo maps to MIDI items.
For example if you copy a midi item to a new position where the project tempo is different (or even has multiple tempo changes within the item) the stored MIDI data does not change at all. You can see this when you open the project file in text editor and look at the MIDI data. MIDI event data in the copied item is identical to the original although it plays at different tempo.
Also, it means that if you record for example a 95 bpm midi song with no click at default project bpm = 120, then those recorded midi events are still internally stored "relative to 120 bpm tempo". Probably all notes are "out of grid" and you can't use quantize operations in any musical way.
To get the project grid to follow your recording you need to do the tempo mapping as already described in this thread (set midi item time base to time, set midi "ignore project tempo" in item source properties, change project tempo map to match midi notes). However, this does not really make the MIDI item editable. For example quantizing the note lengths to grid does not work as expected and there can be unexpected problems if item is splitted.
To make the original midi item editable you have to temporarily disable all FX and VSTi on the track and then "Apply track FX to items as new take (MIDI output)". This operation rewrites the MIDI events to a new take so that the events are internally stored in relation to the modified tempo map. To the user this new take looks like an exact copy of the original. The new take will be completely editable and the "ignore project tempo" is automatically disabled in the new take. This can be used as a workaround in current Reaper version. It can be quite confusing to make these operations if you don't know what is happening under the hood. It should not be required to understand the internal implementation details when doing this kind of tempo/timing edits.
As you can see this is really much more complex process than it should be. And I hope there will bugfixes or new features that will make this process a lot easier.
jnif
Last edited by jnif; 07-03-2011 at 06:21 AM.
|
|
|
07-03-2011, 02:23 PM
|
#34
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by jnif
All MIDI items in Reaper are always internally stored using "ticks per quarter note" units. So, MIDI events' time position (in seconds) always depend on tempo. This is different compared to audio items which are stored as samples where sampling rate is defined in Hz = samples per second.
jnif
|
I get why this happens, but I still don't see why MIDI can't be reconciled to be editable based on time as well. When in time timebase for instance, MIDI should stop referencing the tempo map and use the timeline instead. That's the whole point of that mode, except MIDI refuses to cooperate. The process could and should happen "under the hood" but with a high enough resolution of ticks can be translated into time points. Is there no communication in Reaper between the time line and the tempo map? They really ought not be separate.
Is it too complicated a task to happen in real time? MIDI items should go into some suspended state whenever there are modifications to the tempo map in the two modes where items shouldn't stretch and automatically recalculate their internal positions relative to the grid after the edits.
MIDI and audio need to be capable of referencing both beat and time positions on the grid independently or in conjunction. Obviously they can't do this in exactly the same way, but there still needs to be a way.
Some very strange things still tend to happen when you insert new tempo markers before existing ones. The notes move in unexpected ways. I can't make sense of it.
Yes but timebase is definitely broken for MIDI and the current workarounds are not useful when you've got hundreds of MIDI items in a project. And I guess the reason there is so little noise about the problem is you really only see it if you're actually trying to compose songs in Reaper. I think most are using it to record pre-written material. If you do that to a click you won't often see these issues.
|
|
|
07-03-2011, 03:26 PM
|
#35
|
Human being with feelings
Join Date: Dec 2008
Posts: 2,111
|
PooFox, I totally agree with you.
jnif
|
|
|
07-03-2011, 07:21 PM
|
#36
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Quote:
Originally Posted by jnif
To make the original midi item editable you have to temporarily disable all FX and VSTi on the track and then "Apply track FX to items as new take (MIDI output)". This operation rewrites the MIDI events to a new take so that the events are internally stored in relation to the modified tempo map. To the user this new take looks like an exact copy of the original. The new take will be completely editable and the "ignore project tempo" is automatically disabled in the new take. This can be used as a workaround in current Reaper version. It can be quite confusing to make these operations if you don't know what is happening under the hood. It should not be required to understand the internal implementation details when doing this kind of tempo/timing edits.
As you can see this is really much more complex process than it should be. And I hope there will bugfixes or new features that will make this process a lot easier.
jnif
|
Thanks for your excellent reply, you have explained it well. I quoted the part above because I was wondering if the 'apply track FX' to item would 'reclock' the MIDI as you have described. I seem to remember trying this and it not working as expected. I will re-visit some projects, in the meantime, thanks.
hamish
|
|
|
07-04-2011, 12:12 AM
|
#37
|
Human being with feelings
Join Date: Jul 2009
Location: Ljubljana, Slovenia
Posts: 3,801
|
Quote:
Originally Posted by PooFox
|
Here's an optimized gif filesize:
e
|
|
|
07-05-2011, 04:10 AM
|
#38
|
Human being with feelings
Join Date: Mar 2008
Posts: 417
|
Quote:
Originally Posted by PooFox
Some very strange things still tend to happen when you insert new tempo markers before existing ones. The notes move in unexpected ways. I can't make sense of it.
|
Yes, it absolutely needs to be fixed
|
|
|
07-05-2011, 04:21 AM
|
#39
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,798
|
This behavior is very wrong and needs to be promptly fixed.
|
|
|
07-05-2011, 01:31 PM
|
#40
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by EricM
Here's an optimized gif filesize:
e
|
thanks i never tried to resize a gif. i put that on the bug report instead. i'm really surprised i havent found out about a pre-existing bug report for this yet... shoulda done it sooner i guess.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 03:37 AM.
|