Old 09-18-2019, 12:09 PM   #1
Human being with feelings
Join Date: May 2019
Posts: 24
Default control tempo via MIDI

Since Reaper can't be a slave to an external MIDI clock, is it possible to adjust tempo BPM via MIDI CC? I'm looking in "Actions list," but I don't see anything that takes the absolute value of a CC value and adjusts the tempo to match, they seem to do it via a percentage (coarse or fine). I know I'll only get 0-127, but I can offset that to what I want, or try OSC.

I'm using TidalCycles to send MIDI with Reaper as a VST host, I'd like to make tempo changes via this and have Reaper along with VSTs I have hosted in sync with that.
ovitus is offline   Reply With Quote
Old 09-18-2019, 12:10 PM   #2
Human being with feelings
EvilDragon's Avatar
Join Date: Jun 2009
Location: Croatia
Posts: 24,594

Not possible.
EvilDragon is online now   Reply With Quote
Old 09-18-2019, 01:13 PM   #3
Human being with feelings
lunker's Avatar
Join Date: Nov 2007
Location: Lucas, TX, USA (via Luleå, Sweden)
Posts: 1,612

Reaper can slave to an external clock. It supports reading SPP and MTC.

You would need a device to convert the MIDI clock into one of those formats (even though the names sound similar, MTC is not the same as MIDI clock pulses, IIRC).

I had a $50 box from Guitar Center that I used to convert the MIDI clock from my sequencer to MTC and print that onto a tape track so that I could sync the tape deck and sequencer together. I think I may have actually used that box to sync Reaper to the tape deck back when tape was #1 and Reaper was #2. Now the tape deck's been in the closet for 10+ years, and the little MTC converter is long gone.

EDIT: Actually ... you might not need a converter after all. Check out this section in the User Guide: "23.8 Slaving REAPER to MIDI Sequencer Software".
Best Regards, Ernie "lunker" Lundqvist
BDSM (Bad Dog Studio Musicians)
Windows 10 running on Z390 + i7-8700

Last edited by lunker; 09-18-2019 at 01:49 PM.
lunker is offline   Reply With Quote
Old 09-18-2019, 07:50 PM   #4
Human being with feelings
Join Date: Dec 2014
Posts: 369

Action: Set Tempo, Coarse maps CC values 0-127 to bpm 40 - 294. I’ve never used Tidal Cycles, but pseudo code:

function set_tempo(bpm) {
  send_cc_n_with_value((bpm - 40) / 2)
You’d only have to be a little more clever to use the corresponding Fine action in conjunction to get <2bpm resolution.
preferred.nomenclature is offline   Reply With Quote
Old 09-19-2019, 01:31 PM   #5
Human being with feelings
Join Date: May 2019
Posts: 24

So I did get this to work doing the following:

In Options > Preferences > Control/OSC/Web, you can create an OSC device.

Set "f/tempo/raw" as the device name:

# Example: TEMPO f/tempo/raw
# The device sends /tempo/raw 100.351 to change the REAPER tempo to 100.351 bpm.
# REAPER sends /tempo/raw 120 when the tempo changes to 120 bpm.

On the TidalCycles side:

reaperTarget = OSCTarget {oName = "reaper", oAddress = "", oPort = 5050, oPath = "f/tempo/raw", oShape = Just [("reaper", Just $ VS "a")], oLatency = 0.0, oPreamble = [], oTimestamp = NoStamp}
reaper = pF "reaper"

-- total latency = oLatency + cFrameTimespan
tidal <- startMulti [reaperTarget, (superdirtTarget {oLatency = 0.6, oAddress = "", oPort = 57120})] (defaultConfig {cFrameTimespan = 1/5})

Anyway, it's working perfectly for my needs, syncing Reaper's BPM with CPS. Really having a blast with this right now, fluctuating both with oscillators in Tidal.
ovitus is offline   Reply With Quote
Old 03-17-2022, 02:22 AM   #6
Human being with feelings
Join Date: Feb 2022
Posts: 59

This works as Tidalcycles as master right? How do you start/stop/go to marker, etc.
mmmoth is offline   Reply With Quote
Old 04-20-2022, 04:06 AM   #7
Wild Eye
Human being with feelings
Join Date: Jan 2018
Posts: 4

I'm considering my options and re-doing my studio right now and need some help. My basic set-up is a DAWless one with a 16 channel analogue mixer... but connected to a computer via a Tascam US16-08 so I can 16 channel record (and continue my DAWless work in the DAW if I want.)

I'd like to use Reaper as a midi slave. I have a stand-alone mindburner midi master clock which I use as a master start / stop button (and tempo control) for a couple of sequencers and some synths with internal sequencers. When I've briefly tried to use it with Reaper as a slave the start and stop buttons on the clock seem to start and stop Reaper, but Reaper runs, then stops, then jumps forward. I quickly went online, seen numerous posts saying "Reaper doesn't slave".

Question - any ideas or thoughts as to why Reaper seems to be half working as slave? Is there any point in me delving deeper, or is "use Reaper as master" the only good advice?

Secondly (related-ish, might as well as here)... does anyone know of any good resources for midi-connection ideas? I basically know what I'm doing, but in theory I could end up working with - say -

Instrument 1 - controlled by Reaper
Instrument 2 - controlled by Sequencer 1
Instrument 3 - controlled by Sequencer 1
Instrument 4 - controlled by Sequencer 2
Instrument 5 - controlled by internal sequencer
Instrument 6 - controlled by internal sequencer
Instrument 7 - controlled by internal sequencer

and I can't help but think that it'd be good if I looked at a top quality article on midi connections

Edit - just to be clear, I haven't played around... I quickly googled and quickly gave up. I need to play around more to work out precisely what is happening, but based on the movement of the transport bar it seems to be the case that Reaper takes the start message fine, plays 3/4 of a bar in time, then stops for 1/4 of a bar, then jumps forward, then comes back in correctly for the start of the second bar. I need to delve deeper to check that what looks to be happening is what's happening. It is possible everything is syncing perfectly (I doubt it) and Reaper is simply failing to represent the syncing visually.

Last edited by Wild Eye; 04-20-2022 at 06:16 AM.
Wild Eye is offline   Reply With Quote

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 02:35 AM.

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