Old 06-22-2018, 02:12 AM   #1
FixItInPost
Human being with feelings
 
Join Date: Jun 2018
Location: South Africa
Posts: 24
Default Is ReaStream capable of transmitting MTC?

I am wanting to control/slave a remote Reaper machine with MIDI Timecode (MTC) over our local area network (LAN) using ReaStream.

The preferred setup is as follows:
Master Reaper Machine => Track with MTC Timecode Generator => ReaStream Send audio/MIDI => LAN => Slave Reaper Machine => Track with ReaStream Receive audio/MIDI => Track's MIDI Hardware Output Port 1 => Looped to MIDI Input Port 1 => External Timecode Synchronization using MIDI Input Port 1

Tests so far show (using JS: MIDI Examiner) that ReaStream transmits MIDI note data but MTC data is not transmitted.

I've done a bit of searching and found a thread with a similar question from back in 2009 :-
"Is there a way to send MTC over the network to a second instance of Reaper? I want to sync transports between platforms. I've tried ReaStream and putting a time code generator in the track but the most positive response I got was a crash on the receiving end."
https://forum.cockos.com/showthread.php?t=30793

Could someone confirm whether this is a bug within ReaStream or if this is intentionally the way ReaStream functions?
FixItInPost is offline   Reply With Quote
Old 06-22-2018, 01:53 PM   #2
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,005
Default

Welcome to the Reaper Forum, FixItInPost!

I suggest that you rather use CopperLan instead of ReaStream for this. CopperLan is a free app for Win and Mac that creates virtual MIDI ports that can then transmit and receive MIDI over ethernet with very low latency. It also enables you to have any (USB) MIDI device available throughout the entire network. For example, if you have connected a USB MIDI keyboard to computer 1 you can play on it and route the MIDI data directly to another computer (to which the keyboard is not directly connected) to play VST instruments there which in turn are not installed on the first machine. When aggregating MIDI devices with CopperLan you have to disable all those MIDI devices in Reaper and instead enable the respective CopperLan MIDI ports!

Be aware that MTC only has frame accuracy compared to LTC/SMPTE so you may get tiny variations in the sync between the two computers each time you start playback on the master machine (up to about one frame at max vs. no inaccuracy at all with LTC). However, to use LTC you'd need an audio connection between the two computers.

You can compensate for the audio latency between the two computers sync'ed via MTC or LTC by inserting "JS: Time adjustment" with a negative sample delay into the slave computer's master track's fx chain to have the audio of both machines in sync.

http://www.copperlan.org/index.php/download

.
__________________
Check out AVConvert (free, super-fast media file manipulation via the right-click context-menu in Windows Explorer) and my free VST plugins.
My Reaper tutorials and studio related videos on youtube.
SonicAxiom is offline   Reply With Quote
Old 06-22-2018, 02:33 PM   #3
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
Default

If you can not connect computers with MIDI cable directly (from one interface to another) or such approach introduce too much latency with MIDI (happens with some interfaces), you can try the following:
1. Install rtpMIDI on both computers.
2. Instantiate MIDI channel between them (can be confusing without reading the documentation)
3. On "master" computer enable that port as output. Set "Send clock to this device".
4. On "slave" computer enable it as input and enable timecode synchronization for it (right click on "Play" button, select "SPP: <port name>" (yes, "SPP", not "MTC").

As long as project tempo on both computers is the same, everything should work. Note that you do not need the "timecode generator" for that.

If for some reason you need/want MTC, you can insert "timecode generator" (do not forget to switch it from LTC into MTC mode, it produce rather boring noise otherwise. You can use that as an alternative, in case you connect audio interfaces "Master output -> slave input" and set Slave sync into "LTC: <audio input>"). Send it to the MIDI port in question. Then you can switch sync on Slave into "MTC: <port name>".

Described method(s) have the following advantages:
1) rtpMIDI take care about proper timing, you can check the latency
2) standard build-in features are used in both REAPERs, notice that you can manually set delays and so put things in perfect and stable sync.

I hope that helps.

EDIT. LOL, I was typing (and re-checking before submitting that things works with the latest REAPER) too slow. But my nick is my excuse
azslow3 is offline   Reply With Quote
Old 06-22-2018, 03:14 PM   #4
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,005
Default

rtpMIDI is similar to CopperLan but the latter has at least two major advantages:

1. In addition to creating a user-definable no. of virtual MIDI ports, CopperLan can also aggregate ANY other MIDI hardware and MIDI software device present on or connected to a computer (like USB MIDI devices) so that all kind of MIDI ports become network-wide available and are manageable through one app.

2. CopperLan graphically visualizes the entire MIDI network which makes it much easier to manage it.

.
__________________
Check out AVConvert (free, super-fast media file manipulation via the right-click context-menu in Windows Explorer) and my free VST plugins.
My Reaper tutorials and studio related videos on youtube.
SonicAxiom is offline   Reply With Quote
Old 06-23-2018, 04:40 AM   #5
FixItInPost
Human being with feelings
 
Join Date: Jun 2018
Location: South Africa
Posts: 24
Default

Thanks SonicAxiom and azslow3 for the suggestions. I will give both software a try this weekend.

For the sake of clarity, what I'm actually wanting to do is:-
Mix to picture on the Master Reaper machine => stream the audio mix over the LAN to => the Slaved Reaper machine (which has the same picture) which will chase the Master via MTC. Basically a remote audio mix approval in another room (or maybe another country... maybe!)

I'll be testing sync as well which I'll adjust in the External Timecode Synchronization window.

Thanks once again for your suggestions and guidance.

I'll let you know if I get stuck!
FixItInPost is offline   Reply With Quote
Old 06-25-2018, 07:23 AM   #6
jazznfunk
Human being with feelings
 
