Unofficial TB-3 Effects Parameter Guide

In search of a more complete TB-3 effects document

I just love this little machine. Immediate, with a big sound, but on the surface, it’s a pretty simple device — a TB-303 clone. But once the full parameter implementation was revealed due to the reverse-engineering work of some enterprising sysex programmers, it became clear that this was in fact a monster sound design machine. 6 independent oscillators, VCF, VCA, LFO, ring modulator, distortion, and 4 modulation destinations amounts to a fully featured monosynth by just about any estimation. But that’s not all — it also has CV offset and cross modulation features that allow you to independently tune the oscillators as well as modulate all the VCO sources with each other. But then when you add in 21 separate mono and stereo effects, any two of which (except EQ and Pitch Shifter) can be used simultaneously, with hundreds of different parameters and options to control amongst them, it becomes hard to wrap your mind around what this machine might actually be capable of, even as a “simple” monosynth.

Enter Roland Documentation Hell

download the full guide here

But even arriving at the point where I know what the parameters are, what they do, and what they mean, was no easy task, because this synth has been woefully unsupported by Roland in terms of documentation. Only a small few bits of information exist from the manufacturer itself; most of what has been learned about the features and operation of the TB-3 has been due to exhaustive sysex testing based on other Roland synths. And what they did provide was mostly just lists of parameters and values, without any descriptions of what they did, if it wasn’t immediately obvious. Sure, the chorus effect has 1 mono mode and 2 stereo modes, for example, but what are they, and what do they do? For that matter, which effects are stereo and which are mono, aside from the explicit stereo modes? As it turns out, the flanger and reverb are full-time stereo effects even though they are not indicated as such. What about if the BPM time isn’t synced, does time parameter become a percentage of the internal TEMPO value? (Spoiler alert: it doesn’t, effect times that are not BPM synced are independent of the system clock.) And so on.

 A New Hope

But by testing and using the documentation of other similar Roland products, I constructed this TB-3 parameter effects guide which also includes the dedicated distortion section. Obviously there’s no guarantee that every single thing is spot-on in this document, and I wasn’t able to find information about all the distortion models, but it goes a long way towards gathering all the widely dispersed available information into a single source as well as including insight gained during testing if it seemed important or useful. So it’s not just dry information, but also tips that either clear up some unknowns or offer answers to questions that  are not documented anywhere and could only be learned through the testing process. I even found one parameter that appears to be unimplemented even though it is documented and should be present (EQ level, in this case). Obviously, to even access these parameters you will need to: a) be able to understand and program midi sysex, b) use one of the software editors like mugenkidou’s and/or c) use one of the hardware presets like these ones I made for the Behringer BCR2000 downloadable at the end of that blog entry. This machine can easily be integrated into your DAW as well, and with this midi information you can, say, automate any of the hardware synth parameters in Ableton.  And of course, I earlier researched and confirmed that you can save sysex dumps of all your patches for instant recall, so the puny 16 user patch locations need not be a limitation to your creativity. I never fail to get inspired by this little acid box, and I hope this helps you get excited about it too!

Unofficial TB-3 Effects Parameter Guide


Analog RYTM MKII has arrived

But A Soldier Has Fallen

One afternoon my trusty Jomox Airbase99, a machine I bought new, didn’t sound right. At first, I thought there was something wrong with the LFO, but that couldn’t be, as this machine has been as reliable as they come, if the inherent unpredictable “analog” character is excluded. But after numerous tests, it became clear that in fact both of the LFOs were not working. This was a major problem because there were compositional elements in many tracks that relied on the LFO. And so it forced me into an early decision to make a change, even though I also knew it would be a TON of work. But before I get into the AR, let me explain what I’d been struggling with and the other reasons I decided to upgrade.

The Flaws of the Airbase

For a long time, I have longed to improve a number of aspects of the Airbase. For one, I’ve spent countless hours trying to get the pitch of the kick drum to be consistent when tuned. Days or weeks of testing, charts, re-testing based on different time intervals, all that just to try to get the kick to be predictable. The best I could really do was play after warming up the machine for a specific amount of time before the set where I knew my settings would be close. Additionally, most of the sounds are actually sample based and at some point, sounds stop becoming interesting no matter what you do to them. And lacking effects, it required that I use another outboard fx unit so that I could change the sounds enough to still be interesting, which added weight and complexity to my live setup. The difficulty in finding proper power adapters, the high noise floor, the lack of overdrive or distortion and the inability to sync to clock were all additional factors that had made me start looking for a replacement over a year ago. I’m not really interested in being a nostalgia act, I want to be on the vanguard of what’s possible. This desire to improve my live drums led to what for me is the best drum machine/module on the market today: Elektron Analog RYTM MKII.

What To Get, What To Get

I knew I needed a few things for my live setup. First, I needed individual outputs so that I could have ultimate flexibility when routing my sounds. This allows me to keep my setup stable but still be able to route parts however I choose depending on the track, from fx, to panning, to EQ. Second, the new machine had to have some kind of overdrive or distortion effect to have ultimate sound and tone shaping ability. And the more effects available per voice, the better. The only ones available now that meet those requirements are the AR and the Tempest drum machines. The Tempest has some drawbacks though. First, if I remember correctly it only has a single effect for the entire mix. As it turns out, the RYTM also has effects that apply to the entire mix, but it also has a ton of features per voice that allow complete customization of sound before it even hits the effects. The Tempest is 6-voice versus the RYTM’s 8 voices as well. The final nail in the coffin for the Tempest though was the inability to use samples. If I was to transition to a new drum machine, I would have to sample the sounds from the old machine or otherwise I would lose all of the drum sound design I had done for previous tracks. Writing all new live sets is no small task and having these already completed tracks to lean on gives me something to play now while I continue to build up my repertoire. And so the choice was clear.

