Yahoo Groups archive

SynthModules

Index last updated: 2026-04-28 23:14 UTC

Thread

Noise functions

Noise functions

2004-03-13 by Woody Wall

I've just uploaded two programs that generate different noise
functions. minoise.bas produces interpolated noise. This basically
turns out to be a triangle LFO whose amplitude changes at each slope
transition. Four outputs are provided, each twice the frequency of the
previous one. Put a voltage in IN-1 to change the basic frequency.

perlin.bas produces Perlin noise. You may not know what this is, but
you've surely seen it in use. Two- and three-dimensional Perlin noise
is used in computer graphics to produce landscapes, clouds, smoke,
fire, etc. This program produces one-dimensional noise to control
filters, flangers, whatever. Higher numbered output have a greater
concentration of high-frequency noise. As with minoise, the basic
frequency can be voltage-conrolled at IN-1. I'm not completely happy
with this program, as I wanted to use another input to continously
vary the weighting of the frequencies. But integer arithmetic and the
lack of exponentiation put that beyond my capabilities. So for now the
relationships are fixed. Maybe someone else can improve this.

Enjoy.

Woody

Re: Noise functions

2004-03-13 by grantrichter2001

Very cool application.

I think Dr. Mabuse might have some tweakage for this 
program????

It seems right up his alley....

--- In SynthModules@yahoogroups.com, "Woody Wall" 
<woody_wall@h...> wrote:
> I've just uploaded two programs that generate different noise
> functions. minoise.bas produces interpolated noise. This 
basically
> turns out to be a triangle LFO whose amplitude changes at 
each slope
> transition. Four outputs are provided, each twice the frequency 
of the
> previous one. Put a voltage in IN-1 to change the basic 
frequency.
> 
> perlin.bas produces Perlin noise. You may not know what this 
is, but
> you've surely seen it in use. Two- and three-dimensional Perlin 
noise
> is used in computer graphics to produce landscapes, clouds, 
smoke,
> fire, etc. This program produces one-dimensional noise to 
control
> filters, flangers, whatever. Higher numbered output have a 
greater
> concentration of high-frequency noise. As with minoise, the 
basic
> frequency can be voltage-conrolled at IN-1. I'm not completely 
happy
> with this program, as I wanted to use another input to 
continously
> vary the weighting of the frequencies. But integer arithmetic 
and the
> lack of exponentiation put that beyond my capabilities. So for 
now the
Show quoted textHide quoted text
> relationships are fixed. Maybe someone else can improve this.
> 
> Enjoy.
> 
> Woody

Re: Noise functions

2004-03-13 by Woody Wall

--- In SynthModules@yahoogroups.com, "grantrichter2001"
<grichter@a...> wrote:
> Very cool application.

Thanks.

> I think Dr. Mabuse might have some tweakage for this 
> program????
> 
> It seems right up his alley....

I thought he might get a kick out of it.

By the way, the RANDOM function wasn't behaving as I expected, so I
lifted one out of Hal Chamberlin's "Musical Applications for
Microprocessors." It only has a length of 4096, but I can't hear any
cycling.

Woody
Show quoted textHide quoted text
> --- In SynthModules@yahoogroups.com, "Woody Wall" 
> <woody_wall@h...> wrote:
> > I've just uploaded two programs that generate different noise
> > functions. minoise.bas produces interpolated noise. This 
> basically
> > turns out to be a triangle LFO whose amplitude changes at 
> each slope
> > transition. Four outputs are provided, each twice the frequency 
> of the
> > previous one. Put a voltage in IN-1 to change the basic 
> frequency.
> > 
> > perlin.bas produces Perlin noise. You may not know what this 
> is, but
> > you've surely seen it in use. Two- and three-dimensional Perlin 
> noise
> > is used in computer graphics to produce landscapes, clouds, 
> smoke,
> > fire, etc. This program produces one-dimensional noise to 
> control
> > filters, flangers, whatever. Higher numbered output have a 
> greater
> > concentration of high-frequency noise. As with minoise, the 
> basic
> > frequency can be voltage-conrolled at IN-1. I'm not completely 
> happy
> > with this program, as I wanted to use another input to 
> continously
> > vary the weighting of the frequencies. But integer arithmetic 
> and the
> > lack of exponentiation put that beyond my capabilities. So for 
> now the
> > relationships are fixed. Maybe someone else can improve this.
> > 
> > Enjoy.
> > 
> > Woody

Re: Noise functions

2004-03-13 by grantrichter2001

Did you notice the CALCRAND subroutine?

