Yahoo Groups archive

MOTM

Index last updated: 2026-04-03 22:10 UTC

Thread

In a moment of clarity...

In a moment of clarity...

1999-11-01 by The Old Crow

Tinkering with a balky piece of equipment in the lab today, my mind
wandered over to more pleasant things--such as MOTM module ideas.  I had
this sudden thought about analog string synthesizers, and all at once
the complete concept for a MIDI (and probably CV in) to string voice
module popped into my head in the form of uC code, dividers, etc.

  Anybody like strings? :)

  --Crow

/**/

RE: In a moment of clarity...

1999-11-01 by Dave Bradley

Tell me more! Top octave / divide down generated stuff? How do you solve the
problem of detuned oscillators, where the beating frequencies don't remain
constant across the audio range?

Dave Bradley
Principal Software Engineer
Engineering Animation, Inc.
daveb@...
Show quoted textHide quoted text
> -----Original Message-----
> From: The Old Crow [mailto:oldcrow@...]
> Sent: Monday, November 01, 1999 3:03 PM
> To: motm@onelist.com
> Subject: [motm] In a moment of clarity...
>
>
> From: The Old Crow <oldcrow@...>
>
>
>   Tinkering with a balky piece of equipment in the lab today, my mind
> wandered over to more pleasant things--such as MOTM module ideas.  I had
> this sudden thought about analog string synthesizers, and all at once
> the complete concept for a MIDI (and probably CV in) to string voice
> module popped into my head in the form of uC code, dividers, etc.
>
>   Anybody like strings? :)
>
>   --Crow
>
> /**/
>
> >

RE: In a moment of clarity...

1999-11-01 by The Old Crow

On Mon, 1 Nov 1999, Dave Bradley wrote:

> Tell me more! Top octave / divide down generated stuff? How do you solve the
> problem of detuned oscillators, where the beating frequencies don't remain
> constant across the audio range?

  Octave divider(s), yes.  *But* ...programmed in uC code.  I can make
coarse or fine changes in pitch by altering the period registers. Based on
a MIDI or CV value, the "proper" detuning will be applied. A knob/CV can
adjust the detuning away from a basic, and another knob/CV can specify the
duty cycle. (typically 10% to 70%)

  Someone is bound to ask, so I'll state it here.  It is possible to
generate 8-voice polyphonic pulse waveforms on a fast uC.  In fact I
programmed a 12-note "+octave 3" (A=440) divider on a uC that was ten
times slower than the part I have in mind for this.

  The tricker uC to program is the voltage-controlled pulse delay line to
achieve a chorusing effect.  If the tone generating uC is savvy enough,
this one is not needed.

  There won't be any filters in the module I'm imagining.  Thats what the
4xx's are for.

   --Crow

/**/

RE: In a moment of clarity...

1999-11-01 by Dave Bradley

OK, cool! Now, 2 other things:

1. Don't sawtooth waves sound more like strings than pulse? Any way to get
around that?
2. You have 8 voice polyphony generated by the processor, using an external
filter, so how do you do the enveloping/VCA for each note separately? Do you
have separate output jacks for each polyphonic 'voice'?

Dave
Show quoted textHide quoted text
> -----Original Message-----
> From: The Old Crow [mailto:oldcrow@...]
> Sent: Monday, November 01, 1999 4:21 PM
> To: motm@onelist.com
> Subject: RE: [motm] In a moment of clarity...
>
>
> From: The Old Crow <oldcrow@...>
>
>
> On Mon, 1 Nov 1999, Dave Bradley wrote:
>
> > Tell me more! Top octave / divide down generated stuff? How do
> you solve the
> > problem of detuned oscillators, where the beating frequencies
> don't remain
> > constant across the audio range?
>
>   Octave divider(s), yes.  *But* ...programmed in uC code.  I can make
> coarse or fine changes in pitch by altering the period registers. Based on
> a MIDI or CV value, the "proper" detuning will be applied. A knob/CV can
> adjust the detuning away from a basic, and another knob/CV can specify the
> duty cycle. (typically 10% to 70%)
>
>   Someone is bound to ask, so I'll state it here.  It is possible to
> generate 8-voice polyphonic pulse waveforms on a fast uC.  In fact I
> programmed a 12-note "+octave 3" (A=440) divider on a uC that was ten
> times slower than the part I have in mind for this.
>
>   The tricker uC to program is the voltage-controlled pulse delay line to
> achieve a chorusing effect.  If the tone generating uC is savvy enough,
> this one is not needed.
>
>   There won't be any filters in the module I'm imagining.  Thats what the
> 4xx's are for.
>
>    --Crow
>
> /**/
>
> >

