Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 04-01-2016, 07:50 AM   #41
Omni
Human being with feelings
 
Join Date: Feb 2008
Location: Albuquerque NM
Posts: 322
Default grrr arggg

I'm having a heck of a time playing with MIDI. I'm trying to copy and paste some simply chord changes but Reaper keeps truncating notes on my. It's like it's trying to quantize it to the quarter note, and any note that starts a little early ends up like 1/64th of a beat long. Even when I go move stuff around and exit the edit mode, it switches back.
Omni is offline   Reply With Quote
Old 04-01-2016, 11:58 AM   #42
MikComposer
Human being with feelings
 
MikComposer's Avatar
 
Join Date: May 2012
Location: Brighton
Posts: 1,989
Default

THIS ISSUE ALSO EXISTS IN THEME EDITOR!

My worry is that this indicates it exists all across the board.

v5.17
__________________
My Royalty Free Music library
MikComposer is offline   Reply With Quote
Old 04-02-2016, 01:11 AM   #43
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

At extreme zoom at the grid line, snapping disabled.

panicaftermath is offline   Reply With Quote
Old 04-02-2016, 06:55 AM   #44
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Doesn't happen here (5.20pre28).
Dstruct is offline   Reply With Quote
Old 04-02-2016, 05:15 PM   #45
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

This is using 5.20pre30.

Notice how the first couple of times I try to drag the note to snap to grid it doesn't take, then it does. Some kind of inconsistency. But see also what happens in the event list using the quantize slider.

panicaftermath is offline   Reply With Quote
Old 04-02-2016, 06:14 PM   #46
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Can't reproduce this.
Dstruct is offline   Reply With Quote
Old 04-02-2016, 06:57 PM   #47
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

I've attached the exact project in this licecap, running 5.20pre30. Strange how the note lengths seems to quantize correctly, even though the note ons are to the left by one tick.



Could it be a condition that exists in the project or the item itself that remains even after the issue has be fixed so that new projects/items no longer have the problem, but older ones do/might still?
Attached Files
File Type: rpp midi position test.RPP (9.0 KB, 166 views)
panicaftermath is offline   Reply With Quote
Old 04-03-2016, 05:17 AM   #48
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

Your problem is very easy to explain...
Your MIDI Item is not exactly at grid snap/measure (54.1.000)... the left edge is 8 smpl in front"right side" of it(Arrange timeline) & your timebase within the MIDI Editor is set to
Project Sync and or Project beat/time and not Source beats.
And this 8 smpl out of the grid >Left Edge-Item Position produce one 1 tick rounding error --of course together with MIDI editor timebase -project time XX editing instead of Source beats..
& such Left-Edge Item timeline positions

But of course rounding error is the false word.. it is an User error.
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-03-2016 at 05:50 AM.
ELP is offline   Reply With Quote
Old 04-03-2016, 07:26 AM   #49
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
Default

Quote:
Originally Posted by MikComposer View Post
THIS ISSUE ALSO EXISTS IN THEME EDITOR!

My worry is that this indicates it exists all across the board.

v5.17

Can we assume you posted this response in the wrong thread?
*sigh*
__________________
Ici on parles Franglais
ivansc is offline   Reply With Quote
Old 04-03-2016, 04:24 PM   #50
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

Quote:
Originally Posted by ELP View Post
Your problem is very easy to explain...
Your MIDI Item is not exactly at grid snap/measure (54.1.000)... the left edge is 8 smpl in front"right side" of it(Arrange timeline) & your timebase within the MIDI Editor is set to
Project Sync and or Project beat/time and not Source beats.
And this 8 smpl out of the grid >Left Edge-Item Position produce one 1 tick rounding error --of course together with MIDI editor timebase -project time XX editing instead of Source beats..
& such Left-Edge Item timeline positions

But of course rounding error is the false word.. it is an User error.
If it's user error (and I don't discount that possibility) then I'd really like to know what error I'm making to create multi-event offsets that don't respond as expected to grid-based quantizing.