The Full Cost

I knew the time had come, so I started looking around, and my oh my, these machines are not cheap. I bought it new, not wanting to take any chances on a machine that very well may be in my setup for 20 years to come, but by the time it was all said and done, it was almost $1700. Ouch. But that is not the only cost. Now I had to take all the midi information that was currently being sent to the airbase and re-route them to the RYTM. But each sound also had to be meticulously redesigned to match as closely as possible the original sounds. Even the samples proved tricky as the airbase has many quirks that I have exploited in making my tracks that can’t be exactly duplicated just by recording and playing back a sample. This was dozens of hours of work. The first phase was just trying to match the kick drums. Then, it came time for the samples and those were even more difficult and time-consuming. And this was just to get 8 or 9 tracks ready for a live set, the rest of the older material has yet to be converted.

The Gates Have Opened

my setup for reference
my setup for reference purposes

But the change has been monumental. It immediately allowed me to eliminate two rack units from my live setup, it drastically lowered my noise floor,  and it allowed me to use the digital output of the Virus, a far better option than the analog outputs I had been using, further lowering my noise floor. For the most part this change also eliminated using the MPC as a sampler, unless there are quite a lot of samples involved, and it enabled me to use the AES/EBU digital output from the UFX to monitor, again a far cleaner (and as it turns out louder) signal to monitor with than the analog outputs. It freed up inputs on the UFX so that I can now use a separate stereo output from the Virus , as there is some sort of natural overdrive that occurs (wanted or unwanted) when a lot of loud sounds are played through a single stereo pair on the synth. As can be seen by all these improvements, the AR MKII has been a massive jolt and everything about it has been an improvement from either a technical or artistic standpoint. The future is looking bright.


DIY switch replacement on MPC 2500

I have had a problem for quite some time now, and I’ve finally got around to fixing it. You see those six buttons below the screen? They work TERRIBLY and have since I purchased this machine used in 2016 or so. They either don’t respond at all, or over-respond with many multiple unintended clicks. In a studio setting, it causes multiple events to be added and deleted which can range from annoying and time-wasting to disastrous. And when you go to save projects, it’s never clear until you’ve pressed multiple times that it has actually responded. In a live setting, those buttons control the timing of drum rolls, and it makes switching between 16th or 32nd notes virtually impossible, something that I used to frequently use as a live technique. Now that I’m playing some live gigs, the handicap is too great and I have to attempt a fix.


As it turns out, the switches below those buttons were only rated for 10 thousand clicks or so and it showed on these high-use buttons. So I did some research and found that this was a fairly common occurrence and that people were replacing them with switches rated for 1 MILLION clicks, which will surely outlast the machine itself and probably me. But, I am not good at soldering and I was not looking forward to doing the repair myself, but after finally ordering a soldering station, some new switches, and crucially, a solder pump, I was ready to go.

testing on an old board

First though, I felt like I needed to practice doing this repair, and luckily I had an old board with the exact switches that I could practice on. I had tried before to remove these but they proved more difficult than I thought because a little solder would be left on there and I couldn’t pull them off with pliers. That’s when I realized I needed a solder pump, and this helped remove the excess bits so that I could get a little screwdriver under there to carefully pry them out. I tried a few different temperatures on the soldering iron to see what was the minimum I needed to get good melt without overheating the plastic board and I also rigged this magnifying glass so that I could see up close what I was doing. After I had finished practicing adding and removing solder to the pins, careful to avoid overheating the tiny diode next to them or creating a short between them, I was ready to give it a go on the real machine. I didn’t know what awaited me to access these switches, if I had to remove the screen or whatever, but now it was time to press forward.


almost ready

Once I got it opened up, I was in for a pleasant surprise…the only thing connecting the board the switches were on was two screws and a small connector cable. Fantastic! No need to completely disassemble the machine to get at these switches. I think for someone who has more experience with soldering, this would be an easier process than it was for me, but I didn’t rush and went about removing the switches. Once you’ve got as much solder off as you can, try to bend the pins straight and if you can,

switch graveyard

apply heat to one pin while slightly pulling on the switch to loosen that leg. Luckily I did not care about saving these old crappy switches so my main concern was just not damaging the board. I lost a leg or two removing these but for the most part I was able to free them with a small flat screwdriver underneath more or less in one piece. Once they were free, and I

close-up of board

had made sure that the holes in the board were open,they easily slipped into their locations, and not long afterwards, were fastened in place with solder, and aftermaking sure there were no visible electrical shorts caused by wayward solder, it was time button everything back up and give it a whirl.


Reassemble and Test

The answer came swiftly, because I didn’t need to reassemble the whole machine to see if these switches were working, so I popped on some black buttons I had laying around and everything worked! And now these buttons are silky smooth as well. No more mis-presses or no-presses and they will be set for another million presses. While I was there I cleaned up the pads as well which had gotten a bit grimey. I thought about replacing