We are free running timer W at 16 MHz and then sampling the 
counter "sawtooth" in a non-sychronized fashion. That number is 
then used as the seed for the RANDOM function.

Theoreticaly, that should be closer to "true" random than a 
psuedo-random shift register of any length.

I believe it is used in the "Wigglyman" code.

You just have to setup the counter, then access the TCNT 
variable. Unfortunately, none of this is documented, but Mike and 
I puzzled it out.

--- In SynthModules@yahoogroups.com, "Woody Wall" 
<woody_wall@h...> wrote:
> --- In SynthModules@yahoogroups.com, "grantrichter2001"
> <grichter@a...> wrote:
> > Very cool application.
> 
> Thanks.
> 
> > I think Dr. Mabuse might have some tweakage for this 
> > program????
> > 
> > It seems right up his alley....
> 
> I thought he might get a kick out of it.
> 
> By the way, the RANDOM function wasn't behaving as I 
expected, so I
> lifted one out of Hal Chamberlin's "Musical Applications for
> Microprocessors." It only has a length of 4096, but I can't hear 
any
> cycling.
> 
> Woody
> 
> > --- In SynthModules@yahoogroups.com, "Woody Wall" 
> > <woody_wall@h...> wrote:
> > > I've just uploaded two programs that generate different 
noise
> > > functions. minoise.bas produces interpolated noise. This 
> > basically
> > > turns out to be a triangle LFO whose amplitude changes at 
> > each slope
> > > transition. Four outputs are provided, each twice the 
frequency 
> > of the
> > > previous one. Put a voltage in IN-1 to change the basic 
> > frequency.
> > > 
> > > perlin.bas produces Perlin noise. You may not know what 
this 
> > is, but
> > > you've surely seen it in use. Two- and three-dimensional 
Perlin 
> > noise
> > > is used in computer graphics to produce landscapes, 
clouds, 
> > smoke,
> > > fire, etc. This program produces one-dimensional noise to 
> > control
> > > filters, flangers, whatever. Higher numbered output have a 
> > greater
> > > concentration of high-frequency noise. As with minoise, the 
> > basic
> > > frequency can be voltage-conrolled at IN-1. I'm not 
completely 
> > happy
> > > with this program, as I wanted to use another input to 
> > continously
> > > vary the weighting of the frequencies. But integer arithmetic 
> > and the
> > > lack of exponentiation put that beyond my capabilities. So 
for 
> > now the
> > > relationships are fixed. Maybe someone else can improve 
this.
Show quoted textHide quoted text
> > > 
> > > Enjoy.
> > > 
> > > Woody

Re: Noise functions

2004-03-13 by Woody Wall

--- In SynthModules@yahoogroups.com, "grantrichter2001"
<grichter@a...> wrote:
> Did you notice the CALCRAND subroutine?
> 
> We are free running timer W at 16 MHz and then sampling the 
> counter "sawtooth" in a non-sychronized fashion. That number is 
> then used as the seed for the RANDOM function.

Yes, I've seen CALCRAND. It's been useful in some of my other
programs. And I do appreciate the work you and Mike put into working
that out. In this case, though, the seed I'm using is the integer part
of a mixed binary number; the lower 12 bits are the fractional part
and the remaining bits represent the integer. RANDOM doesn't perform
so well here. It's not so much the cycle length as it is the "quality"
of the numbers. There are repeating patterns shorter than the cycle
length. I'll re-think the problem and see if there's a different
approach I can take. In any case, the program does what I wanted. I'm
happy. :)

For the non-programming types that may be reading this, I feel I
should point out that this is not a problem with Brice's design or
anyone else involved in the design of the PSIM-1. This has to do with
the language provided with the AtomPro. And it's not really a problem,
just a quirk to be aware of.

Woody

Re: Noise functions

2004-03-15 by Mike Marsh

FWIW, BASIC has traditionally had VERY POOR random number 
generation.  If anything remotely resembling random is required, it 
is usually separately programmed.  Grant and Mike's solution is 
ingenious, BTW!

--- In SynthModules@yahoogroups.com, "Woody Wall" <woody_wall@h...> 
wrote:
>.
>.
>.
> For the non-programming types that may be reading this, I feel I
> should point out that this is not a problem with Brice's design or
> anyone else involved in the design of the PSIM-1. This has to do 
with
> the language provided with the AtomPro. And it's not really a 
problem,
Show quoted textHide quoted text
> just a quirk to be aware of.
> 
> Woody

PSIM-1 Update

2004-03-15 by Brice D. Hornback