RE: In a moment of clarity...

1999-11-01 by Tkacs, Ken

A sawtooth and a narrow pulse have very similar frequency spectra. (But with
a pulse, you can pulse width modulate a little bit for extra animation,
simulating ensemble detuning without actually detuning anything... I have to
mention PWM at least three times a day to people or I feel bad luck will
befall me).


		-----Original Message-----
		From:	Dave Bradley [mailto:daveb@...]

		1. Don't sawtooth waves sound more like strings than pulse?
Any way to get
		around that?

RE: In a moment of clarity...

1999-11-01 by The Old Crow

On Mon, 1 Nov 1999, Dave Bradley wrote:

> 1. Don't sawtooth waves sound more like strings than pulse? Any way to get
> around that?

  A uC sawtooth generator is a bit more involved than a pulse generator,
but once the basic phase accumulator is working it is a relatively simple
matter to add up the requested saw datapoints and generate the notes.  Of
course, this means...

> 2. You have 8 voice polyphony generated by the processor, using an external
> filter, so how do you do the enveloping/VCA for each note separately? Do you
> have separate output jacks for each polyphonic 'voice'?

  ...to generate individual saw outputs would needs an octal S/H to store
the waveform data points.  A single output could be summed up inside the
uC.  Enveloping would be up to other modules.  The "string head" would
provide gates/triggers.  I think Maxim makes an octal voltage-output
DAC...maybe someone here works for Maxim and can provide a few samples. ;)

  (Enveloping *could* be done in the uC code, but I think it would be
better for other modules to deal with this.  I just want to provide the
tones and triggers).

   --Crow

/**/

RE: In a moment of clarity...

1999-11-01 by The Old Crow

On Mon, 1 Nov 1999, Tkacs, Ken wrote:

> A sawtooth and a narrow pulse have very similar frequency spectra.
> (But with a pulse, you can pulse width modulate a little bit for extra
> animation, simulating ensemble detuning without actually detuning
> anything... I have to mention PWM at least three times a day to people
> or I feel bad luck will befall me).

  Heh, I already answered a PWM DAC question on another list, so I'm safe
for today--especially with this talk of strings. :)

  I want to use pulse outputs because they're ten times easier to deal
with in a uC, leaving that much more processing time left over to do sexy
things like separate PWM periods per output, frequency-dependent detuning
on demand, etc.  Don't need a DAC, either.

  --Crow

/**/

Re: In a moment of clarity...

1999-11-02 by J. Larry Hendry

> From: The Old Crow <oldcrow@...>
>   The tricker uC to program is the voltage-controlled pulse delay line to
> achieve a chorusing effect.  If the tone generating uC is savvy enough,
> this one is not needed.
> 
>   There won't be any filters in the module I'm imagining.  Thats what the
> 4xx's are for.

Yep, I can see something like this.  Analogish strings run through the 410
filter.  Lots of whooshing and swishing.  Would there be any way that some
KNOB on the front could change chorus parameters?
Larry H

Re: In a moment of clarity...

1999-11-02 by J. Larry Hendry

> From: "Tkacs, Ken" <Ken.Tkacs@...>
> 
> ... I have to
> mention PWM at least three times a day to people or I feel bad luck will
> befall me).

You should start a PWM chain letter to five of your friends and put your
name at the bottom of the list.

ROTFLMAO

LH (feeling Stoogey)