old right-side PCB

the switches on the right side of the unit, as they will probably also need replacing and actually some of them are starting to show it, I still didn’t want to do it because these buttons are not used as much in critical situations so I’d rather not risk changing them until I have to. I bought plenty of extra switches should it become necessary in the future. The board I’m using on the right side is actually an aftermarket board I bought that replaces the MPC 2500 wheel with a much better MPC 2KXL-type wheel so it should have new switches relative to the ones on the rest of the machine. As you can see in this photo of the old board on the right, all the switches use this same kind except for the transport and tap tempo buttons.

back in black

Very happy with how this turned out. I took it on myself to fix a problem and in the process saved a lot of money and will save myself lots of headaches in the future because of all the pussyfooting I have to do to avoid unintended consequences when using these switches now. The soldering station was about 100zl (25$), the solder pump was 10zl (3$), and the switches themselves cost 53zl (13$) shipped for 30 of them, so for around 40$ I saved myself hundreds or even thousands of dollars it would have cost otherwise to replace the whole machine, and is a more permanent solution than just replacing that board. I tried it out last night and it is like a completely different machine. Stoked to finally fix it and do it myself and I encourage anyone else out there who might want to try it to do the same!


Airbase99 kick drum tuning

JoMoX AiR Base 99

The Airbase99 is a drum module from electronic drum maker Jomox released sometime around the early 2000s as the successor to its first machine, the classic XBase09. It has an analog kick drum, snare, and high and low toms. For the other instruments it uses its own samples and those from the 808, 909, and CR78, which are then fed through an analog, reversible VCA for shaping. This is the oldest machine in my rig, and even though I have thought about getting another drum machine or module, this machine with its individual outputs continues to inspire me, and also, I just don’t want to spend the money on a new drum machine. But if you know my blog, you know that this entry is not about my fandom of this drum module, but about a far more esoteric quest: to nail down the tuning for the kick drum so I can play tuned kick drums like I would on a bass synth. But that has always proved to be a difficult task, as I will explain.

A History

The kick drum on this machine is great and is capable of a lot of timbres, and in conjunction with the LFO, offers a wide range of tonal and rhythmic choices, but one thing has always vexed me: at certain times when I’m using a kick with a long release, one where the harmonic content is especially relevant, I noticed that it would often be sharp or flat from what I had initially programmed it to be. I made a few charts mapping out approximate control change values that corresponded to notes. The 3 octave range goes from about B0 or 30.87Hz up to A3 or 220Hz, with 255 values to choose from. From these 255 values you can derive 35 notes, but because it’s analog, the divisions aren’t even, and as you ascend up to 255, the gap between the notes gets larger. For example, an approximate value for E2 is 069 and for F2 it is 075, which is a gap of 6. But at E3 (175) and F3 (188), the gap has already increased to 13, so the only way to figure out what value corresponds to what note is by testing with a tuner.

So I did this and came up with a chart that mapped the machine values (0-255) to note values (B0 through A3) to control change values (0-127) to control the pitch of the kick drum in real time. As you might have noticed, a greater range is available on the machine than is available with CC messages, so for E2, whose value is approximately 069, I have to go up to 070 or down to 068 since I can only send 34 or 35 as control change values. And this worked for a while, as I wasn’t doing a lot of tracks where I wanted to tune the kick during the song, but now that I’ve been making drum and bass, I have gone back to using this technique, but kept running into tuning problems. So I began some basic research.


At first I tested only two notes, A1 and F1, and I got a wide range of values based on how long the machine had been on. Within the first hour to hour and a half, the notes are very flat, but after it stabilizes it stays relatively in-tune. However, the pitch continues to rise throughout the session, and after about 2 hours it rises four values an hour. So at 2 hours for note F1, the value 17 is about -14 cents flat but by 5 hours this same value is +2 cents sharp. In long sessions nearing eight hours or more, the value actually becomes 16. So I did the best I could and averaged the times after around 2 hours to 6 hours and picked the values that were closest to a note at the time. I came up with a charts that look like this:





As you might notice, there are two: one for decay values of 240 or more and another for decay values of 150 or less. The issue is that above 240 the kick drum’s pitch rises slightly at the end of the note, about 10 cents or so. With decay values of 150 or less, the pitch is more or less stable as it doesn’t have time to rise in pitch at the end. So depending on if the track has long kicks or short kicks, I have a chart to help me determine which control change value to send.


This took quite an effort of a few weeks of tables and spreadsheets just to see if I could figure out exact values that corresponded to notes so that I could use the kick drum as a bass instrument, and as it turns out, I can’t fully map out the values, due to the lesser resolution of 0-127 to represent 256 values and because the circuit that generates the kick drum is analog, and as far as I can tell, continues to rise in pitch as long as the machine is powered on, i.e. the hotter it gets. Additionally, higher kick drum pitches tend to go further out of tune faster than the lower kick values, so the top notes are essentially unusable. In fact, there is a semitone setting on the kick drum which supposedly tunes notes on a semitone scale instead of a linear scale, but it doesn’t attempt anything higher than around F3 or 175Hz as it becomes too unstable to accurately map. Due to these factors, I try to work between 2 and 6 hours to have a reasonable expectation that the notes I send will not be too sharp or flat and just do the best I can with what I have. If it becomes problematic I have other synthesizers that I can use to generate or supplement the kicks on the Airbase.

One thing I’ve embraced with analog technology (and with performing live in general) is that things aren’t going to be perfect, and that’s ok, audiences may not even realize it’s live if everything is too perfect. This tuning issue was really annoying me though and I’m glad I at least did the research to find out what I know or don’t know, and the limits I’m presented with and work around them. One cool thing about really discovering an instrument is that you begin to find areas that the people who built it might not even know about, the fuzzy edges, and these are something I’m always searching for.

playing live

My Philosophy

Waldorf Blofeld

My musical goal, in its barest essence, is to play fully produced tracks live, just like DJ’s do, but using only hardware and without a DAW. Summing it up in one sentence doesn’t really begin to describe what this involves, however. To do this requires that every track be approached with the idea of playing it live first, and anything that can’t be reproduced live is not allowed. It also means that I had to come up with an unchanging setup that is able to handle any ideas I throw at it, which consequently means that I will not be buying any more synths or hardware until such time as transporting them becomes financially viable. And it requires an “outside-the-box” production approach, where as much as possible is handled inside the synthesizers themselves, whether it be levels, EQ, or whatever. The only other thing that is important to me is that the tracks make me want to dance, if they don’t, then they are scrapped or added to some other set that doesn’t necessarily need to be danceable. I also want to keep pushing the boundaries of what is possible in an all-live setup.


To me playing this way has many advantages over most computer-based setups I’ve seen. One is that I don’t have to deal with software/computer obsolescence, latency, glitches/crashes, or any of the other hurdles to an inside-the-box approach to live shows. Another is that every single sound you hear can be tweaked live, which keeps the songs alive and “breathing” and offers unlimited opportunities to add or subtract in the moment. And as long as my setup stays stable, I can play any track from any era at any time. Also as I continue to expand my library of songs, there should be no issues combining tracks from any era of my music to make live sets so that 5, 10 years from now I can still perform a song that I created in the last couple of years exactly as it was when it was created, using the original instruments. And if I find ways to improve a track over time, then the tracks should continue to get better.


the 4U rack

Obviously the biggest disadvantage is the amount of gear needed to pull off a show. Most of those I’ve seen from other artists have a very large number of instruments and bewilderingly complex setups. The cost in time and money of transporting and setting these up for shows means that they are usually only used by larger touring acts who are getting paid enough to make it worthwhile. Another disadvantage is that for a set to sound smooth, they must all be at or around the same level, so I have to carefully watch my levels when creating and have a plan in place beforehand to do this. I don’t use a compressor or limiter at the end of the chain so this becomes extra important for set continuity.  It also requires a comprehensive backup system so that in case any piece of hardware goes down, I don’t lose all my work; I can just buy a replacement piece of gear and restore everything exactly as it was.

Here’s some detailed information on my setup.

The Setup
diagram of setup

To achieve this, my live setup goal was to be able to take my gear onto a bus or airplane without any help, and so I tried to choose versatile and reliable machines with a wide range of tones that weren’t overly large in size. Another factor when choosing which synthesizers I use is replaceability, that is, should some hardware break, can it be replaced with relative ease? The last factor is, the machines I choose must be able to be completely controlled with MIDI, freeing me to just perform and not have to physically switch patches or change settings. That’s what brought me to my current setup, and here are the hardware pieces I have chosen and how I use them. 

Roland TB-3


  • Access Virus TI2
    • extremely versatile 16-part synth
  • Jomox Airbase99
    • 11 individual instrument outputs
  • Roland Aira TB-3
    • acid, bass, and lead machine
  • Waldorf Blofeld

    Behringer BCR2000


  • Akai MPC2500
    • 300K midi messages allowing for long sets
  • Behringer BCR2000
    • to control Jomox, TB-3, FX, & software
  • Lexicon MX400
    • outboard FX unit usually dedicated to drums


  • MOTU Micro Express
    • 4x in / 6x out compact midi router
  • RME Fireface UFX
    • 14 inputs (more if using ADAT)
  • Furman PL-8C E
    • rackmount power supply
  • Macbook Pro or PC running RME’s Totalmix software

…and that’s it. In fact, I’m even slowly trying to phase out the Waldorf Blofeld so that I am only using three synths, further lightening my load. Because I’ve learned how to make my own sounds, I don’t need an army of hardware dedicated to a certain task to achieve what I want.

The Challenges

If I were to ask electronic producers, I bet a lot of them would say that if they would perform their tracks, they would like to perform them live, but in practice there are many issues, like:

  • too much gear/too complicated of a setup

Having a single setup that never changes drastically increases my ability to play tracks live. I worked for years to figure out how to arrange the 14 inputs for maximum versatility. Right now I have six channels dedicated to the drum module (6), one stereo channel for the Virus which handles a lot of tasks (8), two analog inputs and one stereo digital input for the MX400 (12), and then a single mono channel for the TB-3 and the MPC (14). For the Blofeld, I route a single channel to the Virus’ right input, and I have one more output from the RME to the Virus’ left input which allows me to use the built-in Virus FX for any other channel. I do not anticipate this changing because with this setup I can achieve anything I want to achieve. The Virus is really the hub because it also has a built-in EQ and effects, in addition to the EQ, dynamics, and effects in Totalmix, and of course my dedicated effects unit which supplies two completely independent effects in parallel.

  • too much post-processing/mixing

