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

Reply
 
Thread Tools Display Modes
Old 05-15-2018, 01:49 AM   #1
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default [5.79] MIDI EDITOR: The problem with the positioning of midi notes

MIDI EDITOR: The problem with the positioning of midi notes:

GIF №1: Drawing nodes in items drawn from different starting points
GIF №2: Consequences: 'bug' in items snap
GIF №3: Consequences: 'bug' with phase

------------------------------------------------------------
!!!!!!!!!!!I have a custom solution in a post #27!!!!!!!!!!!
------------------------------------------------------------

GIF №1:
• I create items with grid divisions
• I'm drawing a midi note in the item
• The note is drawn on the grid

• Create items without snapping to the grid
• I'm drawing a midi note in the item
• The note is not drawn on the grid

• Other experiments with change the borders of the item and updating the item's borders




GIF №2:
• I record the first item from the grid position 1
• The note is positioned on the grid
• Cropping items by content

• I record the second item from the grid position 4
• The note is positioned on the grid with offset
• Cropping items by content

• I move the first item to the second track
• Duplicate all items
• There is a shift in the lot relative to the lot, as the binding mode "Snap media item to nearby items up to X"




GIF №3:
• I recorded the kick on the first track by turning on the recording from the 1st beat
• Quinted the notes (most likely the notes were quantized exactly on the grid)
• Duplicate content by track

• I recorded the same kick on the second track by including the record from the 4th beat
• Quinted the notes (most likely the notes were quantized exactly on the grid)
• Duplicate content by track

• I click the play button and look at the master channel (on the right)
• Everything is not bad

• Inverted the phase on the second track and started playing again
• On the main channel (on the right) it is clear that the antiphase on the second channel sometimes coincides with the phase on the first track, and sometimes does not match
••• it was expected that there should be no sound, because the second track is in antiphase



other files:
project
https://stash.reaper.fm/33570/Snap_bug.zip

other videos (with sound)
https://streamable.com/9ekvt
https://streamable.com/k7bp7

Last edited by Ameliance SkyMusic; 05-18-2018 at 02:50 AM.
Ameliance SkyMusic is offline   Reply With Quote
Old 05-15-2018, 01:58 AM   #2
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Try to increase ticks per quarter note, for example, to 10000, then create new project and add some midi items to check.
vitalker is online now   Reply With Quote
Old 05-15-2018, 02:11 AM   #3
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by vitalker View Post
Try to increase ticks per quarter note, for example, to 10000, then create new project and add some midi items to check.
Thanks. I tried, but the problem remained.
Ameliance SkyMusic is offline   Reply With Quote
Old 05-15-2018, 02:21 AM   #4
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Ameliance SkyMusic View Post
Thanks. I tried, but the problem remained.
You should create NEW items.
vitalker is online now   Reply With Quote
Old 05-15-2018, 02:52 AM   #5
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by vitalker View Post
You should create NEW items.
I restarted the program after changing the settings and tried again. Is it considered?)
Ameliance SkyMusic is offline   Reply With Quote
Old 05-15-2018, 03:38 AM   #6
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Ameliance SkyMusic View Post
I restarted the program after changing the settings and tried again.
If you will read carefully, this option works for NEW items. You should create new items even after restart. So the best option would be to restart Reaper, create a new project and add some midi items to check. It doesn't matter, whether you restar it or not. If it won't help, it could be a bug.
vitalker is online now   Reply With Quote
Old 05-15-2018, 04:10 AM   #7
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by vitalker View Post
If you will read carefully, this option works for NEW items. You should create new items even after restart. So the best option would be to restart Reaper, create a new project and add some midi items to check. It doesn't matter, whether you restar it or not. If it won't help, it could be a bug.
That's exactly what I did. I changed the settings to 100 000, restarted the project and did exactly the same thing again. Then changed the settings to 10 000 and again created a new project and tried to do the same thing again)

Ameliance SkyMusic is offline   Reply With Quote
Old 05-15-2018, 04:18 AM   #8
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

It seems to be a bug then!
vitalker is online now   Reply With Quote
Old 05-15-2018, 04:34 AM   #9
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,362
Default

Hi vitalker, you mean its not a bug, if you change parameters in the preferences to get it work like expected? I would say there is something odd going on. In several threads people wrote about this strange behavior including me, and i think that should be motivation enough to change the defaults to make sure everything is fine.

I have no idea if the new upcoming version will fix this, but it should just work like expected. Notes on grid have to sit right on the place, exactly where i placed them. For me it was a surprise that midi notes just changed positions after moving and copying items. I never really realized what caused it but since then i always have to double check my midi items before i make the final render. This can't be right. It makes me feel like working with a lottery.
Eliseat is offline   Reply With Quote
Old 05-15-2018, 05:00 AM   #10
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Sorry but the default PPQ is fine because that is used on hardware MIDI sequencers as well. Hardware devices don't support these uber-high PPQ rates that Reaper can do internally, so the default of 960 is the actual default that should stay that way. Because this stuff is pretty standardized already.
EvilDragon is online now   Reply With Quote
Old 05-15-2018, 05:03 AM   #11
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