Re: In a moment of clarity...

1999-11-02 by JWBarlow@xxx.xxx

I admit this isn't the kind of thing I've been thinking about, but it does 
sound interesting! I also liked your idea about the PPL based module, but I 
too have heard that there are certain problems when the input frequency 
changes, so I'll be interested to see how this develops (and yes, I might 
even run audio through it if Paul isn't looking). And as I said, I REALLY 
liked your idea of the programmable pulse pattern sequencer (?).

On a related note, I just got the Chamberlin book "Musical Applications of 
Microprocessors" which I've been wanting for about 15 years (don't want to 
rush into these things though). It's a great book, though I've only just 
started it! I may in the near future be asking questions about a complex 
audio waveform generator (I don't want to use the other "d" word) which could 
then be processed by the other MOTM modules -- you have been warned.

Hey, I noticed Larry has avoided the Subotnick question.

Ken, what's BG music (bluegrass? Belgian Grunge?)?

And it sounds like you've got a great team there Paul!
John Waterboy Barlow
Doing my best to obscure the clarity.


In a message dated 11/1/99 2:03:56 PM, oldcrow@... writes:
Show quoted textHide quoted text
>  Tinkering with a balky piece of equipment in the lab today, my mind
>wandered over to more pleasant things--such as MOTM module ideas.  I had
>this sudden thought about analog string synthesizers, and all at once
>the complete concept for a MIDI (and probably CV in) to string voice
>module popped into my head in the form of uC code, dividers, etc.
>
>  Anybody like strings? :)
>

Re: In a moment of clarity...

1999-11-02 by The Old Crow

On Mon, 1 Nov 1999 JWBarlow@... wrote:

> I admit this isn't the kind of thing I've been thinking about, but it does 
> sound interesting! I also liked your idea about the PPL based module, but I 
> too have heard that there are certain problems when the input frequency 
> changes, so I'll be interested to see how this develops (and yes, I might 
> even run audio through it if Paul isn't looking). And as I said, I REALLY 
> liked your idea of the programmable pulse pattern sequencer (?).

  The "ratio divider, type 1" *is* meant for frequencies >50Hz.  Handling
sequencer clocks is a different matter and will have its own uC-based
multiplier/divider system as opposed to an analog PLL.  I decided that
rather than get "okay" performance out of one all-around ratio module, I
would create two different modules, each one tailored to process its range
of rates/frequencies.  The audio frequency ratio divider (aka "type 1") is
the easier of the two to design, thus it comes first of the two.

  --Crow

/**/

Re: In a moment of clarity...

1999-11-02 by J. Larry Hendry

> From: JWBarlow@...
> 
> Hey, I noticed Larry has avoided the Subotnick question.

Who?  What?  I never punched no doggie. I swear.

> Ken, what's BG music (bluegrass? Belgian Grunge?)?

Da, da, ding, ding, ding, ding da, da, ding.  (ala porch banjo).  Ask Cary
Roberts to hum you the back hills tune from his part of the country for
"porch banjo."   Squeal like a pig boy.   

Larry (I grew up in Kentucky) Hendry

P.S.  The statements I make are not a lack of my appreciation for the
diversity of humanity but rather reflect my general disgust with the
perversion of perfectly good music that has been stereotyped to human
behavior.  A song it a terrible thing to waste.

RE: In a moment of clarity...

1999-11-08 by Dave Bradley

To polish this discussion off for now, I'd vote for separate outputs using
pulse waves rather than a single output with summed sawtooth waves, cause
I'd want the ability to put a separate VCF on each voice - hmm, I guess that
means I'd need the CV available externally for each voice also...

Dave Bradley
Principal Software Engineer
Engineering Animation, Inc.
daveb@...
Show quoted textHide quoted text
>   I want to use pulse outputs because they're ten times easier to deal
> with in a uC, leaving that much more processing time left over to do sexy
> things like separate PWM periods per output, frequency-dependent detuning
> on demand, etc.  Don't need a DAC, either.
>
>   --Crow
>

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.