It is my belief that there is very little that can’t be achieved outside the box, and I use a number of techniques to limit how much post-processing I have to do. For example, I have a set location on each synthesizer for the master volume to sit at, and I never move it, then I use oscillator levels or other internal volume settings to adjust the final level of a sound. Once the levels are set as close as possible, then I start using my effects, dynamics, and Totalmix to further sculpt the sound. Totalmix is the software that comes with the RME UFX and has built in EQ, dynamics for each channel, and a single reverb and echo effect that is set up in parallel. All information related to a mix can be stored in “snapshots” which saves all the information from the window and can be recalled in milliseconds simply by sending it specified midi notes.

  • too much to remember

I keep a lot of notes. I mean a LOT of notes. Since I started I have filled 10 documents of my daily notes, each of which is 40+ pages long. These journals have a number of purposes, from keeping track of things I’ve learned, to production and set notes, to planning for the above setup. It also serves to show the progress I’ve made over time. I also store individual track notes here, like BPMs, styles, synths/fx used, and anything else I can think of. I don’t go back to them that often, but when I do, it’s invaluable. The TB-3 and Airbase99 also require many pages of presets in my BCR2000 to control, so I take screenshots to remind me where I have routed everything, because it’s simply too much to remember. Perhaps once I’ve used this for a couple more years I will remember where everything is routed, but the screenshots and some logical layouts help me recall what I need to.

The result of all that work is here, my first all-original set. One Hour Techno Good luck out there!

TB-3 pattern creation & recall FAQ

This post is more for me to document what I’ve been doing, and contains a lot of esoteric and germane-only-to-me information, but maybe there’s some information people out there might find useful as well, so here’s my basic setup for getting pattern creation going on the TB-3. Also at the end, I’ve linked my presets for the BCR2000 to control most of the values on the machine. For reference, brackets around a button means to hold it, otherwise it’s a press only. I like to use lock mode which has a bit of a different workflow,  so I start with that, otherwise any pattern you are working on gets overwritten by default. When you use lock mode, just make sure to press REALTIME REC when switching between modes so that you don’t lose what you’ve been working on.  Someone on the internet also made this overlay which is helpful as well.

  1. Set up lock mode [optional] :
  2. Semi-randomize the notes pattern:
  3. Set the number of steps 1-32:
  4. Semi-randomize the accents, glides and octaves:
  5. Transpose a pattern by half steps:
  6. Change swing amount (0-50):
    1. [TEMPO] → VALUE
  7. Change to triplet timing:
    1. [STEP REC] → TEMPO

This is sort of how I get the creative juices going, create a few patterns, make variations of them, and then start modifying those. If you go ahead and choose 32 steps, this gives you more random phrases to choose from.

Additional Features

If you’d like to use the TB’s internal sequencer, there are some other features available to you. Unfortunately you can’t select patterns via midi, which is one reason I don’t use the internal sequencer. Here are some cool features of the TB-3:

  • Scatter modes (using internal patterns):
      1. SC1: repeater
      2. SC2: repeater 2
      3. SC3: reverse
      4. …slicing, gating, random seed, glitch
      5. SC8: HPF
  • Change pattern pitch in half steps (pattern playing):
    • you can also hold down the [KEYBOARD] button and then press a key on the PAD. The pattern’s base key will transpose, C to B, when the sequencer is being played back.
  • To save a sound to a user bank after editing:
    • [ENV MOD]  → VALUE, select U01-U15, then PLAY/PAUSE to verify
    • a sound can only be saved in KEYBOARD mode
  • midi modes (local off, local on, midi only):
    • [SCATTER]  → VALUE
      • if the panel isn’t responding, check this setting
  • Interrupt pattern and play glissando:
    • XY PLAY → PAD
  • Change global master tuning -7.0 → + 7.0 (pattern stopped):
    • turn off STEP REC / REALTIME REC
    • ENV MOD → [ENV MOD] → PAD
      • Unless you really need to do this for some reason, I would advise against it, as it is global. I went back and loaded some patches and everything was out of tune -2.8. 🙁
  • change the master tuning (on power-up):
    • [SCATTER] → power-on
    • [ENV MOD] → VALUE (430-450hz in 1Hz steps)
      • Another thing I would avoid messing with unless you really know what you’re doing, as it’s also global.
  • change key, C → B, chromatically:
    • [XY PLAY] → VALUE
    • This is just an easter egg that appears to do nothing, sequencer playing or not.
Problems to Iron out

Here’s where it gets kind of workshop-y and relevant only to me, but I’ve managed to solve almost all the problems I had externally controlling the machine. I recently added more time between the 11 sysex calls I use to recall parameters in case any data was being cut off, as it was in some earlier iterations of my midi parameter request sequence. Interestingly I think the CTRLR panel sends all the sysex parameters simultaneously over USB midi, so it could be possible to do it that way from your computer, but I just use the MPC2500.

  • hung notes
    1. There is a problem I’m encountering with hung notes, but it seems that a slide set but not turned off is causing them. I have been adding a 0 value slide (CC102) to the end of phrases that exhibit this issue, and so far so good, it appears to address the problem.

