Converts MIDI clips generated by STING by IFTAH
(free Max For Live device) into .seq pattern dump files so you can use Behringer's Synthtribe software to send
them to your TD-3 (Roland TB-303 clone). It also generates .syx (sysex) files so you can send a pattern to the TD-3 using any sysex librarian software or sysex-friendly DAW such as Reaper.
Sequence Length
Target Pattern Group (sysex only)
Target Pattern Slot (sysex only)
Triplet mode
Usage Notes
Set up the STING Max For Live device on a MIDI track in Ableton Live. If you've got Ableton's Wavetable instrument, there's a preset called Basic 303 Bass that's good for monitoring STING's output;
set the STING channel as its MIDI input so you can hear what STING's doing.
Generate an acid line with STING that's disarmingly simplistic and catchy yet also beguilingly hypnotic and understatedly transcendental. This should only take one or two clicks.
Record the output to any MIDI track (e.g. the one you've got Wavetable on) and trim the resulting clip down until you've got just one loop of the pattern; 16 steps maximum. Consolidate it, then right click the clip and click 'Export MIDI Clip...'
Optionally set preferences for Sequence Length, Target Pattern Group/Slot and Triplet Mode BEFORE loading a MIDI file.
Click 'Choose MIDI file' below and choose the .mid clip you just exported.
Assuming you don't get any warnings, click 'Save .seq' to generate the Synthtribe pattern file.
Synthtribe will only show you anything useful when your TD-3 is plugged in with USB and switched on, so do that, then go to the Sequencer view.
Click 'Import' to find and load the .seq file you just created. Then click 'Store' to send the pattern to the TD-3, bearing in mind
that the pattern will end up in the Pattern Group, Pattern Section and Pattern slot that you specify in the upper left.
If you're using sysex, you can choose a Target Pattern Group/Slot before generating the file. Be careful - uploading to a slot will overwrite whatever's in it!
About
STING by IFTAH
is a really nice acid line generator for Ableton Live (Max For Live device). It generates really nice acid lines for the Roland TB-303.
The TD-3 has a function not found in the original 303 which randomly generates a pattern when you press 'Clear' and 'Start/Stop' simultaneously.
Sounds good, you're thinking! But I'm afraid you're wrong: it is actually bad. I want really nice semi-random acid patterns in my TD-3, not bad ones.
Also I'm 10,000 years old and have two jobs and kids and sore knees and no time and I can't be arsed to program really nice patterns myself.
I'd rather generate a load of them with STING and transfer them over.
Synthtribe is Behringer's Win/Mac software for various of its hardware synths, including its 303 knock-off the TD-3.
As well as handling firmware updates via USB MIDI, it sends and receives sysex dumps and even has a little sequence editor of its own built in.
It's not really nice, but it is pretty simple and reliable. And - surprisingly - it doesn't need to be installed, which means it doesn't litter your system with background processes, updaters and shortcuts.
This converter is pure Javascript - lightweight and dependency free - but doesn't really do anything fancy.
If you export a 16-step MIDI clip from Ableton Live, regardless of tempo (or time signature, probably, but don't go crazy), you can use
this converter to generate a .seq file that can be loaded into the Synthtribe software and then sent to your TD-3 via the 'Sequencer' page and 'Store' button; or a sysex file that you
can transmit to the TD-3 via lots of free sysex librarian programs and many DAWs.
I did this on an unexpected September 2022 bank holiday after a quick google search failed to throw up any results for
Behringer's proprietary file format.
Just my luck: after spending ages picking it apart and figuring out how to reliably write the appropriate
bytes back to the hardware, I did a better google search and found 303patterns.com, which has a very nice TD-3 pattern manager that uses Web MIDI and shows you the steps and stuff.
It also lets you change TD-3 hardware settings, which can be a pain IRL without constant recourse to the manual. Very cool!
I had some trouble getting it to work more than once (probably due to the war zone of MIDI drivers, multiclient virtual loopback drivers, and greedy DAWs that exists on my studio computer),
so I didn't regret having made this (slightly more cumbersome) workflow for achieving similar ends. But if anyone else is looking for
detailed sysex implementation info on the TD-3, Brad Isbell has dug deep into it and shared his findings here.
Anyway, it was a fun project for me. It forced me to learn about the Standard MIDI File format, which I've been putting off for years, and
I'll have some use for that knowledge in future - especially calculating PPQN, evaluating timestamp deltas, all sorts of other fun stuff.
This doc by Sean really helped with that!
Future
This is basically finished, unless I've overlooked or fucked up something fundamental that needs fixing. One more thing I might add is
some means of quickly constructing (or partially/wholly populating) a Synthtribe .sqs file, which is a full dump of TD-3 patterns with
some extra header info that specifies Track/Pattern Group/Pattern Section identifiers for each pattern. I assume that'll work via sysex as well.
More notes / troubleshooting
Be sure to consolidate your MIDI clip in Ableton Live before exporting it. Tempo doesn't really matter, and time signature probably doesn't.
Using a non-default PPQN may cause problems, especially if variable-length timing delta bytes become huge. Shouldn't usually be a problem in Live, however, and Sting is a Max For Live device so [shrug??].
To be honest, changing Ableton Live's default PPQN is either difficult or impossible, so this shouldn't be a concern.
Saving more than 16 equally spaced steps (or any number of unequally spaced steps) will cause problems. Or maybe fun surprises! But yeah, more likely problems.
We're here to convert Really Nice Acid Lines; if you want a bunch of random shit in your pattern, just hit 'Clear' and 'Start/Stop' :)
Triplet: I don't think STING does triplets, or can be made to do so (correct me if I'm wrong). You can set it yourself if you fancy, but remember this limits maximum sequence length to 15 (multiple of 3, innit).
The extra pitch step will be sent to the TD-3, but you won't hear it.
I don't really handle tied notes, for good but extremely boring reasons. The 303 (and feature-accurate clones) deals with
tied notes by inserting a gap in the sequence and 'pushing' excess notes off the end. I don't know whether, internally to the hardware,
those excess notes are lost forever or still exist in the pitch/rest structure to be restored if the tied note is removed.
I think that in my direction (MIDI DAW->sysex->hardware) ties sort of...don't exist, because all I can do is convert the MIDI notes
that the DAW hands to me. When I add ties to my binary Synthtribe seems to parse them and inject the gap itself, perhaps just so it can visually
depict how the sequence will 'look' on the TD-3; perhaps it is indeed sending the unmolested pattern to the hardware along with the tied-note bit maps.
Who knows? (If you know, and if you care, let me know and maybe I can do something about it)