And this isn't about wanting or needing some kind of absolute machine precision, but about wanting a reliable basis for the incorporation of imprecision. Items and events are either aligned to the grid or they're not. If they are, but their positions are simply being mis-displayed as a result of "tick position display rounding" (as seems to be the case) then that's reassuring, but still a cause of some confusion and production paranoia.
panicaftermath is offline   Reply With Quote
Old 04-04-2016, 05:30 PM   #51
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

More user error?

Image taken with 5.20pre30, but confirmed with 5.18 (downloaded file name did not indicate it as a RC.)

panicaftermath is offline   Reply With Quote
Old 04-04-2016, 11:24 PM   #52
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

Yes User error ^^
You cant simply use MIDI Items positions safe at project timeline
without snap to measures or quarter beats
and do MIDI edits after Item position offsets. ^^

The problem is, that there seams two different ways of sample position to Midi tick position
from float to integer conversion to be active or whatever at some math stage..

Within project timeline it seams to be that positions are always rounds-up up
and within MIDI editor timeline (project xx) rounds up >0 <= 0,5.down and >0.5 <1 up

It is like it is; if the Item Left Edge and or snap marker offset position within project timeline is within the first half of an tick length (sample position/MIDI Tick) you get an -1 Tick error.
If the offset position is within the second half of an Tick length, you get no error (-1 Tick error)

And see above this could be, (for example) if sample position to tick position float /int math work both different...

At some stage(math) time line position conversion from sample position to tick(ppq) result is integer -1
And within MIDI Editor timeline (timebase to project xxx) the result is int 0
And this is, if the offset position is within the first half tick lenght except 0

In english, it is complicated for me to explain, because it is complcated ^^
but I catch the error 100%.

This is the formula of the spl position offset Range , means when you get the -1 Tick error.
z = int (((60.000.000 : BPM) : ppq) : (1.000.000 : Hz)) : 2
Range = +-1 to +- z

As example at 60 BPM/960 ppq and 44.1 khz project sample rate
One Tick length in spl would be 45,9375 spl. Round-up 46 spl
Half tick length (0.5 tick) would be 22,96875 spl

If I take your above Project example with the MIDI item at 54.1.000 +8 spl time line offset 123 BPM/960 ppq/44100 Hz
1 MIDI Tick = 22,4085
0.5 tick = 11,204 ) int 11

Error range +-1 to 11 spl offset position from MIDI Tick
Means if you now move your Item from +8 to +12 ,13,14 up to +24 spl offset you get no error.
If your Item offset is +-1 to 11 spl from tick you get errors.

I share one licecap with
60 BPM/960 ppq/44.1khz as example (2,5 mb)
As I said it is :
"In English, it is complicated for me to explain, because it is complicated ^^."

Look at the lice, you can easy see what I mean...
Project Timeline smpl to MIDI Tick-Editor timeline. gif
https://i.imgur.com/IZaSRcE.gifv

And it has nothing to do with an special project or whatever.
With the help of the above little formula you can catch this with every project & sample rate/BPM & ppq you want.

For me It is an MIDI Item at project timeline position convention to Tick position
global bug and it is not 100% fixed!!

Please DEVS have one or two eyes on it..
This is not fixed!!!

and because this can also occur via marker snap(spl or whatever) with snap enable,
I find it problematic!!

The project timeline spl position to MIDI tick item Left/marker snap position to integer ppq convention is buggy .

If you want no errors you have to snap MIDI items at grid measures or quarter beats or simply stay with your spl MIDI Item offsets within the green range..
But the size of the green/red range of course refers to project sample-rate hz/bpm/item ppq ^^
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-04-2016 at 11:37 PM.
ELP is offline   Reply With Quote
Old 04-04-2016, 11:54 PM   #53
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

Quote:
Originally Posted by ELP View Post
If you want no errors you have to snap MIDI items at grid measures or quarter beats or simply stay with your spl MIDI Item offsets within the green range..
But the size of the green/red range of course refers to project sample-rate hz/bpm/item ppq ^^
Well I don't know. Your reply was a trip!