SOLVED: If a phrase ends without a 0 value for slide, notes can hang. Sending CC102 & CC103 with values of 0 after the offending TB part seems to address the issue. 

  • restarts necessary
    1. Sometimes for whatever reason the TB-3 doesn’t seem to respond properly to new information, with stuck notes continuing even when playing from the keyboard and there are no external sequences playing. To this point, the only fix is to restart the machine. It could be overload of sysex information or incomplete handling on the part of the TB-3. Sometimes they occur when I have them in a loop, so I always try to remember to unplug the output cable if I’m not using it. I haven’t tried any of this using USB midi, but the CTRLR plugin I use can update its values, so there should be no issues there.

SOLVED: This seems to be due to stuck notes. Following the procedure to avoid stuck notes (above) seems to fix it.

  • sound only loads properly when patch is changed or parameters are re-sent 
    1. The full sound doesn’t always seem to be loaded correctly using my parameter recall method and I seem to have better success on some than others. Some of them return nearly all the right values but one or two are missing. For example, I recalled one patch and after some investigation I found that the main problem was that the delay was set to stereo and I have moved the module to a mono input, so either it wasn’t saving properly or it was just not playing properly because it was formerly in stereo.  Note to self here: Every parameter on the synthesizer is mono EXCEPT the stereo delay 1 & 2, if set to stereo mode.

SOLVED: I found that I was missing a section of the parameters that was supposed to be being sent. Everything started to work once I restore that section. In the full set, CK seemed to still have problems loading properly even after the sysex parameters were verified, but it turns out the problem was again stuck notes. Once the stuck notes problem and missing sysex section problems were solved, this problem disappeared. 

  • sequence not always accurate when played back from external sequencer
      1. It seems that most of the time sequences play back properly from an external sequencer, but occasionally there are differences which I can’t really figure out. As far as my hardware sequencer is concerned, it seems to record the same loop different ways. For example, accents and slides may be a tick or two after the note, but it’s not consistent so it’s hard to fix if it doesn’t seem to record correctly. Even copying/pasting working phrases to non-working areas doesn’t seem to fix it. I have read that transcribing patterns for external sequencing from this machine and machines like it presents problems, and different people use different methods to address them. The TB-3 uses the long sustain method I think.

SEMI-SOLVED: The only way to avoid this issue is to test to see if it plays back properly when recorded. If the problem seems to be slide-related, try turning off slide on the last step and re-recording. If that doesn’t work, the only solution is to play the patterns directly on the machine. However, most patterns seem to be largely played back as desired, only towards the outer range of possibilities do problems appear.


Epic Post Epilogue

I have reached a pretty good stage of the live setup which I hope will be stable for a while. The process of saving patterns and sounds to midi has taken some trial and error, but there have been no “deal-breakers” to this point. Accessing all the sound parameters live is also possible with an external device like a BCR2000, and to be honest if I couldn’t adjust and save these values I would probably not be able to use it in a serious setup, but as it is, this synth is a diamond in the rough. Sometimes patches are at different levels but I found I don’t have to adjust the main volume, I can either raise or lower the individual levels on the TB-3 (preferable though more complicated) or adjust the preamp level (easier). The level is quite hot so I keep it at about 3 o’clock so that I have a little headroom to get loud if I want. And if you just want that “classic” acid sound, pick preset A01 or A02 and tweak away, as it is actually one of the closest emulations out there based on videos I’ve seen. This has been a really fun machine to sound design on and now I use it in almost every track! And as promised, here are some links to my TB-3 BCR2000 presets in BCR format:

  1. TB3-SOUND
  2. TB3-FX Library 1-1
  3. TB3-FX Library 2-1
  4. TB3-FX Levels & Distortion
  5. TB3-FX RV,PS,EQ

Roland Boutique JX-03 chaining notes

  • This is what the setup looks like with an added JX-03.

    MIDI clock sends all the time, I don’t think it can be turned off. If set to auto, it will check for external clock first and sync to that, otherwise it uses internal tempo, set with [MANUAL][3] and then [1] or [2]. That means any synth that receives output from the JX will need to sync to it or set up local control so that incoming midi doesn’t affect it.

  • Along with MIDI clock, the sequence always send its midi notes to the MIDI output. It will be important to never start a sequence from the JX because it will probably send unwanted notes onwards.
  • Chain mode was set to on at first, and this caused problems because it would not send note offs from the MIDI output, which caused hanging notes.
  • The JX also sends program change messages, which cannot be turned off. This should be noted for any downstream synths in the chain.
  • Some USB ports do not supply enough power to keep the JX on. My phone charge battery for example did not work.
  • Not sure about stereo, if the JX receives and/or sends it on with its input/output jacks. The output on the JX is monoaural, except for the chorus output, which is stereo.

Roland TB-3 Extended Features & Parameter Recall

A Nice Surprise: Discovering the TB’s Hidden Features

