[sdiy] Oberheim Xpander logic chip question
rsdio at audiobanshee.com
rsdio at audiobanshee.com
Thu Nov 29 23:44:51 CET 2018
Yes, I’m referring to the VCA in the 3372. It’s not a discrete chip, much less transistors, but it’s still fully analog. The processor generates a CV labeled “VCA” that ends up at the appropriate pin on the 3372.
Now that I look again, I would say that “VOLA" and “VOLB” should count as VCA units. They’re also inside the 3372, but they each have a unique input and they operate independently of each other.
I suppose that brings the current total to 4 VCA (3 analog VCA + 1 MDAC), 2 VCO, 1 VCF, and then all of the virtual, digital VCAs, per voice.
I’ve been looking at the firmware. There are three firmware implementations that each tell their part of the story: Voice Board, Xpander Main Board & Matrix-12 Main Board. There is certainly a lot going on, and there is shared memory between boards. The CV update would definitely be less than 44.1 kHz, but the DAC does seem capable of updating a single channel in 500 nanoseconds. The real limiting factor is the bus where the DAC is memory mapped, since time would have to be shared with other peripherals. It’s temping to assume that an ARM CPU could avoid using the bus to access ROM and SRAM, since most have their own internal memory, but the Processor Board uses DMA to inject parameter changes into the Voice Board SRAM, so the ARM would have to periodically poll those SRAM addresses on the same bus.
I’m actually interested in using a DSP to generate the CV signals efficiently. Some DSP can handle Standard C source for the non-signal parts of the firmware.
On Nov 29, 2018, at 1:48 PM, Tom Wiltshire <tom at electricdruid.net> wrote:
> I think the Xpander/Matrix-12 definitely justifies a “deep dive” as you characterise it. There’s plenty in there to study. Any faults with it are basically due to the processor limitations they were working with. The CV update rate is *shocking* by modern standards (100Hz), and the shortest envelopes are consequently pretty slow. Don’t expect snappy basses from an Xpander, but it excels at soft, complex pads.It’s one of those instruments that could benefit from a processor upgrade (like the Jupiter 6 Europa, Korg Kiwisix, or Sequential ProOne Turbo - probably there are others, but those come to mind). Imagine a Xpander driven by a modern ARM CPU with snappy envelopes and a almost-audio CV update rate! You could add other envelope shapes and LFO waveforms too. Of course, in a “largely firmware” instrument like the Xpander, the scale of this job is not to be underestimated. But just think…oooh! ;)
> As you’ll have seen, there’s a section about the “Dynamic FM” implementation on Page 24 of the service manual that deals with the triangle wave->MDAC->VCO/VCF modulation path.
> I don’t see the analog VCA per-voice that you mention, unless you mean the one in the 3372 which provides the voice amplitude control. Is that what you meant?
> On 29 Nov 2018, at 20:03, rsdio at audiobanshee.com wrote:
>> You are quite correct, Tom.
>> After sending out my message, I wanted to follow up with a correction. I listed 2 VCO and 1 VCF, and may have implied only a single VCA per voice. However there are a great number of VCA units per voice. I’ve been meaning to review the schematic to get a confirmed count of analog VCA, digital (MDAC) VCA, and software VCA units.
>> When one digital parameter is modulated by another, that’s basically a pure digital VCA, so it won’t be visible on the schematic. In the case of the Multiplying DAC (MDAC) for FM, that is a digital-controlled analog VCA. Then, I’m sure there are pure analog VCA units with a CV input from the DAC. The Oberheim Service Manual explains the advantages of the MDAC approach, where appropriate.
>> A quick scan of the Matrix-12 Service Manual seems to show 1 analog VCA and 1 MDAC DCAA per voice. Did I miss anything?
>> I’ve been taking a deep dive into the Xpander / Matrix-12 lately, and I’m by no means finished learning all about these pieces.
>> On Nov 18, 2018, at 5:32 AM, Tom Wiltshire <tom at electricdruid.net> wrote:
>>> It’s not entirely true that all the modulations paths in the Xpander are software.
>>> The Xpander has *one* hardware modulation path. There’s a route from the Triangle wave output of one of the oscillators via a Multiplying DAC to a 4053 switch which sends it to either the other VCO or the VCF. They had to do this FM in hardware because the CV update rate isn’t anything like fast enough for the software to do it.
>>> It has nothing to do with Portamento or Lag Processors though, and it doesn’t even seem to include any smoothing in the hardware path (no need - it’s a triangle wave after all). But I wonder if this could be what the apparently-confused member of AH might have been thinking of?
>>> On 18 Nov 2018, at 04:54, rsdio at audiobanshee.com wrote:
>>>> Lag is always software on the Xpander.
>>>> Look at the manual, on page 22.
>>>> HARDWARE includes the two VCOs, VCF and VCA per voice. Those hardware modules each have multiple CV inputs, but there’s nothing in hardware to directly route or generate or patch the CV from anywhere to anywhere.
>>>> SOFTWARE includes the LFOs, Envelopes, Tracking Generators, Ramps, and Lag Processor. Other software-handled components include CV inputs, MIDI Velocity, Pressure, Pitch Bend, Vibrato, and Control Changes. Basically, everything that generates or modifies a “Control Voltage” is handled in software. Only the final CV value is converted to analog at the hardware destination point. The patching isn’t done in hardware, because each CV output is dedicated to a specific function like VCO pitch, but modulation is done by moving values around and combining them before sending the final calculated value to the DAC for a particular CV channel.
>>>> When you apply Lag Processing on modulation that is connected to the VCO and/or VCF, those CV values are modified in software according to the Lag parameters, and then the final value is converted to an analog voltage. So, while you can apply Lag to the oscillator and/or filter, it’s not a hardware lag processor.
>>>> By the way, the only capacitor and resistor circuits you’ll see in the schematic that are anything related to lag are the smoothing caps on the individual DAC outputs for each CV. These are software controlled so that initial values can jump to a new value instantly, but updates to the CV that should be minor changes will be filtered to smooth the transitions. All of this assumes the standard “sample rate” where CV outputs are updated on a regular basis. These particular RC circuits cannot be tuned for any other Time Constant other than the one matching the firmware rate for the CV updates. You can turn them off completely for an update, or turn them on, but you cannot change the RC Time Constant. In other words, these smoothing caps can’t used for creative lag processing.
>>>> I’ve been meaning to look into the code to see whether the initial Attack value can or does use the ability to defeat the smoothing. The Xpander doesn’t have an initial Envelope Level, like some other synths, but an Attack time of 0 should produce an instant increase in CV, scaled by the VCA amount corresponding to the Envelope. People complain that the Xpander has slow envelopes, so I’ve been curious whether the hardware smoothing is defeated when an envelope is triggered. At the very least, I think it’s used for VCO pitch, but I don’t know whether it’s used for all CV outputs at the start of a new Voice Note.
>>>> Brian Willoughby
>>>> On Nov 17, 2018, at 5:50 PM, el macaco <elmacaco at hotmail.com> wrote:
>>>>> There is a hardware lag processor in the xpander that lets you patch some modulation direct to the osc and filter, well I assume it’s hardware... I saw it written in an AH post once. The other lags are cap and resistor and software controlled.
>>>>> Will try the logic I got and see if t solves the problem.
>>>>> On Nov 17, 2018, at 6:43 PM, Tristan <tu at alphalink.com.au> wrote:
>>>>>> As far as I know the Lag Processor is a software function in the Xpander so there will be no dedicated
>>>>>> circuit to implement it.
>>>>>> On Sun, Nov 18th, 2018 at 4:28 AM, el macaco <elmacaco at hotmail.com> wrote:
>>>>>>> Also, I noticed the Lag Processorâ?Ts Legato function doesnâ?Tt work, it
>>>>>>> effectively bypasses the lag no matter how I play, but I canâ?Tt find the Lag
>>>>>>> processor circuit in the service manual. I presume itâ?Ts on the voice board
>>>>>>> but the legato enable could be on the processor board and be another logic IC
>>>>>>> Thanks again.
More information about the Synth-diy