[sdiy] Digital Waveshape Generator.

Tom Wiltshire tom at electricdruid.net
Fri Jul 11 22:59:34 CEST 2025


Hi Phil,

I think your accuracy requirement is still quite high. As far as I know, the Just Noticeable Difference for pitch is about 6 cents, and that's for people with musical training. The General Public(tm) aren't that sensitive ;)
Sure, if you can, go way better, why not? But don't try and aim for something that no-one will ever hear.

When I was working on the VCDO (thanks for the plug, Gerry!) I was inspired by the Roland Juno 106, which uses divider based DCO. The divider length is only 16-bits and frequency accuracy is pretty limited at the upper end. The fact that this had nonetheless been a successful instrument lead me to think that it was more a case of "how much can you get away with?" rather than "what's the best I can do?". Probably the VCDO would not have happened if I'd approached it from a more theoretical angle - in theory, it should sound terrible. In practice, it has "character"!

Your 0.02% looks like about 1/2 a cent accuracy to me, which is way more than enough. You could knock a factor of eight out of that without anyone ever being able to tell. If that gives you gains in the hardware, that'd be worth doing.  There's a point at which it makes no odds. I've worked with dsPIC 16-bit chips and a 16bit variable is not enough for good pitch accuracy (as a phase accumulator), so you finish up using 32 bits, although somewhere around 22 or 24 bits would be fine. At some point you get the extra for free, so you go with it.

If you're willing to get into FPGAs or modern processors, you certainly have a lot of options open to you. We're far beyond the point of recreating what was leading-edge tech from back in the day. 

This is fun stuff to play with and experiment with, so I wish you luck with your project. Ignore the theory and don't let anyone tell you what can or can't be done. You decide that for yourself. Start with something you think will be terrible, but do it anyway. It's a lot better to get something basic finished than spend forever chasing something "perfect" that never gets done.

HTH, 
Tom

> On 11 Jul 2025, at 20:19, Phillip Harbison <alvitar at xavax.com> wrote:
> 
> 
> 
> 
> 
> Hello, Synth-DIY people. I'm a long time listener but infrequent poster. The following has been on my mind and IO would appreciate your opinions.
> 
> I graduated from the University of Alabama in Huntsville (UAH) in 1981 with a degree in Electrical Engineering. For my senior design project I designed and implemented what I called a Digital Waveshape Generator (DWG). I intended this DWG to be the core of a single voice in a synthesizer. A block diagram and design document are attached.
> 
> I had a strong interest in music synthesizers as I was a trained classical pianist and a fan of progressive rock music. For most of high school I dreamed of being the next Rick Wakeman or Larry Fast, but I did not have the necessary gear. I intended to build my own, but after graduation I was to busy with Real Life to work on toys.
> 
> One reason I lost interest is at the time I thought the master clock frequency needed to be 256 times the least common multiple of the 12 notes of the top octave. I don't recall how I calculated it, but I thought I needed a clock in the hundreds of megahertz and in 1980 the only technology capable of handling such frequencies was ECL, That was not happening on a poor student's budget. I still got an A+ because my advisor did not give a damn if my DWG was musical. He saw it simply as a cool function generator.
> 
> Now that I am semi-retired I revisited my design and the first thing I did was realize that I was wrong about the master clock frequency. For one thing, there is no Least Common Multiple possible since 11 out of 12 notes are not integers. I also realized I don't need to find divisors that will produce the exact frequency of each note. Getting within a few cents would be close enough for rock & roll. After a lot of calculating I determined that a 1802240 clock and a 16-bit divisor would allow me to generate all notes of the top octave within 0.02% of perfect.
> 
> My prototype was wire-wrapped. Now I am wondering if I should create some circuit boards and realize my dream of a DIY digital synthesizer. Is this something anyone else would find interesting? Am I wasting my time? I would appreciate any comments.
> 
> -- 
> Phil Harbison
> 
> <DWG_BlockDiagram.jpg><DWG_Design.pdf>________________________________________________________
> This is the Synth-diy mailing list
> Submit email to: Synth-diy at synth-diy.org
> View archive at: https://synth-diy.org/pipermail/synth-diy/
> Check your settings at: https://synth-diy.org/mailman/listinfo/synth-diy
> Selling or trading? Use marketplace at synth-diy.org




More information about the Synth-diy mailing list