As it turns out, the TB-3 is much more than meets the eye. When it first came out, it was a simple TB-303 emulator with 4 knobs, a touchpad with x/y/pressure control, and a built-in step sequencer. Then in 2014, Roland released an extended sysex document and firmware update (1.10) that allowed you to access more features, including control over a limited VCO section, distortion, and the two effect slots, as well as a 16-slot user patch storage section. If this weren’t enough, it was recently discovered that using an undocumented sysex control method it was possible to access 11 separate sections plus the sequencer, all controlled with midi. These are not novel uses of the effects, these are completely new sections:

  1. VCO independently control sine, square, saw, ring + pink/white noise
  2. VCF with ADSR envelope, amount, accent & keyfollow
  3. VCA with ADSR
  4. LFO modulates VCO, VCF, VCA with 5 shapes including S&H
  5. Cross Modulation 8 types combining square, saw, and noise sources
  6. Ring Modulation 4 mod shapes, separate from FX 1&2
  7. CV Offset inputs to SAW, SQR, RING, LFO
  8. Distortion 25 types with Drive, Bottom, Tone & wet/dry mix
  9. Effect 1 8  types + Pitch Shifter & EQ
  10. Effect 2 8 types + Reverb
  11. Parameter Assign
    1. allows assigning of any parameter to X or Y pad, press modulation, or effect knob with 0-255 value range
    2. all known parameters can be assigned (±256)
    3. all four controllers can be assigned simultaneously

WOW! It’s like getting a whole new synth! The only envelope control available before was VCF decay, but now all four stages of VCF/VCA are available and with the new additions you have total control over your sound, whether it’s long drones or staccato stabs, maybe even PWM. The crossmod feature is extensive, for example allowing the oscillators to play at different pitches, and ringmod is especially juicy. Parameter assign lets you control any of the 256 parameters with four selectable mod destinations, like the touchpad or effect knob. In addition, there is complete MIDI control over pattern parameters and portamento types/amounts. With pattern control, you could even write your own software to generate random or semi-random values for the pattern sequencer, although I have not tried editing patterns yet. Finally, you can set and receive the machine’s midi channel and modes remotely.

Still In Search of Parameter Recall

What I had set out to do at the beginning still wasn’t possible though, which was to back up sounds/patches, not to be confused with pattern backup, which was already possible. The sysex document provided with the 1.10  firmware update indicated that the patch, distortion, and fx1/2 sections were available for edit, a great improvement over the front panel alone. I had succeeded in getting a response from the synth as to the current values, but of course there were often many more unavailable parameters that were altering the sound that couldn’t be retrieved.

Then I started looking for editors on the internet to see if anyone else had taken snapshots or otherwise used the synth’s data to populate a visual interface. (Most people would have tried this first, but not me!!) I found one and viewed the sysex data in use and I immediately noticed it used a different, undocumented format and this led me to the TB-3 unofficial MIDI spec which maps out all the known parameters. I emailed him to ask about these undocumented sysex calls and when he answered he detailed what each of the commands returned. For those that are interested, here are the RQ1 commands:

  1. VCO                   F0 41 10 00 00 7B 11 10 00 08 00 00 00 00 0E 5A F7
  2. VCF                    F0 41 10 00 00 7B 11 10 00 0A 00 00 00 00 0B 5B F7
  3. VCA                    F0 41 10 00 00 7B 11 10 00 0C 00 00 00 00 05 5F F7
  4. LFO                     F0 41 10 00 00 7B 11 10 00 00 00 00 00 00 0D 63 F7
  5. Cross Mod      F0 41 10 00 00 7B 11 10 00 04 00 00 00 00 0A 62 F7
  6. Ring Mod         F0 41 10 00 00 7B 11 10 00 06 00 00 00 00 0E 5C F7
  7. CV Offset         F0 41 10 00 00 7B 11 10 00 02 00 00 00 00 06 68 F7
  8. Distortion        F0 41 10 00 00 7B 11 10 00 0E 00 00 00 00 09 59 F7
  9. Effect 1               F0 41 10 00 00 7B 11 10 00 10 00 00 00 00 5F 01 F7
  10. Effect 2              F0 41 10 00 00 7B 11 10 00 12 00 00 00 00 54 0A F7
  11. Param Assign F0 41 10 00 00 7B 11 10 00 14 00 00 00 00 12 4A F7

If you send the TB-3 these 11 commands, the machine will spit out all the information it contains in sysex format, and the data the TB3 returns can be recorded. When played back they will load into any location’s edit buffer, user or preset, but will not overwrite any sounds. Program change isn’t even necessary because you are just overwriting the location’s edit buffer. Create a named folder for each new patch and now  you have all the information you need to recall a patch’s full parameters. Even though I didn’t technically find patch storage, I found the next best thing — complete parameter recall!

Paradise Gained

Now you sound designers out there don’t have to settle for a stock preset or worry about overwriting one of your precious 16 user slots. With all these parameters you can seriously mangle a sound, and once you get your main patch designed, use the extensive Equalizer from FX 1 and reverb or delay from FX 2 to add the finishing touches for your mix. Other ideas include using 3 separate ring modulations, dual delays, crossmod into pitch shift/phaser, the possibilities are practically endless, but whatever you come up with, you can save them all to recall for a later session. No longer is the TB-3 just a desktop toy playing preset sounds, it can be a powerful workhorse in your studio. This is now a top-notch machine that I can’t wait to explore and design on.


Roland TB-3 effects

The TB-3 has many effects and each of those effects has many parameters. There are two separate FX slots and a distortion slot that can all be used simultaneously. The documentation is in very small print though and not easily navigable, so I have put the information into a PDF for easier reference which you can access by clicking on the link below.


my Roland TB-3 FAQ

