• ### Using 1/f noise as Control Signal

Hey all,

I am flirting with the idea of using 1/f noise (pink noise) as a control signal to various PD parameters. As some of you may know, the 1/f noise equation is commonly found in nature and various natural systems. It is characterized by a frequency power spectral density that decreases as the frequency increases, following a power-law distribution. It can be observed in many natural phenomena such as earthquakes, wind, even in the heartbeat. I am thinking-exploring ways (and the know how) to apply this characteristic to control various parameters within a self-generative future patch, from microscopic to macroscopic level (in either audio or control rates). Things like ADSR curves, to the density of pitched sounds within a time framed composition and everything in between.

As an example, 1/f noise can be observed in the sound of Rainfall The different raindrop sizes result in variations in sound frequencies and amplitudes. Suppose one drop of rain is synthesized, how could you apply the 1/f noise to generate a complete Rainfall realistically?

Any ideas and reference to other patches exploring this idea are welcome.

• Posts 10 | Views 926
• @tokeno There are patches, mono and stereo, called "rain" here....... within the "Argo" download http://gerard.paresys.free.fr/ARGOPd/
They use equalised noise, so should give you some clues on how to proceed.
David.

• thank you David!

• @tokeno I'm wondering if you know about [array random]--a random number generator with an arbitrary distribution that you can specify in a table. While I love things like that 1/f theory I usually find their less impressive cousins to be just as good if not better.

• @jameslo said:

[array random]

I had overlooked that object, definitely worth a try by using it maybe as an intermediary between 1/f noise distribution coming from other sources and what I am trying to achieve (I see now an example with a histogram). I agree there many other interesting functions for sound synthesis besides 1/f noise but I had to start from the basics while I am trying to accomplish a patch for self-generative soundscapes.

• @tokeno Actually I was thinking you could implement that 1/f distribution in the histogram itself. 1 over f distribution.pd

I'm interpreting the array indexes as MIDI notes, so as you go up 12 half steps, the frequency doubles and the likelihood halves.

And all I meant by that little 1/f side-eye comment was that when I adjust things by ear to sound "good" I rarely end up with what theory says it should be, that's all.

Edit: Hmm, I posted this 10 minutes ago but now I suspect there's a much simpler analytic way to do the same thing, I'll come back to it after lunch.

Edit 2: I dunno, is this simpler? Definitely harder to understand.
1 over f distribution v5.pd

• @jameslo said:

1 over f distribution.pd

I am grateful for this patch already and I definitely understand your point of view about what lies beneath certain things to sound good. Music is a subjective experience and besides algorithms, is based on other factors too. I have a side music project based on improvisation where most of the sounds are adjusted by ear at the time of the performance. However we also like to explore and sometimes better understand the mysteries around all these beautiful phenomena.

• @jameslo said:

1 over f distribution v5.pd

Simple no, but I am studying it.

• IIRC (I don't have the book in front of me just now) Dodge/Jerse Computer Music discusses the Voss algorithm to generate 1/f noise, as an average of sample-hold random number generators.

23-1112-voss.pd

The discrete derivative (difference between successive points) should follow the 1/f law.

hjh

PS Edit, replaced attachments a minute later b/c of a mistake.

• @ddw_music said:

Voss algorithm to generate 1/f noise

Seems very elegant and easy to digest. I found an interesting paper, adding the Voss Constraint and testing it with a melody generation.

https://www.ijcai.org/Proceedings/15/Papers/352.pdf

Posts 10 | Views 926
Internal error.

Oops! Looks like something went wrong!