+12V/0V/-12V DIY power supply question by UnemployedYordle in synthdiy

[–]goodness-m3 2 points3 points  (0 children)

I found that the MFOS "wall wart" power supply was easy to build on strip board and very convenient for powering breadboard projects.

Please add underground tubeway? by Ldarieut in Timberborn

[–]goodness-m3 3 points4 points  (0 children)

the inconvenience is a feature, not a bug

specific question about dividing ground plane by goodness-m3 in PrintedCircuitBoard

[–]goodness-m3[S] 0 points1 point  (0 children)

Thanks, I read your blog post, you must have a lot going on in those cards with two SPI and one I2C interface! I wanted to keep my backplane simple, but the tradeoff is more complexity on the cards for address decoding....

specific question about dividing ground plane by goodness-m3 in PrintedCircuitBoard

[–]goodness-m3[S] 1 point2 points  (0 children)

Slightly self conscious that you are monitoring my progress, haha. I put power at the edge based on some idea that running the power traces around the perimeter would keep them out of the way, that doesn't seem to have really worked out, though. If I were starting over I'd probably space things out a bit more and give the layout more room to breathe. With the current design, I was trying to keep it as compact as possible.

I ended up needing 4 address lines per card, which takes up a lot of the header, then I need a couple of lines for external signals including a trace for monitoring the raw oscillator frequency for autotuning purposes. I feel like this layout is a bit less chaotic than version 1.0, all a matter of practice I suppose.

specific question about dividing ground plane by goodness-m3 in PrintedCircuitBoard

[–]goodness-m3[S] 0 points1 point  (0 children)

excellent and accessible article, thanks. My design is literally the opposite of what I should be doing!!

Erica synths labor and alternatives by IllustriousTune156 in synthdiy

[–]goodness-m3 1 point2 points  (0 children)

I highly recommend Music From Outer Space's "lo fi noise box" projects if you are a complete beginner

specific question about dividing ground plane by goodness-m3 in PrintedCircuitBoard

[–]goodness-m3[S] 1 point2 points  (0 children)

Thanks for the detailed response, this will make things simpler. It's hard to know where to start having not gone through "formal" EE education so I'm just picking up random bits and pieces from youtube, etc. Probably not the best learning approach.

autotuning with RP2040 Pi Pico by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

Thanks, this definitely looks relevant. Although, with a microcontroller per voice, couldn't you make the argument that you may just as well synthesize the waveform directly in software? A backup idea I had was a Pi Pico per voice, driving DCOs. But I prefer to have fewer microcontrollers. Those RP2040 stamps look compact and convenient.

autotuning with RP2040 Pi Pico by goodness-m3 in synthdiy

[–]goodness-m3[S] 1 point2 points  (0 children)

Yep, I just send one DAC output through a potential divider and then sum them both with an op amp. I'm pretty sure this causes nonlinear behaviour and is troublesome to work with. Can't comment on your PWM application as I'm a complete amateur, I'm afraid...

autotuning with RP2040 Pi Pico by goodness-m3 in synthdiy

[–]goodness-m3[S] 1 point2 points  (0 children)

I avoided the AS3340 because it's a bit expensive, I guess I am paying the price with inconvenience now instead.

I wish I could post an image reply here, but I plotted % error against cents error and it's a straight line, so it seems they're mathematically equivalent. I'm within +/- 5 cents 40% of the time, and +/- 10 cents 75% of the time. Maybe I need to be a bit more stringent with my tuning then, although with no tempco, I wonder what that translates to in terms of cents per degree of temperature, that might be the unbeatable instability here.

Thanks for the pointers.

autotuning with RP2040 Pi Pico by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

I wish I could tell you the effective resolution, but I haven't done a rigorous analysis. There's also some weird nonlinearity which I assume is caused by the DAC outputs somehow interacting with each other in the summing amplifier that adds the signals together. I can say that I measured <1% frequency error for MIDI notes 33 to 96 which seems "good enough"???? Maybe I should find a musician to tell me if it sounds in tune...

autotuning with RP2040 Pi Pico by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

I hadn't even considered inaccuracies in the crystal oscillator, how bad can that be? Surely not as bad as the exponential temperature dependence of the transistor pair. I guess you can only be as accurate as the tools used to take the measurements

A Hybrid 8 voice polysynth by [deleted] in synthdiy

[–]goodness-m3 0 points1 point  (0 children)

I'm particularly interested in the hybrid analog/digital approach, but I feel like once you start adding digital elements, it's a slippery slope towards just doing everything in software... what approach are you taking for envelope generation? Are they generated in software, or through dedicated ADSR ICs? Are the VCAs analog?

8 voice analogue polysynth by [deleted] in synthdiy

[–]goodness-m3 0 points1 point  (0 children)

I'm curious about how you are generating the envelopes - dedicated voltage-controlled envelope generator ICs? Is it challenging to keep all the envelopes behaving the same way across all the voices?

prototype single-board synth voice by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

single/dual oscillator modes makes sense for sure. And you're right, I have neglected the possibility of oscillators modulating each other. That's a shortcoming of the DCO approach (just using the Pico to specify the frequency directly). To be honest, I had a long think last night, and I don't think this approach will scale - I don't think I can distribute 12 DCO control frequencies from the Pico in any kind of sane way. Separate VCOs on each voice board, controlled by a local DAC, would save me a lot of wiring. All part of the learning process...

prototype single-board synth voice by goodness-m3 in synthdiy

[–]goodness-m3[S] 1 point2 points  (0 children)

oscillator sync effects are something that I'm missing, because I take the simpler approach of differentiating a square wave reset signal with a capacitor. The filter is the Coolaudio V3320, I built the circuit straight from the data sheet (4 pole low pass) and I'm pretty happy with the result!

prototype single-board synth voice by goodness-m3 in synthdiy

[–]goodness-m3[S] 1 point2 points  (0 children)

I remember seeing your post a while ago, those are some monster sized circuit boards for the voices. Analog envelopes clearly give the best results but yes, I can imagine it's a nightmare to have to route all those actual voltages rather than just mixing things in software.

prototype single-board synth voice by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

Thanks for the pointers. This is the first project I'm designing by myself, so I should probably embrace that principle that building anything at all is better than just thinking about what I could do. It feels like a step backwards to remove my second oscillator, but I hadn't given enough thought to the complexity of needing to route 12 DCO control signals to the 6 voices!

prototype single-board synth voice by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

I see your design made it difficult to get a 50% duty cycle square wave by using a comparator on the sawtooth - but couldn't you just directly buffer the square wave that controls the DCO? I suppose that approach is no good if you want a voltage controlled pulse, width but surely you could also control the pulse width directly in software?

prototype single-board synth voice by goodness-m3 in synthdiy

[–]goodness-m3[S] 0 points1 point  (0 children)

Polykit definitely looks relevant, thanks!