I finally went and bought a Roland Aira TB-3, for a number of reasons. First, I’ve been wanting a dedicated acid machine for quite a while since I sold my FutureRetro 777, but I wanted one updated for modern production. Another thing I absolutely had to have: patch memory. Almost none of the currently available machines have that capability, including the TB-03 and TT-303. There are some vintage machines available with patch memory but I really didn’t want to go that route. I’d heard the sound of the TB-3 and I liked it, so the choice was easy: Roland Touch Bassline TB-3.

Sounds, Patterns, & Notes

It’s not always clear with Roland’s documentation what things mean, and  integrating it into my system proved more difficult than I had expected. In the context of the TB-3, there are two main components: sounds and patterns. A “sound” is a “patch” or sound program and refers to the synth parameters, while a “pattern” is a series of notes, gates, slides & accents that form a sequence. Patterns can be saved into 8 banks of 8, and can be saved to a computer. Sounds can be saved to one of the new 16 user slots and stored on your computer so that you can create a library of as many extra variations as you want. Roland provides no documented way to save patches on your computer, but I did manage to find an undocumented way. Here are some more discoveries I made that might help you.

  1. To save a sound, stop the sequencer (in keyboard mode), [hold] ENV MOD and turn the value wheel until you pick a desired user slot, then press the PLAY/PAUSE button to save it. Only 16 slots, but plenty for a live show.
    1. The user patch section is only accessible by the front panel and cannot be accessed without some human intervention. Once you navigate to the user section, it is possible to send program change to change user slots. If you send program change while in a user slot, it automatically switches to A01. The presets are accessible with program change and bank change.
  2. All patterns are saved automatically unless “Lock” is turned on. To set up Lock mode, turn off any record, [hold] PTN SELECT and then turn the value knob. Preset pattern variations 1-1 thru 8-8 cannot be selected via midi either, front panel only.
  3. To change the number of steps (1-32), [hold] STEP REC and turn the value knob.
  4. To change to triplet timing, [hold] STEP REC and toggle the TEMPO button.
  5. To transpose the track up or down, turn on REALTIME or STEP REC and then while holding the KEYBOARD button, turn the value knob.
  6. It’s also possible to associate a particular sound with a particular pattern in the user section.

Bypassing the Internal Sequencer

In a live context, i don’t really like to use a machine’s internal sequencer or arpeggiator because they almost inevitably start out of time or fail to sync when they’re triggered. In the TB-3’s case, the sequencer ALWAYS runs and I would have to select patterns manually live, which is not something I wanted to have to remember to do at every live show. So what I do is just record the arp or sequence’s midi information to a sequencer, turn off the TB-3’s internal sequencer, switch to an empty pattern, and then play the information from my main sequencer. Here’s how I did it:

  1. Before you start,  make sure midi is set to AUTO and not INTERNAL or it won’t respond to external midi clock. I also turned off the midi thru functionality so only the internal stuff is sent through the TB-3’s output. These are both set by restarting while holding down the SCATTER button. Here’s what mine looks like (midi is set to channel 6). Press PLAY/PAUSE to save, exit, and reboot.
  2. First, clear out a pattern ([hold] PTN SELECT and press the CLEAR pad). I chose pattern 1-1.
  3. Now choose the pattern you’d like to record into your sequencer. I chose two: 1-6, a straightforward one,  and 5-7, a really slide-y one.
  4. Now get your sequencer ready to record. Make sure there are no feedback loops since you will have midi cables both in and out of the TB-3 (this is where turning off midi thru functionality comes in handy). Press play/record on your sequencer, which should trigger the pattern, and record it into your DAW or sequencer. Stop at the end of the phrase.
  5. Now unplug the midi out cable from the TB-3, again to prevent feedback loops. If you try to trigger the sequence from the pattern you just played, it will try to play both the notes and slides you’ve just recorded and will start the sequence, resulting in it trying to play two notes at once. There are two ways around this:
    1. Stop the sequencer on the TB-3 after you’ve pressed play on your main sequencer. Unless play/start is sent again, it should play indefinitely,  however, if the sequence is restarted, the same issue will occur…it will try to play both the notes and sequencer.
    2. Go to the pattern we had cleared out, pattern 1-1, and press play on your external sequencer. Now, no matter if the TB-3’s sequencer is triggered or not, the sequence plays properly. Still though, I go ahead and hit the PLAY/PAUSE button to turn it off.
  6. If this works, then repeat the same process for the more complex one, pattern 5-7 in my case, to verify that it works. Make sure to pick a simple patch. The sequencer sends out exactly what it plays, so when you play back on an empty pattern, it should sound exactly the same!

Now you can use the TB-3’s internal sequencer to make a sequence, play it into your sequencer, and bypass the TB-3 internal sequencer with no loss of information. Additionally, there is no need to overwrite patterns you want to keep using this method.

Time to Have Fun

Now that we can control the machine externally, go to any pattern, and press PTN SELECT [hold] then press SCATTER to randomize the note pattern and KEYBOARD [hold] then SCATTER to randomize the accents, glides, and octaves. If you press REALTIME REC button in between switching from PTN SELECT to KEYBOARD mode, it won’t erase and start over. Save the pattern by pressing REALTIME REC or simply play the sequence into your sequencer and play it back from there.  No need to back up patterns this way!

Check out this document for the rest of the cheat codes.