Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 12-02-2018, 07:52 PM   #1
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 3,195
Default Midi scheduler engine multiplier option

I tend to use zero-latency audio monitoring, either through my mix console or with the zero latency monitoring feature of my audio interface. So, for audio, I don't need or use low latency settings to monitor through Reaper while recording. However, setting the ASIO buffer to higher (longer latency) values introduces unacceptable delays in getting external MIDI in and out of the PC.

I request there be a new setting in Reaper Settings where one could enter an integer (and a checkbox to enable/disable) that would cause the MIDI event scheduler in Reaper to run 2 to 4 times as often, so MIDI I/O would be handled at appropriate speeds when using high audio latency settings.

This would, to some degree, decouple audio and midi processing speeds, and allow the user more flexibility over what their CPU bandwidth gets targeted toward.

Thanks in advance for considering this feature.
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - Audio streams

Last edited by Philbo King; 12-02-2018 at 07:57 PM.
Philbo King is offline   Reply With Quote
Old 12-03-2018, 06:35 AM   #2
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,785
Default

I'm not sure if MIDI and audio can be decoupled like that in Reaper, they're kinda tied together. From another thread:

https://forum.cockos.com/showpost.ph...1&postcount=51
EvilDragon is offline   Reply With Quote
Old 12-03-2018, 07:13 AM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

What do you suggest is "the Midi Scheduler" ?

I understand that Audio is handled by the multiple stations the stream on a "per block" base (e.g. the plugins are fed with complete audio blocks at a time). The in-block timing is "locally" (and hence virtually) done by the position of the sample in a block.

Midi messages also are transferred together with the audio block they are located in timing-wise. They are always marked with an "offset" denoting their position in that block (in counts of samples).

So I don't see what can be improved regarding the Midi/audio timing by Reaper itself.

-Michael
mschnell is offline   Reply With Quote
Old 12-03-2018, 07:52 AM   #4
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 3,195
Default

I'm suggesting, in the case of a sample block of 1024 samples, with the multiplier set to 2, that the midi be processed every 512 samples.

Surely there is a sample clock/counter in Reaper, isn't there?
After all, MIDI handling is a software construct in Reapers architecture, right?

Or does Reaper rely on hardware interrupts from the audio card to schedule everything? Or some other mechanism?

Is that why Reaper won't run with a midi port connected but no audio device present? (Nosy geek, interested in the topic...)
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - Audio streams

Last edited by Philbo King; 12-03-2018 at 07:58 AM.
Philbo King is offline   Reply With Quote
Old 12-03-2018, 10:18 AM   #5
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

The (announced way back) MIDI-through mode would actually solve this, no?
https://forum.cockos.com/showthread.php?t=34533

Quote:
Is that why Reaper won't run with a midi port connected but no audio device present? (Nosy geek, interested in the topic...)
I think you could use the included 'Dummy Audio' audio system for this use case.
nofish is online now   Reply With Quote
Old 12-03-2018, 11:17 AM   #6
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 3,195
Default

Quote:
Originally Posted by nofish View Post
The (announced way back) MIDI-through mode would actually solve this, no?
https://forum.cockos.com/showthread.php?t=34533



I think you could use the included 'Dummy Audio' audio system for this use case.

That thread provides a lot of background info. Thanks!

The dummy audio thing is a good tip. Also appreciated.

I'll guess for now I'll have to keep dinking around with changing latency settings depending on the task at hand... Unless on of you fine folks have a better idea.
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - Audio streams
Philbo King is offline   Reply With Quote
Old 12-03-2018, 02:17 PM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,634
Default

Quote:
Originally Posted by Philbo King View Post
Surely there is a sample clock/counter in Reaper, isn't there?
I don't suppose so. The "clock" regarding the audio streams is the block. But even this is not really a steady clock, but the work is done as early as possible, as long as the sound hardware is able to provide and receive complete blocks of samples (otherwise there would be CPU overload all the time). When doing offline rendering, there is no real timing at all.

-Mihael

Last edited by mschnell; 12-03-2018 at 10:24 PM.
mschnell is offline   Reply With Quote
Old 12-03-2018, 03:55 PM   #8
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 3,195
Default

Que sera sera.

Thanks for the replies everyone.
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - Audio streams
Philbo King 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 10:34 PM.


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