RC-300 Feature Requests

Started by Hopkins, May 20, 2012, 05:26:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Zymos

#150
Not to detract from your thorough detective work and documentation, but I'm wondering how that even applies- sending the tempo through sysex is quite different than syncing MIDI clock between devices.

Every other device in your chain is going to, by definition , ignore the sysex coming from the RC-300.

Of course if you are trying to build a software editor or something, then it does become important.

Edit- just realized that the purpose of the tempo sysex is also to sync 2 RC-300 together, since they can't receive MIDI clock.

kumpfunk

wow... well, that certainly explains a lot shawnb. The question is, why doesn't Boss's own DB-90 follow it's own RC-anything? it just stops when fed midi clock.

shawnb

#152
Quote from: Zymos on April 02, 2013, 09:40:51 AM
Edit- just realized that the purpose of the tempo sysex is also to sync 2 RC-300 together, since they can't receive MIDI clock.

Bingo.  If I could figure out how the RC300 slaves to another RC300, I could make it slave to anything - though I might need something like a computer or at least a MIDI Solutions Event Processor doing some translation.  That was the goal. 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

shawnb

#153
Quote from: kumpfunk on April 02, 2013, 02:54:29 PM
wow... well, that certainly explains a lot shawnb. The question is, why doesn't Boss's own DB-90 follow it's own RC-anything? it just stops when fed midi clock.

Dunno for sure...  I don't have a DB-90.  You put it in MIDI receive mode?  Have you sync'd it with other devices successfully?  I would think it should work.

In general, devices are supposed to count MIDI CLOCK events & the time between them & figure out the tempo on their own.  MIDI CLOCK events come 24 per quarter-note, if I recall correctly.  Bear in mind that the MIDI bus is far from fast, and it often clogs up with MIDI messages.  Also bear in mind that tempos can change.  So devices trying to follow a clock must continually monitor, and continually do the math and respond accordingly.  And throw away deviations (to account for temporary MIDI bus logjams).   

My theory:  I think devices that average their measurement of MIDI CLOCK messages over a broader window do just fine with the RC300, these are VERY tiny fluctuations.  Devices that only sample a few MIDI CLOCK events at a time will think that the clock is fluctuating.  Based on my data above, I think they will have harder times with non-whole-number tempos.  I concluded that looking at the data...  3LYY found that out independently. 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Elantric

#154
Just to add a reference

In the MIDI world, there are 4 known standards for syncing gear

MIDI Song Position pointer
MIDI Clock
MIDI Time Code
MIDI Machine Control

Each are separate entities and the link below is a good tutorial on the differences.

http://tweakheadz.com/sync-mmc-mtc-smpte/

http://web.physik.rwth-aachen.de/~harm/aixphysik/sound/midi/pages/miditmcn.html


===

MMC stands for MIDI Machine Control. Its designed for controlling the transport on tape and multitrack machines. If the multi-track was the MMC master,  you press "play" on the multitrack, the sequencer will start.  Or in the example below, if you make the sequencer the MMC master, pressing play will start the multi-track.    MMC really just controls the transport and sends a locate point--not the timing; its just a switch that says "Go here, then start, stop, rewind, fast forward".  What you do to complete the picture is send MTC from the MMC slave.

SMPTE (Society of Motion Pictures and Television Engineers) is still in use in Film and Video today and is embedded right into digital video so no tape tracks are required.  In the days of tape recorders, we used SMPTE and striped it on the last track of the tape recorder.  On playback, a standard audio cable took the output to a MIDI interface and controlled the sequencer from it.

MTC stands for MIDI Time Code.  Its a series midi messages that tells other devices what time it is at any given moment in hours, minutes, seconds and frames. MTC is simply understood as a conversion of SMPTE timecode that goes down a MIDI cable.  It is sent in quarter frame intervals as MIDI system exclusive data.

MIDI Clock is yet another option, not to be confused with MTC, though they are similar.  Originally, MIDI clock sync was just a bunch of blips that told devices when to start, stop, continue and follow the tempo of the master device.  This is perfect for making synths and samplers  synchronize their LFOs,  and effects delay time. It also passes tempo which is important when syncing arpeggiators, drum loops and other time based sounds.