Join Date: Aug 2012
Location: Riga Latvia
Posts: 194
Default

This is very interesting.

Can two LTC/STMPE/MTC + if necessary sample delay alligned via RJ45 linked Reaper PC's/MAC's seamlessly operate two various soundcards?

I mean, soundcards clocks. Different soundcards speaks differently to PC.
jazznfunk is offline   Reply With Quote
Old 06-25-2018, 07:42 AM   #7
SonicAxiom
Human being with feelings
 
SonicAxiom's Avatar
 
Join Date: Dec 2012
Location: Germany
Posts: 3,005
Default

Quote:
Originally Posted by jazznfunk View Post
This is very interesting.

Can two LTC/STMPE/MTC + if necessary sample delay alligned via RJ45 linked Reaper PC's/MAC's seamlessly operate two various soundcards?

I mean, soundcards clocks. Different soundcards speaks differently to PC.
no problem. If the soundcards are connected via analog cables the two computers run with independent clocking. If the audio connection between the two is digital, one soundcard must be set to be wordclock master and the other soundcard has to be wordclock slave, deriving its clock from the other soundcards audio signal or from a dedicated wordclock connection.

The transport sync of the two machines can be done via MTC (MIDI or ethernet connection) or via LTC (audio) if both soundcards provide a spare audio input/output for the LTC signal which has to be sent from the transport master machine to the transport slave machine. LTC provides sample accurate transport sync while MTC can only achieve frame accuracy and sync may vary slightly each time playback is startet on the master machine.

.
__________________
Check out AVConvert (free, super-fast media file manipulation via the right-click context-menu in Windows Explorer) and my free VST plugins.
My Reaper tutorials and studio related videos on youtube.
SonicAxiom is offline   Reply With Quote
Old 06-25-2018, 01:29 PM   #8
jazznfunk
Human being with feelings
 
Join Date: Aug 2012
Location: Riga Latvia
Posts: 194
Default

Thank You, SonicAxiom. Yes, it's clear about soundcard's sync with WC, e.t.c.

Today i tried to sync transport with 2 Windows 10 (and variation with one W10 and second Linux Mint) but with similar unsuccessfullness:

*) PC's sees each other. IP settings is right, sound is streaming via ReaStream;
*) I generated SMPTE LTC and tried to send this MTC via ReaStream;
*) Second PC's Reaper with ReaStream in receiving mode crashed (closed, dissapeared) every time when i hit stop and play on generating computer. I have no idea why..

I'm wondering - that would be so nice, to have ReaStream'ed audio to control transport of second PC fully digitally. But there's next to no option to route this audio as sound cards audio input for external sync. Maybe some Virtual Cable like software with VST support or second Reaper instance as ReaStream to audio input (ReaRoute input?) router can do this.

Update.

I successfully managed to SMPTE LTC sync 2 instances of Reaper on same W10 computer with help of Voicemeeter Banana. Handy tool for Windows machines.

Update.

I successfully managed to SMPTE LTC sync 2 instances of native linux Reaper on same Linux Mint computer with Jack. Great tool, must learn more.

Last edited by jazznfunk; 06-27-2018 at 12:38 AM.
jazznfunk is offline   Reply With Quote
Old 06-27-2018, 02:32 PM   #9
jazznfunk
Human being with feelings
 
Join Date: Aug 2012
Location: Riga Latvia
Posts: 194
Default

Today i managed SMPTE LTC sync two Linux Mint laptops with ReaStream and Jack2 running native Linux Reapers. All's good, but, of course, can't sync record. Anybody knows some Reapers transport sync solutions via LAN?

On "slave" laptop i run 2 instances of Reaper. One for receive and route ReaStream'ed SMPTE LTC via Jack2 for second instance of Reaper.

I used both laptops internal soundcards, and experiment was short, so no opinion for possible audio drifting due to impossible to sync 2 seperate laptops internal soundcards.
jazznfunk is offline   Reply With Quote
Old 06-28-2018, 02:55 AM   #10
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

The issue with "insert timecode generator" is, that it does not represent the timecode that's set up in the project (e.g. project start time).
So, when you change the project start time, the timecode item does not follow.
That's why I'm using the JS "vVIMTC", because it will always send the TC based on the project start time.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 06-28-2018, 07:59 AM   #11
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
Default

Quote:
Originally Posted by jazznfunk View Post
I used both laptops internal soundcards, and experiment was short, so no opinion for possible audio drifting due to impossible to sync 2 seperate laptops internal soundcards.
I hope you do not think this whole list: https://en.wikipedia.org/wiki/Compar...work_protocols could be eliminated with some Linux daemon and build-in $1 interfaces...
I mean AVB/Dante/RedNet do not try to fool you
azslow3 is offline   Reply With Quote
Old 06-28-2018, 04:16 PM   #12
jazznfunk
Human being with feelings
 
Join Date: Aug 2012
Location: Riga Latvia
Posts: 194
Default

Of course, azslow3. Professional signal transports is no brainer for normal use I just want to explore, learn and understand "poor mans" options and learn Linux audio stuff. Strange, in this Wikipedia list is no MADI present... One of most oldest and feature richest standart. But OK, Dante is today's prime, period. Absolute winner in this signal transport wars will be one, who offers wide-understandable language for micpre gains, +48 VDC, locut. AFAIK Studer (by Harman) is working on something kind of.

Back to topic. I want to:
1) observe SMTPE LTC synced two laptop internal sound cards clock drift. (Put identical one track music projects on "Master" and "Slave" laptops and just play for an hour in background and listen..

2) Do the same with two WordClock synced RME soundcards (but in Windows, driverwise)

Last edited by jazznfunk; 06-28-2018 at 04:24 PM.
jazznfunk 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 11:52 PM.


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