To all of you who have already ordered a PSIM-1... we're right on schedule.
UPS confirmed shipment of panels with delivery on March 16th.  Airborne
Express just notified me the PCB's have shipped and will be delivered on
March 17th.  All the rest of the parts are already here.  I'll begin
assembly of the panel mounted components tomorrow once the panels arrive.
PCB's to follow shortly.

IF YOU PLAN ON ATTENDING AHMW 2004... and haven't already confirmed this
with me... I need to know ASAP.  As long as UPS delivers on schedule (I know
Airborne will) I plan to work around the clock so I can bring your module to
you.  Please don't hold me to this... but I'll do my best.

Take care,
Brice
http://www.SynthModules.com

"We are the music makers...and we are the dreamers of the dreams."
- Willy Wonka, 1971

Re: [SynthModules] PSIM-1 Update

2004-03-16 by Brice D. Hornback

Well folks... not only are we right on schedule... but actually AHEAD of
schedule.  Not only did UPS arrive as scheduled.... but Airborne delivered
the PCB's today as well!  The PCB's turned out even nicer than I was
expecting.  This is the first time I've actually done a "production" run of
double-sided plated-through hole boards with silk-screen and solder mask...
and they look AWESOME!  So good in fact that my REV1.0a module will be
destined to the work bench for prototyping and two of these modules will be
going into my synth racks!  The "extras" I ordered just went down by a count
of two because I just can't let all these get away from me.  :-)

So... everything is here and I start assembly tonight!  Am I excited?  YOU
BET!  Well... everything is here except for the 4,000 feet of hookup wire I
ordered which should be here on Thursday.  But, I have enough on hand to at
least get started on these modules.  Oh... I know you probably don't care...
but I spent $60 (out of my pocket) on the little screws to hold the LED
boards to the faceplates.  They are 4-40 black oxide stainless screws and
nuts.  I just thought they looked nicer... and they do.  You might not care
that I went to extra lengths to do this... but I believe the little things
like this make all the difference in the world.  My attention to detail will
be obvious.  SO, even if you don't care (I didn't plan on spending that when
I priced the modules so it's just out of my pocket and not calculated into
the price of the module)... I hope you at least "appreciate" the little
details.  :-)  For those of you who don't know me... which is most of you
since I just sort of appeared out of nowhere back in September... I'm a bit
of a perfectionist.  I will personally be hand building and testing each and
every PSIM-1 module myself.  I only use a Metcal soldering station and
Kester 331 and Kester 245 solders.  Each and ever resistor is a 1% metal
film.  The panels are CNC machined with engraved with dyed lettering.  They
are "perfect".  Could I have made the PSIM-1 module cheaper?  Probably...
but then again, I wouldn't have wanted to.  That wouldn't have been "me".
When you have one in your hand... you'll understand why.  Also, I'm sure
there will be a lot of coffee consumed in the process of building these
modules... of which I roasted the beans myself.  I take a lot of pride in my
work and I am VERY proud of the PSIM-1 module.  My hope is that each and
every one of you who gets one will also be as proud of your PSIM-1 module as
I am.

Are you excited?  I know a LOT of you have already ordered modules and are
waiting for them.  I plan to start shipping in small batches every day or
two as early as next week.

If you haven't ordered a PSIM-1 module yet... this may be your last chance
for at least the next six months.
http://www.synthmodules.com/psim-1-order.htm

Take care,
- Brice
http://www.SynthModules.com

----- Original Message ----- 
From: "Brice D. Hornback" <synthmodules@synthmodules.com>
To: <SynthModules@yahoogroups.com>
Sent: Monday, March 15, 2004 6:35 PM
Subject: [SynthModules] PSIM-1 Update


> To all of you who have already ordered a PSIM-1... we're right on
schedule.
> UPS confirmed shipment of panels with delivery on March 16th.  Airborne
> Express just notified me the PCB's have shipped and will be delivered on
> March 17th.  All the rest of the parts are already here.  I'll begin
> assembly of the panel mounted components tomorrow once the panels arrive.
> PCB's to follow shortly.
>
> IF YOU PLAN ON ATTENDING AHMW 2004... and haven't already confirmed this
> with me... I need to know ASAP.  As long as UPS delivers on schedule (I
know
> Airborne will) I plan to work around the clock so I can bring your module
to
Show quoted textHide quoted text
> you.  Please don't hold me to this... but I'll do my best.
>
> Take care,
> Brice
> http://www.SynthModules.com
>
> "We are the music makers...and we are the dreamers of the dreams."
> - Willy Wonka, 1971
>
>
>
> Be sure to check out the primary Web site at:
> http://www.SynthModules.com
>
> Yahoo! Groups Links
>
>
>
>
>

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.