excited about this and the possibilities it creates, and happy to support the project! definitely interested in both, just need to figure out how many [visions of 16 cv outputs controlled from grid256 into 4ms vca matrix…]

2 Likes

PM’d for both. +20 characters

1 Like

PM’d for both. Thank you and respect for doing this!

1 Like

Sorry - should have re-sumarized the two expanders. Here is a quick write-up.

TELEX Teletype Expanders

The TELEXo (or TXo) is an output expander and the TELEXi (or TXi) is an input expander. They have little jumpers on the back so you can hook more than one of each module to your Teletype simultaneously. (Theoretically, up to eight of each type - though I’ve only tested six total modules at a time thus far. There will be a limit based on the II bus resistance - not sure what it is yet.)

TELEXo

Each 4HP module adds 4 Trigger outputs and 4 Control Voltage outputs.

All Teletype output functionality is supported by the TXo. Operators are near-identical for basic functionality, just put a "TO.” in front of the set you already know. The outputs are a little different; the triggers are +5V triggers and the CV outputs are bipolar (-10V to +10v) with 16 bit resolution over that range.

Extended functionality of the TXo starts with being able to specify longer values for slew and pulse times (in seconds and minutes).

The TXo also has the following “experimental” features for each of its four CV outputs:

  • a quantizer with a dozen or so microtonal scales in addition to equal temperament
  • an oscillator (not currently band-limited) that supports frequencies from LFO rates up to around 8kHz with variable waveforms (sine, triangle, saw, variable width square, and noise), and frequency slew (portamento)
  • an AR (attack + release) envelope generator with times in milliseconds, seconds and minutes

These extended features, when combined together, can really push the envelope of the TXo’s processor and do some crazy stuff. For example: the output’s envelope generator can act as a VCA, which turns the expander into a little 4-voice synth.

TELEXi

Each 4HP module adds 4 IN jacks and 4 PARAM knobs.

The IN jacks are bipolar (-10V to +10V). They work just like the Teletype IN and PARAM operators (TI.IN and TI.PARAM). It also has some extended functionality where the TXi can do quantization for you and return note numbers against any one of its internal scales (there are about 12 or so). Inputs are sampled with 13bit resolution.

DIY

The modules are made up with two boards stacked on top of each other and a Teensy 3.2 riding piggyback. They are primarily 603 SMD parts with a few 805, 1206 and SMD ICs thrown in for good measure. If you have assembled any of mxmxmx’s DIY modules (Ornament + Crime, Terminal Tedium, etc.) you should have no problem with the expanders. They are not, however, a beginners project for SMD.

What They Look Like

Ignore the one on the far right; it was my first prototype and didn’t get the color-matched LEDs.

8 Likes

PM’d for 1 TXi and 2 TXo !

PM’d!

(assembled that is)

Good news.
PM’d, if I get this right, there should no problems with using TXo’s or TXi’s with TT and JF?

Gonna need a bigger II bus! PM’d for one of each.

Can these be reset? LFO reset would be really useful.

Here be answers.

  1. @nimmen - should be no problems with TT and JF in the mix. :slight_smile:

  2. @GoneCaving - there is a command that restarts the cycle to do a “LFO reset”: TO.OSC.SYNC. I think it will do what you want. :slight_smile:

2 Likes

Can you elaborate on this? How are scales loaded, what kinds of scales are possible, and how are they used in scripts?

I’m super excited about this feature!

Also very exciting! Which DAC is used? My apologies if this was already mentioned, I didn’t see it.

I probably want one of each and it gets me off the fence about teletype in general. :slight_smile:

Questions from @jnoble

SCALES

Right now, the scales are a included in the code of the expanders. That said, it is very easy to change them out. There is a little utility that takes a Scala file and renders the scale for use in the expander - generating the code necessary in order for it to work. You simply paste the output into the project in a couple of places and upload it to the expanders.

Today it is not possible to change the scales at run time. It wouldn’t be impossible to expand things so that scales can be programmed at run time - that just wasn’t in scope for the first build and release of the module. Everything is open source, so there is nothing to stop this from being added by someone in the future. :slight_smile:

SCALE USAGE

The input and output expanders have the same list of scales. To set a particular scale as active, you simply set the scale value. Each input or output can have its own scale setting. The following two commands set the fist output/input of the first expanders to use the fourth scale (Carlos Alpha):

TO.CV.SCALE 1 4
TI.IN.SCALE 1 4

To use the scale on an output, you can either pass a note number to the CV output like this:

TO.CV.N 1 32
TO.CV.N.SET 1 32

Or you can pass a voltage value to the quantizer:

TO.CV.QT 1 N 32
TO.CV.QT.SET 1 N 32

Using it on input is just as easy, you can either grab the note number:

TI.IN.N 1

Or you can grab the quantized voltage value:

TI.IN.QT 1

DAC DETAILS

The DAC that is used is the DAC8564 (Mouser P/N: 595-DAC8564ICPW; datasheet: http://www.ti.com/product/DAC8564). This part is used by a number of Eurorack modules - including Mutable’s Yarns and Ornament + Crime by mxmxmx. It has tiny little SMD legs that can cause DIY cursing. :wink:

2 Likes

Oooh, thats dac chip is indeed small.

On my first o&c built, was using lotsa flux, fine solder tip and .5mm solder lead, it took couple of times to get it right.

Bought an hot air station for a 2nd o&c build with solder paste, it was much easier.

1 Like

Goodness, that’s quite an answer. I too have a conversion utility that makes Scala archive scales into code for a quantizer, but you’ve gone several steps past me. I’m very pleased and impressed.

What’s the programming toolchain like?

Lurker here

I’d like to order, but I have no idea how to PM on |||||||

Which is somewhat embarrassing.

I googled, I clicked, I reclicked, I puzzled, and now I’m wearing the dunce cap in the corner I guess!

Click on the circle avatar/user profile image; yours is the green ‘H’ in a circle. Then look in upper right corner of the window. Blue bar that says “Message.”

Must be a new user lim, sorry. I can get to messages, I can see messages, but there is no control to make a new one. I’ll wait it out I guess.

I put together the first draft of the command reference in Markdown today. Most likely full of typos and errors; only had time to do a light proof. You can find it here:

All of the other details on that github repo are quite old. I’ll be updating it in the coming weeks with all of the bits and bobs as I get organized for production.

3 Likes

reply for @jnoble

Toolchain is dirt-simple. There is a python script that reads Scala files (it takes an input file with a list) and generates the tables in c++ code for the android application. Then, it is cut-and-paste land.

For performance reasons, the entire table is generated ahead of time and stored as a constant. This allows for instantaneous switching between scales and super-fast lookups as it also creates an octave hint table at that time. (I should also note that the quantization employs hysteresis to keep the values from flopping all over the place at boundaries.)

The quantization values are at a reasonably high resolution, so using them on the output using the .QT or the .N operators outputs fairly precise frequencies - especially if you are using the oscillator mode. That said, tracking is all over the map in the analog world - so results will vary widely. That is why the features are extended / experimental. :slight_smile:

Sorry, I meant to reprogram the expander. :slight_smile:

Pretty stoked to hear how you’re thinking this all through.

1 Like