We definitely should wait for devs' response.
vitalker is online now   Reply With Quote
Old 05-15-2018, 05:04 AM   #12
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Official dev response: https://forum.cockos.com/showpost.ph...18&postcount=2
EvilDragon is online now   Reply With Quote
Old 05-15-2018, 05:07 AM   #13
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by EvilDragon View Post
Yeah, thanks. It's what I meant, but couldn't find.
vitalker is online now   Reply With Quote
Old 05-15-2018, 05:17 AM   #14
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

And more importantly:

Quote:
Originally Posted by schwa View Post
I'm not trying to be a purist about this, but the fact is that MIDI events exist on a MIDI ppq grid, which in most cases will align with the project beat grid. If your edits are always snapped to the grid, then MIDI events will stay on the same grid as the project. It requires an unsnapped edit for MIDI events to get off the project grid.

In your example above, if you split the media item at an unsnapped point, and then snapped the right-hand side to the grid, then MIDI events in that item will no longer be on the grid. The only way to prevent this would be to prevent that unsnapped split in the first place.
EvilDragon is online now   Reply With Quote
Old 05-15-2018, 05:17 AM   #15
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

The official dev response:

Quote:
Originally Posted by schwa View Post
What happened is it got accurate Starting with 5.28 the piano roll displays MIDI events at their exact MIDI tick location. Depending on the exact placement of MIDI media items, start offset, time signature, and grid settings, the project grid divisions may not fall exactly on MIDI tick divisions. This is only noticeable when zoomed very far in, as in your screencaps. But what you are seeing is exactly what is being played back.

(Assuming the screencaps are all the same project, in 5.20 you would find that events that appear to be exactly snapped to a grid line while editing might be in a different location if the project is closed and reopened, because the fractional displayed locations are not the exact tick locations of events.)

Given a project with no partial measures, MIDI media items that are snapped to the beat, no start offset in the media items, and grid settings that divide evenly into the MIDI ppq setting, then MIDI ticks should align with the grid. If you are not able to snap MIDI events to a specific grid position that you want to, then one of those things must not be the case in your project.
To complicate matters, there may a difference between:
1) the start position of the MIDI source, and
2) the start position of the MIDI item in the arrange view, which is the visible part of the MIDI source.

AFAIK, it is the source that should be aligned with the grid, since each item's MIDI ticks are calculated from the start of the source. When you drag a MIDI item's border, you change the visible part, but not necessarily the source position.

To correct an existing MIDI item and its source simultaneously, you can split the item at the nearest grid, after unlooping/unpooling the item and enabling Preferences -> "Allow trim of MIDI items when splitting").


Quote:
Originally Posted by schwa View Post
Given a project with no partial measures, MIDI media items that are snapped to the beat, no start offset in the media items, and grid settings that divide evenly into the MIDI ppq setting, then MIDI ticks should align with the grid. If you are not able to snap MIDI events to a specific grid position that you want to, then one of those things must not be the case in your project.
Another possibility is stretched MIDI items.


Quote:
I restarted the program after changing the settings and tried again. Is it considered?)
New PPQ values can also be applied to existing MIDI items by gluing them in place.
juliansader is offline   Reply With Quote
Old 05-15-2018, 05:57 AM   #16
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by juliansader View Post
The official dev response...
What about the 3rd GIF?
I see (and I hear) that the phase does not always converge
Ameliance SkyMusic is offline   Reply With Quote
Old 05-15-2018, 06:04 AM   #17
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Ameliance SkyMusic View Post
What about the 3rd GIF?
I see (and I hear) that the phase does not always converge
Did you try it with clean synth like ReaSynth with initial preset?
vitalker is online now   Reply With Quote
Old 05-15-2018, 06:23 AM   #18
mawi
Human being with feelings
 
Join Date: Apr 2011
Location: Germany
Posts: 1,185
Default

I don't want to know how precise MIDI notes behave with the Swing knob in the MIDI Editor. This is especially important for the groove of the drums. Just like triggering drums for drum replacement.

I am disappointed that in today's modern world there are still such strange and complicated MIDI problems for the REAPER user.
mawi is offline   Reply With Quote
Old 05-15-2018, 06:31 AM   #19
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by vitalker View Post
Did you try it with clean synth like ReaSynth with initial preset?
yes

project
https://stash.reaper.fm/33570/Snap_bug.zip

video (with sound)
https://streamable.com/9ekvt
https://streamable.com/k7bp7

Last edited by Ameliance SkyMusic; 05-15-2018 at 06:43 AM.
Ameliance SkyMusic is offline   Reply With Quote
Old 05-15-2018, 06:43 AM   #20
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by mawi View Post
I am disappointed that in today's modern world there are still such strange and complicated MIDI problems for the REAPER user.
It's not a problem at all. It's the truth. MIDI items don't obey the audio grid (which is based on project sample rate and the ruler mode you chose), MIDI items follow their own "MIDI PPQ" grid, which in majority of cases will match with the project grid, but in some other cases it won't. When it doesn't, the offset is still less than half a millisecond. Which is hardly an issue in practice. It's MIDI, it's not audio, it doesn't follow the same rules. It cannot.
EvilDragon is online now   Reply With Quote
Old 05-16-2018, 02:29 AM   #21
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by EvilDragon View Post
It's not a problem at all. It's the truth.
Is it not possible to solve this at the program level (something like that on the screenshots and with the avoidance of all the consequences)?
Simply if I do so, I will lose all the midi data that are outside the visible zone and if I have a pair of items open, then I risk that they stick together