SPP refers to Song Position Pointer, which can be transmitted along with the MIDI clock signals.  SPP is based on Bars, Beats, subdivisions of beats down to ticks (or clocks) which is the finest resolution of the MIDI device. SPP is sent every 6 clocks or ticks as System Exclusive Data.  For some devices that is all you need and you don't have to use MTC, which is based on hours, minutes, seconds, frames and quarter frames.

Which to use?  The one that works.  Not all of them will.  But generally, syncing sequencers and multi-track recorders you use MTC.  Controlling synths you use MIDI clocks.  Controlling other sequencers you use whichever works. Many drum machines, for example, won't accept SMPTE.  Many multi track recorders will not accept MIDI clocks.  Some devices won't accept MMC at all.  Others will allow themselves to be an MMC master but not a slave.  Usually, there is one combination that will work, but don't bank on it. Some devices do not work at all.  Always check that out before you by gear that needs to synchronize.

Zymos

Quote from: shawnb on April 02, 2013, 03:39:30 PM
Bingo.  If I could figure out how the RC300 slaves to another RC300, I could make it slave to anything - though I might need something like a computer or at least a MIDI Solutions Event Processor doing some translation.  That was the goal.

AFAIK though, sysex isn't really made for real time syncing the way clock is- it is more just a message: the tempo is now xxx bpm. Kind of like the method I described in the thread I started about using CC messages for transmitting the value for the tempo from another device, but not literally "synced".

Doesn't mean it isn't worth investigating, but I'm wondering if you would bump into a limit of how fast ( or how often) you could send the sysex. Would sending it every measure, if possible, keep the timing closer between devices, or without actual clock would they eventually drift?

A fun exercise that would be completely useless if Boss had just made one tiny change in their MIDI implementation....

shawnb

Quote from: Zymos on April 02, 2013, 06:38:37 PM
AFAIK though, sysex isn't really made for real time syncing the way clock is
Yes, this is a very unusual usage of sysex.   They send a MIDI START, the sysex command and MIDI clocks.  The sysex alone doesn't get it going, it requires all 3 in my testing.  Why they made it so hard to sync, I dunno...   A slightly different sysex accompanies the MIDI STOP.  This is how RC300s only sync to each other, and they do it over a normal MIDI cable.  HOWEVER, and this REALLY makes NO sense...  If the tempo changes on the RC300 master, the RC300 slave doesn't follow it!!!  You have to stop and start again for the new tempo to kick in, because it only honors the tempo as published on the sysex message.  It doesn't use the MIDI CLOCK to try to follow...   

Quote from: Zymos on April 02, 2013, 06:38:37 PM
Doesn't mean it isn't worth investigating, but I'm wondering if you would bump into a limit of how fast ( or how often) you could send the sysex. Would sending it every measure, if possible, keep the timing closer between devices, or without actual clock would they eventually drift?
Given they only send their custom sysex message on start & stop, I don't think they would run into any limits with their approach. 
To be honest, I don't know how bad a problem drift is these days, on modern gear with modern process technology.  Is it? 

Quote from: Zymos on April 02, 2013, 06:38:37 PM
A fun exercise that would be completely useless if Boss had just made one tiny change in their MIDI implementation....
I agree.  This is dumb. 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Threeleggedyoyo

Not able to digest all the other information here yet, but I just wanted to clarify one thing.

The whole number thing is ONLY necessary for Delay effects synced to Midi. Drum machines and any other beat synched whatever has been just great. The 50 just hates beat synched delay at most tempos, and the 300 only likes them in whole numbers. But all other syncing I've tried with either unit as the master has been great!

Hopkins

For the sake of adding a tiny extra bit of information: the Boss DR-880 drum machine tempo syncs fine to the RC-300, although it does appear to waiver on some settings, not that I have noticed any audible problem associated with this.

Zymos

