As intimidating as it seems it's actually very simple: T1, T2, and T3 define how long each stage lasts, L1, L2, L3 define the target Level, T4 is the release time. The Alpha Juno would let you use the envelope to control the pitch, which was one of the defining element of the "hoover" sound popular in early 90's hardcore.
Might be a good project for a first pcb-based module that'd be worth sharing. All familiar ground, every subsystem easy to test in isolation, nothing tricky about the software, nothing tricky about performance at control rates, and i have various ideas how to make it something worth using and easy to understand.
i'd show you the first attempt at a schematic but i know it's full of stupid mistakes i will catch almost immediately
I will probably have to cut down on features lol

But i promise it will make sense as an instrument, even if this draft for my own reference makes it sound incomprehensible
infinitely thankful for circuitjs letting me confirm what happens when you apply stupid voltages without my having to barbecue components in meatspace

https://falstad.com/circuit/circuitjs.html
A little Arduino Nano experimentation board I've put together, using a protoboard repurposed from my CMOS synth project.
Almost nothing is hardwired, pin headers + dupont wires let me configure inputs and outputs.
I used a bit of modeling clay to support the pots that protrude from the board.
Should be much more reliable than breadboards or circuit simulators to test behavior while at the computer.

Proof of concept: controlling the brightness of the LEDs using the potentiometers.

I just realized I wired them the wrong way btw lol. No worries, a few #defines and helper functions solve it, this is a common mistake, and I’m 99.9% sure the compiler is smart enough there’s no performance hit doing that.

Arduino pins cannot output a variable voltage: they output either 0V or 5V. The brightness is varied using Pulse Width Modulation (PWM): turning on and off repeatedly much faster than the eye can see.

Using a simple filter to smooth it over, we can turn a PWM wave into a variable voltage, that’s how I plan to output envelopes.

I dunno if there is a name to this pattern wherein you name code identifiers a very scary name so the user can't blame you when it does what it says on the tin
Follow

@woof fun as `cmath` stuff in C++11 is not constexpr compatible from the spec, so the code would only work under gcc.

stackoverflow.com/questions/17

also, under C++11 all `constexpr` functions need to directly return a value without any variables or making use of loops, which the code clearly makes use of.

C++14 and beyond supposedly alleviates this but the silly bot specifically mentioned C++11.

@falktx and i don't even know (haven't checked yet) what compiler my current environment (platformio) uses, lol. I think it's gcc.

I don't mind it hallucinating subtly wrong answers if it can point me into useful directions though! Haven't touched C++ in years and don't know my way around MCU much yet.
Sign in to participate in the conversation
falkTX Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!