I AM snapping cutting and moving always on the grid, on a major beat div, even when I don't need to in order to get the actual performance. It's easier to work with items in clean chunks, even with item offsets. What more do I need to do to avoid this "user error"?

Quote:
I find it problematic!!
Is a good word for it.

Are you saying that changing the sample rate on my audio interface, like for a latency change, can do this?
panicaftermath is offline   Reply With Quote
Old 04-05-2016, 04:06 AM   #54
snooks
Banned
 
Join Date: Sep 2015
Posts: 1,650
Default

Do you have "Snap/Grid Settings -> Snap to Project Sample Rate" and "Project Settings -> Force project tempo/time sig change to occur on whole samples" enabled?
snooks is offline   Reply With Quote
Old 04-05-2016, 04:22 AM   #55
panicaftermath
Human being with feelings
 
Join Date: Dec 2014
Posts: 538
Default

Nope to both.
panicaftermath is offline   Reply With Quote
Old 04-05-2016, 07:48 AM   #56
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

"Your reply was a trip"

loool , was clear^^

and no snooks this has nothing to do with different options.. Everybody has it..
(of course only with Editor timebase to project xxx)
There is simply , I think,- it looks so^^ one fault with the project timeline conversion from float to
integer against conversion from float to integer within Editor timeline for the MIDI Item
to RAW Ticks
Or something like that... The Devs should know it much better^^

It is not ok as it is.. For me this is buggy...
MIDI Item offsets without -1 Tick error are only possible if the position is in between green line or simply always snap items to measure/quarter beats - like I, normally, always do.

Maybe this little picture, I quickly, draw explain it easier... as my English
But i think also: if I would/had explain this in German language- only 10% would understand
So here is one illustration, maybe it explain it easier^^

"Are you saying that changing the sample rate on my audio interface, like for a latency change, can do this?"
No this would only change the size of the red/green range.... like the tempo and ppq would also do^^
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-05-2016 at 08:02 AM.
ELP is offline   Reply With Quote
Old 04-05-2016, 08:59 AM   #57
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

EDIT.
I initially thought this particular thing was just one display error
but it is clearly not.
I really thing, something is different at conversion from float to integer project timeline via MIDI editor timeline.

The next two picture show one item which include these 1 Tick error after quantize all
I exported the item first (high res.15360 ppq) from Editor, so no project timeline is involved
result picture 1.
All is fine. Within Editor and with timebase edit to project time beat
it show me the error but after export from editor it is gone. For me clear, no project timeline conv. is involved

And now the exact same item 1.0.000 but exported not directly from Midi editor (pic 2)
- exported from project timeline(main view), the same position and length.... normally --but it isnīt.. incl End of track missing 1 tick

Look at the ON OFF Note positions incl. the END of track..
It is the same MIDI Item at the same timeline position... but item included these 1 tick project timeline thing after quantize and type in measure/beat positions....
It is not only display... it is there... after the project timeline is involved^^

__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-05-2016 at 09:11 AM.
ELP is offline   Reply With Quote
Old 04-05-2016, 11:13 PM   #58
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

The problem with MIDI Item offsets is that within the MIDI Editor RAW values conversion from float to integer > 0.0 <1.0 always result to 1 = rounding up to integer Tick +1

And together with timebase to project beats/time/sync
The the float values conversion behavior to integer here(project timeline) is
>=0.5 and < 1 = tick +1 |
< 0.5 and >= 0 result integer Tick +0

the RAW MIDI Data with values <0.5 are already at +1 and together with project timeline the project timeline values are Tick +0

So if the MIDI Item position is at timeline set in between >0 <0.5 of the time/samples length of one MIDI Tick
1 tick is always missing and result
as example in 1.4.959 instead of 2.1.000


See gif:
For easier testing, I set the ppq to 11025 /30 BPM / sample rate to 44100
8 samples would be now 1 MIDI Tick
Marker 2 is set to the half length of one Tick
You see that the RAW/Source event data is already at +1 MIDI Tick for the Note
The timebase to project beats not it is at +0... (gif 1)
gif 1



If I would move the Note position to marker >=1/2(float >=0.5) both would be + 1 (gif 2)