At me it works, but thus visible borders of an item should be on a grid.

Ameliance SkyMusic is offline   Reply With Quote
Old 05-16-2018, 03:02 AM   #22
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by EvilDragon View Post
It's not a problem at all. It's the truth
Quote:
Originally Posted by Justin View Post
[...]

maybe it turns out this can be solved if you come up with a script after creating an item (drawing or writing)
- keep the position of the item borders
- move the borders of the item to the exact value of the grid
- make Glue item
- Turn the borders to the original value



----------------------------------------------
in my case, you can do this:
- keep the position of the item borders
- move the borders of the item to the exact value of the grid
- make Glue item
· Apply quantization or other suitable function
- Turn the borders to the original value

Last edited by Ameliance SkyMusic; 05-16-2018 at 03:34 AM.
Ameliance SkyMusic is offline   Reply With Quote
Old 05-16-2018, 03:50 AM   #23
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by Ameliance SkyMusic View Post
What about the 3rd GIF?
I see (and I hear) that the phase does not always converge
Unfortunately I do not quite understand what you are doing in the 3rd GIF.
juliansader is offline   Reply With Quote
Old 05-16-2018, 04:02 AM   #24
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by juliansader View Post
Unfortunately I do not quite understand what you are doing in the 3rd GIF.
almost the same as in post #19

first track:
I write down a note from the first bar
- quantize by grid

second track
note from the fourth bar
- quantize by grid

-Check the phase
-invert the phase on the second track and check the phases again
Ameliance SkyMusic is offline   Reply With Quote
Old 05-16-2018, 04:14 AM   #25
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by EvilDragon View Post
It's not a problem at all. It's the truth
Quote:
Originally Posted by Justin View Post
[...]
I recorded at the fourth measure, three times
1.
• I recorded a note
• Randomized by grid
• Checked. The note does not hit the grid

2.
• I recorded a note
• Saves the value of the right border
• Moved the right border to the grid
• Applied gluing
• Restored the value of the right border
• Randomized by grid
• Checked. The note does not hit the grid

3.
• I recorded a note
• Saves the value of the right and left borders
• Moved the right border to the grid
• Applied gluing
• Restored the value of the right and left borders of the borders
• Randomized by grid
• Checked. Everything is fine. Notes appear in the grid


Interesting. could something be done at the program level such as in the third example?
This is applicable both to creating an item by drawing and to recording

Ameliance SkyMusic is offline   Reply With Quote
Old 05-16-2018, 04:30 AM   #26
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Nothing will change at Reaper's level - as per schwa's post here:

https://forum.cockos.com/showpost.ph...7&postcount=29

Quote:
Originally Posted by schwa View Post
The note snapping issue is explained in technical detail above. You can make project edits that cause MIDI notes to not snap to the grid. This was always the case, but before 5.26 the notes would be drawn so that they appeared to snap. We're not going to revert back to that behavior because it was inaccurate. If your edits are always snapped to the grid, then MIDI events should always be snappable to the grid.
EvilDragon is online now   Reply With Quote
Old 05-16-2018, 05:20 AM   #27
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

Quote:
Originally Posted by EvilDragon View Post
Nothing will change at Reaper's level - as per schwa's post here:[...]
Ok, then I'll use some custom solution... Why not?
(of course I do not know how it will behave in practice yet)


----------------------------------------------------------
Custom: ASM [ITEM] Refresh item (grid bug)
SWS/BR: Save edit cursor position, slot 01
Item navigation: Move cursor to start of items
SWS/BR: Save edit cursor position, slot 02
Item navigation: Move cursor to end of items
SWS/BR: Save edit cursor position, slot 03
SWS/BR: Restore edit cursor position, slot 02
View: Move cursor left to grid division
Item edit: Trim left edge of item to edit cursor
SWS/BR: Restore edit cursor position, slot 03
View: Move cursor right to grid division
Item edit: Trim right edge of item to edit cursor
Item: Glue items
SWS/BR: Restore edit cursor position, slot 02
Item edit: Trim left edge of item to edit cursor
SWS/BR: Restore edit cursor position, slot 03
Item edit: Trim right edge of item to edit cursor
SWS/BR: Restore edit cursor position, slot 01

Last edited by Ameliance SkyMusic; 05-16-2018 at 05:59 AM.
Ameliance SkyMusic is offline   Reply With Quote
Old 05-18-2018, 02:31 AM   #28
Ameliance SkyMusic
Human being with feelings
 
Ameliance SkyMusic's Avatar
 
Join Date: Mar 2018
Location: Ukraine
Posts: 115
Default

side effects that sometimes interfere with
Ameliance SkyMusic 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:17 AM.


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