What if you mult’d and inverted the gate, so you have one script triggered when the gate begins, and another when the gate ends? Then just calculate how much time has passed since then
I could do that, but that would require another module (not that I mind).
EDIT: I would prefer just an unpatched solution so that when I stumble upon something I like I can just call up the appropriate teletype scene…
not very elegant, but you could use a fast metro and poll a script input
STATE for high/low. then use the
TIME param to keep a count. high state resets
T to 0 and starts counting. low state sends current
T value to a pattern index and resets
T to zero.
this is untested brainstorming, can’t guarantee it’ll work…
also, i’ve noticed when recording sequences (from earthsea) into teletype i sometimes have to delay my read of
IN by 20ms or so as the CV output will update slightly after the gate pulse. might be different with metropolis.
Ok. I will give that a shot. So maybe use one of the triggers to set m.act 1, multed with TI.IN 1, and then when the metro script detects it going to zero it sets M.ACT 0.
Would love to see where you end up; the patch sounds quite interesting!
forked this pursuit:
@bpcmusic - a TXi specific gate measurement function would be pretty awesome…
Would you like instantaneous, average, or both?
There is a command line build/flash tool that is supplied with the Arduino IDE. It’s a pain to set up in a
Makefile especially if you’re trying to be platform independent, but it can be done. Shout out if you ever what some help getting it to run.
I have build both telex modules and they are great to work with. Lots of fun to have with all the possibilities they offer in conjunction with teletype. I am very thankful to @bpcmusic for designing and supporting these.
Just one thing makes me wonder if I had mad a mistake during building (was my first serious SMD built) or if it’s just as they work.
The TXo oscillator output does sound and look a bit strange. There seems to be another oscillation behind it - like this:
Anyone experiencing somethin similar or has an idea what’s going on there?
I’ve been scratching my head as to what you are experiencing. I’ll first explain a bit about how the “experimental” oscillators work and then share some more specific thoughts and comments about getting to the bottom of your experience with the feature.
How the Oscillators Work
The TXo sampling rate is at 15,625 Hz across its four oscillators. This means that the top frequency that each can produce is 7,812 Hz.
The oscillators themselves do no oversample. This means that sine waves will produce pure tones up to the top reproducible frequency (the nyquist rate). Other waveforms (triangle, saw, and square) will alias. This means that they will create ghost overtones or digital distortion that is present in the output.
As you may have noted above, sine waves should not alias when performing a simple oscillation. Rapid changes to their frequency or CV min/max could potentially introduce aliasing into the signal. A tiny amount of oscillator frequency slew can help abate this a bit, btw, if you are going to be programmatically changing the frequency rapidly.
The oscillators in the TXo run from what are called lookup tables. The tables in the TXo are currently made up of 512 values - although that size is planned to grow in a future firmware update. The size of the lookup table is directly related to the quality of the signal (bigger being better).
The TXo implements a technique called linear interpolation to improve the quality of the oscillator regardless of table size. It estimates values in-between the points outlined in the table. This technique is active when oscillators are used without additional features being active.
Once you turn on any extended features for that oscillator channel (envelopes, frequency slew, rectification, …), interpolation is disabled in order to provide the appropriate processor resources to the voice. This means that you will see some additional distortion if using an oscillator in an extended mode, even with the sine oscillator.
We’ve got more room for a larger lookup table after some recent memory optimization, which will improve quality when interpolation is disabled. A future firmware update will most likely increase their size.
Your Experience with Oscillators
I’m trying to figure out what is going on with your demonstration. Could tell us a little bit more about your oscilliscope and method for altering the frequency. What does your Teletype script look like? What does your oscilliscope look like showing the output of an analog oscillator doing similar things (with similar waveforms)?
Congrats again on the build!! Very glad that you got them up and running.
Thank you - it was a joyful and educational experience!
Also thanks a lot for giving an insight in how TXo works! I understand that the oscillators are ‚experimental’ and I would not expect this function to work the same way as an fully featured analogue ocillator would work. It is just that I wondered if there is something else going on behind the aliasing / digital distortion and thought we might figure out what it is since it would be a shame if it just was something due to an possible error in building the module that could be easily fixed.
Regarding my demonstration: I worked with an analogue oscilloscope (Grundig GO 15Z) that shows waveforms of other (analogue) oscillators or envelopes in my system as they would be expected.
The teletype script from the demonstration just mirrored a TXi knob to oscillator frequency for the demonstration - when I do change the frequency with simple commands in teletype live mode all waveforms look the same as they did in the video.
Also I can not make out much of a difference by sight when I enable slew or rectification for any oscillator.
Let me know when there is anything else I could check…
It’s the firmware, I think. Something got buggered and I missed it.
Give me a few days to get to the bottom of this. I’m traveling for the next few days and might not get good concentrated time to do tests.
Thank you for the feedback - great to know that it’s not a hardware issue and that it is fixable.
No need to stress yourself - travelling needs recovery times.
50ms startup delay added:
(aiming for 2.0rc2 to come out today, with 2.0 final to be released at the weekend)
A short story about how awesome the TXo is.
I was working on my piece for the upcoming LCRP 2017 2.0 this morning and I needed more modulation. So I fired up the TXo and created a script that random numbers to create a slow slewed CV output using the OSC operators. It was perfect! Almost like a faux slewed sample and hold from a noise source.
Such a simple use of it, but it completely saved my patch
Wondering if it would be possible to add a slew time to TO.OSC.WAVE?
@emenel great to hear it is working for you! Love the feedback!!
@GoneCaving - I’ll put it on my to-do list for the firmware. We’re pretty CPU limited at this point, but I might be able to squeeze it in.
@Leverkusen - I’ve been looking into that gnarly aliasing that you reported. I’ve not been able to track down the root cause yet. Still trying to figure out if there is something I can do. It is puzzling as I haven’t found the culprit. Was pretty confident that it was firmware - but I am less so now. Hmmmm.
Still in a work whirlwind and also crawling out from under the massive life debt that I accumulated while hand-building all of the TELEX. Might be a while before I’ll feel like I’ve exhausted my investigation options.
Quit teasing me with my lack of toys.
Great to know that you are still after it - on the other hand it is not about live and death and I hope you get the aftermaths of dedicating so much of your live to designing these modules balanced out soon…
For those curious and following the process, I posted a micro postmortem of things I learned along the way over in the Eurorack Development Advice thread. Find it (along with some outstanding advice from others) here: