[sdiy] Roland Alpha Juno DCOs
Russell McClellan
russell.mcclellan at gmail.com
Mon May 1 16:15:54 CEST 2017
Sorry, of course 2.85Hz is a pulse every 352ms.
On Mon, May 1, 2017 at 8:34 AM, Russell McClellan
<russell.mcclellan at gmail.com> wrote:
> Hi Tom - measurements were taken with a digital scope right off the dco
> chip. At low and medium frequencies the steps in the signal were clear as
> day on the scope. At most frequencies I tested, there were some doubled or
> tripled steps - i.e. the same voltage was output for two or three divide
> clocks. This to me is a dead giveaway that the accumulator based
> architecture I mentioned is being used.
>
> The other clue here comes from Richie - at high frequencies, aliasing
> artifacts are present around a sampling rate of 6MHz. Since aliasing is
> present, we know the ramp is being generated by an accumulator counting at a
> non divisor of the sample rate.
>
> The reason I know there are at least 13 bits is because I once saw more than
> 16 single steps between "doubled" steps. This indicates that there are at
> least 5 "hidden" bits under the DAC which was measured as 8 bits (by
> counting output steps). 16 bits was just a guess.
>
> It looks like the highest frequency it can do is 11kHz and the lowest is
> ~2.84Hz (pulse every 0.352ms). I believe I was testing 10Hz when I measured
> the 2048 divider (clock was 2929Hz - so I guess this is a 4096 divider of
> the 12MHz clock). I wouldn't be surprised if I missed a divider stage since
> I didn't realize the oscillators could go that slow until after I had closed
> up the synth.
>
> Thanks,
> -Russell
>
>
> On Mon, May 1, 2017 at 6:28 AM Tom Wiltshire <tom at electricdruid.net> wrote:
>>
>> Since the oscillators are NCO based, you could add a little linear offset
>> to each one to fatten the sound up. The software might not allow this
>> normally but there's nothing about the hardware design that makes it
>> impossible (as Adam's pitch bend trick proves).
>>
>> Russell, you said the NCO clock rate is divided down to get lower octaves.
>> How did you determine this? And the /2048 factor suggests that the
>> oscillator produces 11 octaves of notes, is that right? What output
>> frequency is it producing by the time it's down to a 3KHz clock rate?
>>
>> The use of division suggests that the phase accumulator isn't many bits,
>> which means they have to reduce the clock rate rather than being able to
>> down-shift the increment (since bits would get lost of the bottom, affecting
>> the note frequency accuracy). I wonder if it's possible to work out the
>> frequency accuracy (and thereby the NCO length) - are there detectable steps
>> at any point?
>> I suppose we should be able to put some limits on it even without
>> measurements. We know they have enough steps to do pitch bend and glide, but
>> not enough to be able to cover the full range without division. That ought
>> to give some clues. I'll have a think about it.
>>
>> Sorry for so many questions but I'm very curious about stuff like this.
>>
>> Thanks,
>> Tom
>>
>> On 1 May 2017, at 01:12, Adam Inglis <21pointy at tpg.com.au> wrote:
>>
>> > Thanks for sharing this Russell.
>> > I’ve always felt the Alpha Juno sound to be a bit too clean and sterile!
>> > I have the rack version. Unison mode is a bit disappointing - it thickens
>> > the sound, but doesn’t make it particularly rich or lush. The onboard chorus
>> > does help a little with this.
>> >
>> > From your description, it doesn’t sound like there would be a way of
>> > introducing some slop or detune between the 6 DCOs?
>> >
>> >> On 1 May 2017, at 8:58 AM, Russell McClellan
>> >> <russell.mcclellan at gmail.com> wrote:
>> >>
>> >> After reading the very interesting conversation regarding the new
>> >> novation peak synthesizer, I was made curious by something Richie
>> >> Burnett
>> >> mentioned in that thread regarding the Alpha Juno oscillators. This
>> >> led to some further investigation on my part and some may be
>> >> interested in hearing about the results.
>> >>
>> >> I had always (incorrectly, it turns out) thought that the alpha juno
>> >> oscillators followed the same basic topology of the Juno 6, 60, and
>> >> 106 synths - which, for those unfamiliar, is a complicated
>> >> digital/analog hybrid; basically an analog ramp wave hard-synced to a
>> >> digitally generated pulse.
>> >>
>> >> However, it turns out that the Alpha Juno has a completely different
>> >> design, with much less of an analog component. There is a custom
>> >> "DCO" chip which has 6 independent digital oscillators. Each
>> >> oscillator takes the 12MHz master clock and divides it down by a power
>> >> of two based on the note being played. For the highest notes the
>> >> effective clock is 6MHz, and for the lowest notes this seems to be
>> >> divided by 2048 to form an effective sample rate of 3kHz. On each
>> >> divided clock, an increment is added to a 16 bit accumulator (I'm sure
>> >> the accumulator is at least 13 bits, but I'm not sure of the exact
>> >> number of bits). Then, the top 8 bits of the accumulator are sent to
>> >> a digital waveshaper, and then to what looks like an R-2R based DAC
>> >> on-chip. This signal is then sent straight to the fully-analog
>> >> filter.
>> >>
>> >> In general, the output is "pretty" clean - certainly there's no
>> >> frequency
>> >> drift since it's based on the crystal. There are aliasing artifacts,
>> >> but since the sampling rate is always so high compared to the note
>> >> they are usually fairly quiet (I noticed some audible aliasing on the
>> >> lowest notes). Since the DAC is only 8-bits, quantization noise is
>> >> also an issue.
>> >>
>> >> Anyways, I was really stunned to learn that the alpha juno had so much
>> >> digital horsepower, and a bit surprised that I haven't seen this
>> >> oscillator design before. Does anyone know of any synths with a
>> >> similar approach? (Other than the new novation, which seems to run at
>> >> a fixed sampling-rate, but is otherwise similar)
>> >>
>> >> I think it would be a fun project to create a similar oscillator using
>> >> an FPGA and an R-2R dac - perhaps with some additional capabilities
>> >> like inter-oscillator FM and a sine lookup table shaper.
>> >>
>> >> Thanks to Richie for mentioning this in the other thread and for
>> >> helping me off-list to investigate this.
>> >>
>> >> Thanks for your time,
>> >> -Russell
>> >> _______________________________________________
>> >> 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
>>
>>
>> _______________________________________________
>> 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