[sdiy] DCO amplitude with filtered PWM

Tom Wiltshire tom at electricdruid.net
Thu Aug 30 13:17:55 CEST 2018


Complete agree that a timbre change will be more obvious than a minor amplitude shift. And a timbre change away from 50% square will introduce even harmonics that you’ll hear pretty clearly.

Luckily for us, the 50% duty cycle is right in the middle of the ramp, whereas any amplitude jitter would show up worst at the extremes. The slope at the zero crossing 50% point might vary slightly, but it shouldn’t move. While this won’t remove the problem, it does mitigate it.

Tom

==================
       Electric Druid
Synth & Stompbox DIY
==================

> On 30 Aug 2018, at 11:44, Richie Burnett <rburnett at richieburnett.co.uk> wrote:
> 
> Maintaining a reasonably tight control on sawtooth amplitude can be more important for getting consistent pulse widths if a comparator is used to produce a square wave, for instance.
> 
> Changes in timbre due to a square wave not having 50% duty ratio are likely to be more perceptible than a few percent in amplitude change in a sawtooth. So you need to keep in mind what you might want to do with the resulting sawtooth in terms of any waveshaping etc.
> 
> The juno 106 doesn't use a hardware expo converter.
> 
> -Richie, 
> 
> Sent from my Xperia SP on O2
> 
> ---- Tom Wiltshire wrote ----
> 
>> Using a low-res DAC but then feeding it to an expo convertor is a clever way to reduce the required DAC resolution for this application. Since it’s only controlling amplitude and will be calibrated by the uP anyway, the demands on the expo convertor aren’t very high.
>> 
>> I don’t know if the 106 uses the same trick. I’ve not spotted it if it does. It may not. Since the amplitude halves for each octave you go up, you need at least one extra bit per octave. The 106 covers a 5 octave range, so they have 10 bit - 5 = 5 bit values for each octave, so 32 steps per octave. That’s not great, but it’s probably enough to cover a 2:1 volume range without you noticing it.
>> 
>> T.
>> 
>> ==================
>>      Electric Druid
>> Synth & Stompbox DIY
>> ==================
>> 
>>> On 29 Aug 2018, at 03:55, Declare Update <declareupdate at gmail.com> wrote:
>>> 
>>> Sweet, thanks Tom. I had you in mind specifically when I posted this :) 
>>> 
>>> I’m inclined to trust Roland, at least because the Juno 6 is just so damned pretty. 
>>> 
>>> In the Juno 6 schematic, it’s clear they feed this 7-bit value into a very recognizable expo converter, before demuxing to each voice. Do you know if they do this in the 106, too? If so, I don’t think it is shown on the schematic, but hidden in the “waveshaper” chip. 
>>> 
>>> With 12-bit DACs at hand in my DCO, I just use an expo look up table. I wonder if the 106 handles it this way too with their 10-bit DAC. It occurs to me that with a simple expo, one could simply feed CV to an ADC pin for pitch and straight to the expo for amp (or slope) correction. would be chill for eurorack at least!
>>> 
>>> 
>>> separate thought! 
>>> my current implementation only updates frequency on a reset of the sawtooth. is this how commercial DCOs behave too? I just scope my Juno 6 ‘twer I near it! And, I seem to recall some commercial DCO poly synths that have cross mod and whatnot, how are they achieving this? 
>>> 
>>> My thought is that instead of changing the compare value in the timer, you’d change the increment like in DDS, and have some kind of table to correct for the pitch inaccuracy. not sure that would even be necessary, more train math required.
>>> 
>>> or! just adjust the compare value as usual and take care to keep the timer count within bounds and wrap it around if needed. I hope that’s a clear enough statement, kind of deep in timer thought over here. 
>>> 
>>> Sent from my iPhone
>>> 
>>>> On Aug 29, 2018, at 8:05 AM, Tom Wiltshire <tom at electricdruid.net> wrote:
>>>> 
>>>> The PWM rate is going to affect your maximum modulation rate, but otherwise there’s no problem.
>>>> 
>>>> It’s quite possible (easy, even) to get high accuracy CVs from PWM outputs. On the Frequency Central TransEuropa transposer module, we used one 4-bit output to provide octave CVs and another 4-bit output to provide semitone CVs. Added together the two gave a wide range, and we didn’t even use all of it. Calibrating octaves and semitones is simple, and PWM is intrinsically linear if you stay away from the extremes. The advantage of the 4-bit PWM was that the update rate could be very high (250KHz) which made the filtering easy.
>>>> 
>>>> http://www.frequencycentral.co.uk/?page_id=1311
>>>> 
>>>> I expect Roland worked out that 7-bit control was about the minimum detectable for amplitude, so if you can do 8-bit control, go for it. My experience has been that you can usually get away with more than the theory suggests you should be able to get away with! E.g. Don’t rule it out until you’ve tried it - it probably doesn’t sound as bad as you think it does.
>>>> 
>>>> It sounds to me like you’ve pretty much worked out that this is worth a shot anyway.
>>>> 
>>>> T.
>>>> 
>>>>> On 28 Aug 2018, at 10:30, Declare Update <declareupdate at gmail.com> wrote:
>>>>> 
>>>>> Howdy list,
>>>>> 
>>>>> I’m on a long train in Japan, just thinkin’ about synths, as usual.
>>>>> 
>>>>> Does anyone have any experience using filtered PWM to control the amplitude of a “normal DCO”, ie with a transistor shorting the cap on an integrator? Looking at the Juno 6 schematics, I see they used a 7-bit DAC to feed the integrator. Some napkin/train math tells me I could use 8-bit PWM at about 90khz (easy on stm32), filter it at 9khz, and control the amplitude just fine. I’ve been using real DAC outputs of fancier chips to do this recently, which works great, but if PWM is fine then I could do 2-4 voices on $0.50 chip ¯\_(ツ)_/¯ 
>>>>> 
>>>>> anything totally wrong or silly about this? any experience here? 
>>>>> 
>>>>> Chris
>>>>> Sent from my iPhone
>>>>> _______________________________________________
>>>>> Synth-diy mailing list
>>>>> Synth-diy at synth-diy.org
>>>>> http://synth-diy.org/mailman/listinfo/synth-diy
>>>> 
>> 
>> 
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy





More information about the Synth-diy mailing list