Quote from: Threeleggedyoyo on April 02, 2013, 08:52:33 PM
Not able to digest all the other information here yet, but I just wanted to clarify one thing.

The whole number thing is ONLY necessary for Delay effects synced to Midi. Drum machines and any other beat synched whatever has been just great. The 50 just hates beat synched delay at most tempos, and the 300 only likes them in whole numbers. But all other syncing I've tried with either unit as the master has been great!

Yep-that is worth clarifying. But we've also been discussing how to slave the RC-300 to other devices- that's where things get complicated.

Shawnb- drift is a pretty big issue, at least with my setup.
RC-300 as master to my Korg M-3 ( and to most any drum machine I'd think) = solid sync.

Sending the tempo to the RC-300 via CC message from Ableton, and clocking the M-3 to Ableton's tempo= noticeable  drift after a less than a minute.

There are other issues at play no doubt, but even with 2 devices set to the same tempo and started at the same time, they will eventually drift if they are not actually synced to the same clock source.
I'm thinking of redoing my setup to put the RC-300 back as the master-there are trade offs either way though....

chrish

Yea it's an old thread, but hey i just got here. Thanks for the link to 'loopers delight'. Lots of good reading there. I feel like a kid in the proverbial candy store. As for me,when in my 20's, i only achieved 50 mph on pavement with a mountain bike. To go that fast or faster on a road bike would be scary.

StereoNC

A few other feature suggestions (apologies if I've missed these suggested elsewhere):

- Pressing "All Start / Stop" switch sends a "MIDI Start" (or Stop) command even if all tracks are blank
- Pressing "All Start / Stop" also starts/stops the Rhythm track (if Rhythm is set to On) if all tracks are blank
- Count-In: Definable for more than 1 Measure

Cruisen

Thank you so much for your Feature Request List. I am with almost all the items on the list. This list here is based to be ON TOP of what is mentioned here: https://www.vguitarforums.com/smf/index.php?topic=6065.msg41630#msg41630

For a new version of the RC-300, lets call it the RC-5000 I like to add some items on top. I hope I did not miss these items in the Thread, let me know if I did, I will update this post accordingly.


BTW: Awesome forum!  :)
Unbalanced: SG & Acoustic guitar -> LSM-1 -> Cry-Baby -> GT-10 & Mic D5 -> RC-300:
-> Main Out -> Qu-16
-> SUB Out -> FV30L -> RC-300 Aux in [Frippertronics]
Midi: RC-300 Out -> FCB-1010 (merge!) -> RC-300 In|Through -> LSM-1 -> GT-10

jumpinjivinjoe

How about auto stop record as I reference in my post here: https://www.vguitarforums.com/smf/index.php?topic=22310.0

Basically my old Jamman would stop overdubbing at the end of the track length so I didn't have to press the overdub button to "punch out". Whereas the RC-300 does not and keeps overdubbing and overdubbing and overdubbing until you hit the overdub/record button again.

dswitkin

For those wishing there was a single-press way to erase all tracks, I found a way to do it. You need to use three assigns, where the targets are TRACK1 CLEAR, TRACK2 CLEAR, and TRACK3 CLEAR respectively, and the source is all the same pedal. If you want to test it but don't own an expansion pedal you can map it to LOOP FX PEDAL. Too bad holding ALL START/STOP for two seconds doesn't do this by default.

MangoRob

THIS SINGULAR TWEAK ALONE WOULD MAKE IT A BRAND NEW MACHINE- THEY WOULD AUTOMATICALLY REGAIN BOOMERANG & LOOPERBOARD USERS BACK !

FROM HOSPKINS ORIGINAL POST #1

Additional Play Modes

Memory:Single Tr Play HYBRID.  Tracks 2 and 3 behave as in Memory:Single Tr Play ON, but Track 1 can loop in parallel to both of these tracks.  (Boomerang III can do this.)  Note that when two tracks have already been recorded in parallel mode (i.e. with Single Tr Play OFF), it is possible to assign an external foot switch to toggle between these two tracks (you make two assignments - Play/Stop for each of the tracks to the one switch).  In some cases this may be a convenient work around.