Greetings once again readers, it's been a while..
Tonight I want to talk about the Roland RC-50 Loopstation. It is a really nice, yet-not-quite-perfect-yet, looping pedalboard that lets one record up to three different tracks on a patch. It's 24minutes of 16-bit stereo 44.1kHz memory is, in this day and age, a bit paltry, so one has to heavily utilize the USB file-sharing capability of the unit.
(future project: RC-50 RAM upgrade?)
For now, I just want to easily transfer #1 my files, and #2 certain patch settings, such as tempo, time signature, guide rhythm selection, volumes, etc.. Sadly, Roland/Boss has not offered any kind of host-side patch-editor for the RC-50. Will they? I don't know. The RC-300 is the new baby, and sounds like it has better file-handling capabilities, so we'll see.
Now, for either Loopstation... Since I'm a Cakewalk user, the dream would be to have an RC-50 Cakewalk add-in that would just convert the RC-50 patch values, such as tempo, time-signature, etc. to the appropriate project and channel track settings on Cakewalk One could offer an interface to instantiate a copy of the RC-50 guide rhythm as a new channel strip. It could be a GREAT melding of technologies and would really expand the RC-50 as a compositional tool. And now that Cakewalk is under the Roland roof, maybe we'll see something pop up. (Hint hint)...
Speaking of that, Roland/Boss, (the legal team in particular), if you're reading this : What I'm doing here is posting my own comparison of the PATCH.RC5 file generated by twiddling knobs and settings on the RC-50... and then seeing what changes on the PATCH.RC5 file. These are visual observations whose results, I don't think, violate any kind of applicable license-agreement, NDA, etc. I am publishing these findings in the hopes of helping proud RC-50 users get more out of their equipment. I do this in the spirit of goodwill - that more people will feel good about using your products and will recommend them to others. (I urge you to publish file and interface specifications a bit and let those in your user community contribute to your own product's growth - maybe even saving you some of the heavy-lifting along the way). So I do humbly ask that you allow me to post my research here without legal hassle. Thanks. I hope my work improves your bottom line. You've make some truly excellent gear over the years, and I don't mind giving back.
Allright on to the good-stuff: So here's what I've found so far...
(Note: this is an ongoing project, specs will be added as found. Also, please comment with any corrections or your own findings)
(DISCLAIMER - Blogspot's text handling doesn't work well for this mostly tabular data, but I think it's still readable. And I've worked on it long enough. I'll figure out how to better format it or see if there's a code-box feature that's hiding from me. Hope it helps!)
PATCH.RC5 analysis
Notes & todo:
-------------
Done: All options under the NAME/PATCH menu figured out - still a gap at 0x15-0x1c
ToDo: many patch-level bytes, phrase-level bytes remain
File Summary:
File Header size = 64 bytes
Patch len = 87 bytes * 100
// NOTE: Byte offsets are from file-zero in this section:
Range (0x = hex) Patch Offset Field Name Values, notes, etc.
--------------------- ------------ ----------------------------- ------------------------------------
0 0x00 -> 63 0x4e PATCH.RC5 File-level Header BOSS RC5 FORMAT TYPE 1.00 V1.00 B0171 2006/05/06
64 0x40 -> 79 0x4f (0x00-0x0f) Patch 001: Name
80 0x50 (0x10) Patch 001: Patch Volume Level (0 - 100)
81 0x51 (0x11) Patch 001: Phrase Change (0 = IMMEDIATE, 1 = LOOP END)
82 0x52 (0x12) Patch 001: Fade Out (0 - 100)
83 0x53 (0x13) Patch 001: Fade In (0 - 100)
84 0x54 (0x14) Patch 001: MIDI Sync (0 = AUTO, 1 = INTERNAL, 2 = REMOTE)
93 0x5d -> 0x5e (0x1d-0x1e) Patch 001: Tempo (400 - 2500 (40.0 - 250.0 bpm))
95 0x5f (0x1f) Patch 001: Patch:Input Out (0 = MAIN, 1 = SUB , 2 = MAIN+SUB)
97 0x61 (0x21) Patch 001: Guide Level (see notes below for values, etc)
98 0x62 (0x22) Patch 001: Guide Rhytm (see notes)
99 0x63 (0x23) Patch 001: Time Signature (see notes)
118 0x76 (0x36) Patch 001: PHRASE1 BLOCK START
123 0x7b (0x3b) Patch 001: Phrase1 Level (see notes)
128 0x80 (0x40) Patch 001: Phrase1 Simulstart (0 or 1)
129 0x81 (0x41) Patch 001: PHRASE2 BLOCK START
134 0x86 (0x46) Patch 001: Phrase2 Level (see notes)
139 0x8b (0x4b) Patch 001: Phrase2 Simulstart (0 or 1)
140 0x8c (0x4c) Patch 001: PHRASE3 BLOCK START
145 0x91 (0x51) Patch 001: Phrase3 Level (see notes)
150 0x96 (0x56) Patch 001: Phrase3 Simulstart (0 or 1)
151 0x97 -> 237 0xed Patch 002: (full patch)
. .
238 0x98 -> 324 0x144 Patch 003: (full patch)
. .
. .
8590 0x218e -> 8676 0x21e4 Patch 100: (full patch)
// More specific notes about certain patch settings are found here...
// NOTE: Byte offsets are from each patch-start in this section:
Tempo Patch offset = 29 0x1d (msb), 30 0x1e (lsb)
-------------------------------------------------------
Tempo value 2-bytes, in tenths of bpm
Tempo value range min 0x0190 400 (40.0 bpm)
Tempo value range max 0x09c4 2500 (250.0 bpm)
Guide level offset = 33 0x21
----------------------------------
Guide level min = 0 0x00 (screen value = 0)
Guide level mid = 50 0x32 (screen value = 100)
Guide level max = 100 0x64 (screen value = 200)
Guide rhythm offset = 34 0x22
----------------------------------
Guide rythm start value = 0 0x00
Guide rythm max value = 55 0x37
Time Sig offset = 35 0x23
----------------------------------
Time Sig Values:
00 = 2/4
01 = 3/4
02 = 4/4
03 = 5/4
04 = 6/4
05 = 7/4
06 = 5/8
07 = 6/8
08 = 7/8
09 = 8/8
0a = 9/8
0b = 10/8
0c = 11/8
0d = 12/8
0e = 13/8
0f = 14/8
10 = 15/8
First Phrase1 Level Field= 123 0x7b
First Phrase2 Level Field= 134 0x86
First Phrase3 Level Field= 145 0x91
-----------------------------------
Phrase level min = 0 0x00 (screen value = 0)
Phrase level mid = 50 0x32 (screen value = 100)
Phrase level max = 100 0x64 (screen value = 200)
Wednesday, November 2, 2011
Subscribe to:
Posts (Atom)