gif 2



The float to integer conversion behavior within MIDI Editor to source beats RAW MIDI
against project timeline is not the same..

And the result is this -1 tick -MIDI Item offset behavior...
As I said already before:

This is clear one conversion Bug and it is not fixed!!
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.
ELP is offline   Reply With Quote
Old 04-06-2016, 03:44 AM   #59
snooks
Banned
 
Join Date: Sep 2015
Posts: 1,650
Default

Confirmed.

With a Take Start Offset (Alt+dragging content or adjusting left item edge), it looks like the PPQ position is rounded up from >0.0 to 1 immediately, which throws off the PQN calculation.

Another repro:

- Create new project
- Insert new MIDI item
- Go to List Editor, insert note at 1.1.0 (project beats/sync mode)
- Zoom in in arrange view (change timeline to samples if you like)
- Alt+drag contents right a fraction of a sample
- PPQ position of note is now 1, when it's really much closer to 0.
- Quantize (or edit) note will now result in -1 tick since they are subtracting 1 from the rounded up PPQ value.
snooks is offline   Reply With Quote
Old 04-06-2016, 11:34 AM   #60
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

^^ Jope

And this is also the reason, why sometimes manual entered Note positions/tick values via dialog
would be/seems not accepted properly(with Editor timebase to project beat/time....)
...subtracting 1 from the value you have actually entered.

BTW. This is one of the older Bugs..

Please Devs, have a look on this, thank you.
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-11-2016 at 11:11 AM.
ELP is offline   Reply With Quote
Old 04-07-2016, 04:41 AM   #61
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

And this affected of course not only MIDI Item positions without snaps to 1/1; 1/2 ; 1/4 ...... or with simple pre ms time offsets
it can of course also affected every recording which begin not with/at snap to grid...
say pressing record during playback or whatever.
And depends on the used Tempo, ppq and sample-rate one tick can result in a lot of samples...

PICture:
Simple MIDI Output send recording from track 1,2 and 3.. to track 4
Items all at snap positions
but the recording begin without snap. You see a 1 tick error(at project timeline track 4)
with one DAW intern MIDI send Output recording.

For me this is an prio. should fix Bug or whatever i call this..

Itīs affected a lot of basic timing things.

And as Snoogs already wrote: "it throws off the PQN calculation."

Greetings.

__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-07-2016 at 04:51 AM.
ELP is offline   Reply With Quote
Old 04-08-2016, 05:00 AM   #62
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

"Itīs affected a lot of basic timing things"

This is now my last example how much affected this
"project timeline position to integer ppq"
vs
"RAW/Source MIDI to integer ppq"
float to integer calculation bug the global timing.

Simple intern MIDI Output recording track 1+2 to track 3

1. picture all items + recording start at 1/4 snap positions
there are two simple square tempo marker.
The first exact at the Note On (timeline position 3.1.00 100 BPM)
and the second
exact at NOTE Off position(timeline 3.4.00 138 BPM)
Output Recording starts at 1.0.000

What do you now see, as recording result(pic 1), has nothing to do with a good timing!!!

And this is only one simple Daw intern MIDI Output recording without involved Hardware

If I would move the tempo marker away from NOTE ON/Off 1/4 in front and 1/4 after ...
the result looks like
Picture 2.. now it is as it should with one intern recording.

The float to integer calculation behavior for source MIDI ppq against project timeline position ppq is simply not the same!!!

RAW calculate +1 tick immediately after >x.0
Project timeline +1 Tick only after >= x.5 positions

Thatīs why example picture one result in such bad timing!!!

And this wrong behavior, of course..,
affected the global REAPER MIDI timing completely.
(I personally cant believe that this is much work to fix.
It is just two different float to integer behaviors)

BTW if there would be more tempo changes at more event positions the recording/the timing would result in stumbled beat.

Picture 1



-
-
-
Picture 2



Greetings and in hope that this would be fixed...
EDIT the pictures are from 5.20pre32 , 5.18 of course results in the same..
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 04-08-2016 at 05:48 AM.
ELP is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:33 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.