How Busy Will the Microcontroller Be for Generating Envelopes?

In the previous article, I described how to calculate envelope curves and how to determine the calculation parameters. This article is about calculation speed. I implemented the ADSR calculation and found that it's desirable to update envelope values as fast as every 125 microseconds (8 kHz). The STM32C092KCT controller has clock frequency 48 MHz at the highest. Each update interval has 6,000 clock cycles. I wonder the number of cycles are enough to run the envelope generator. I'm sure they are enough to calculate the values, but the controller has more jobs than that in order to run as a module: Send data to DAC, there will be two channels…

My Next Envelope Generator

I started prototyping my next envelope generator in parallel with the slow-moving VCA unit development. Unlike my previous envelope generators, this one will make envelopes by calculation instead of using an analog circuit. I'll use microcontroller STM32C092KCT as usual that has a built-in CAN controller. I expect several advantages with making an envelope generator using a microcontroller: Gate signals can be retrieved from the CAN bus; patching cables are not necessary for receiving gate signals Easy to support velocity Any curves are possible as long as the calculations catch up; it's possible to do more than ADSR You can save and load parameters I first implemented fundamental code for the…

Try Using Current Mirror in a LTP type VCA

A differential amp using a BJT pair often uses current mirror as its load to boost gain. I was interested in applying the idea to a long-tail-pair VCA, so tried it. I first ran a simulation with the circuit as follows to ensure it works as a VCA properly. Then built the circuit on a breadboard. But the result was not good. The offset at 5V CV with no input is too large. That's it for this topic. I would not pursue this issue further. Well, it's really hard to design a VCA.

Troubleshooting the VCA Unit

I've been building trimless VCA units. The resources are available here: https://github.com/naokiiwakami/vca-unit/tree/v2 The simulation runs well. Tested the circuits on breadboard, went fine. Built a prototype on a 3" x 2" universal PCB, working fine. But the goal size is much smaller - 7/8" x 3/8". When I try a PCB of this size, a significant offset appears on output (0.4V to 1V, negative or positive) for zero input with -5V CV. This really puzzles me as all came from the same schematic. Such a large offset causes popping noises with steep CV attacks. I need to eliminate it. I'm building two types of VCAs in this project; NPN type…