[Article] Nature of Noise
written by HAL09999
« Nature of Noise » is a Javascript program running in the browser that generates a real-time audiovisual composition based on noise and randomness.
Noise, signals, entropy
The concept of statistical entropy, defined as the measure of disorder in a system, can be used to algorithmically distinguish between the two following pictures.
Computers are very rigid machines : they inexorably follow the instructions that constitute the program and, to a certain extent, can be considered as deterministic : given the same set of inputs, a computer program will always generate the same set of outputs. This is a great quality as it allows to use computers to calculate things by following recipes called algorithms.
By introducing a certain quantity of disorder in the program, it is possible to generate variations of the outputs. If one considers this disorder as a part of the inputs, the computer program is still considered deterministic.
In fact, standard modern electronic computers, using billions of highly-miniaturized silicon transistors, are so well engineered that they can be considered as very deterministic. To a point that it's almost impossible to generate true randomness with a program.
True randomness
"True" randomness can be defined using information entropy (the other entropy) : given a source of numbers (let's simplify by using only 0 and 1), there is the exact same probability for each generated bit to be either a 0 or a 1. Even if the statistics of this source is known (for example one can measure that for 1000 generated bits there will be 700 zeroes and 300 ones), it would be impossible to know if the next generated bit from a true random source will be a 0 or a 1.
Standard electronic computers are incapable of this. For the curious here's some keywords : halting problem, decision problem, Turing machine. Computers, like macroscopic physical laws, always reproduce the same outputs given the same inputs.
What's left then ? To generate randomness with a program is not an easy task. If one can write a program that is able to generate a sequence of numbers that is random enough, this program will be called a Pseudo Random Number Generator (PRNG). This program is able to generate numbers in sequences that are not easy to predict given the previous outputs, but not totally impossible as a PRNG always needs a starting number : the seed.
So, given a PRNG and a seed, the outputs of the PRNG starting from this given seed can't be considered as truely random as two different computers at differents places and times will always generate the same sequence of numbers.
We can see this specificity of deterministic computers and PRNGs as a musical score : for each starting note the melody will always be the same. Take a look at « The WRK Paradox » and think about that.
Noise and signals
NOISE: from old French noise. Sound associated to a dispute, wrangle, strife.
In information theory and signal processing, the definition of noise is the opposite of that of a signal. A signal is carrying information that can be extracted if the sender and receiver follow the same conventions.
For example it's possible to define a convention that says "I'll send numbers in sequences. There will be one random number followed by a number that carries meaning."
The sequence 1,3,9,1,5,1,1,2,6,2,5,0,7,2,7,3 can seem random to a receiver that doesn't know this convention. But, applying the convention, the information can be extracted easily :
1,3,9,1,5,1,1,2,6,2,5,0,7,2,7,3 => 1,3,9,1,5,1,1,2,6,2,5,0,7,2,7,3 => 31 12 2023
If the receiver also knows the human date convention it is easy to understand this message :
December 31st, 2023
Spectral conventions
So, what truely distinguishes noise from signal is the ability to understand the original convention as well as having a mean of measuring the statistics of the signal source.
In audio domain, noise is considered to have two flavours : white or colored.
To understand the differences between white and colored noises it is necessary to make a step in time-frequency domain.
The most simple audio signal possible is a fixed frequency wave. Let's look at the formula of a simple sinusoidal wave :
U(t)=Asin(2πft)Here:
- U(t) is the electrical tension applied to the speaker a any moment t
- A is the amplitude of the signal (let's imagine A=1 to simplify)
- f is the frequency of the wave
- t is the time
If we choose f = 440 Hz, this signal will sound like this
Here is what does look like two of these sine waves, for f=440Hz and f=523.25Hz
Audio spectrum
It is a known fact, theorized by mathematicians, that all signals can be expressed as a sum of an infinite number of sine waves, at different frequencies.
Here is presented an example of such a sum using only two sine waves. The bottom signal is the sum of the two previous waves.
Thanks to mathematics it is possible to make the opposite work : given a signal, decompose it into a sum of sine waves of different frequencies. Technically it is known as "Fourier transform" and is used to visualize the spectrum of any audio signal.
Antisignals
Now we can understand the concept of noise from a signal analysis point of view:
Noise is the signal made by suming an infinite quantity of sine waves of all frequencies.
A noise made from all the frequencies is called white noise. But there also exists colored noises that exhibits various spectral features.
Digital noise and signals
To create such noise with a computer is a relatively easy task by using a PRNG : at any moment in time, the audio signal amplitude is decided by the PRNG with pseudo-random values between -1 and 1.
So, technically, listening to white noise is listening to random values. Here is what is does sound like :
This is the audible equivalent to the TV snow presented in the first picture of this article.
Algorithms and randomness : the case of "generative arts"
Computer-based algorithmic visuals generators are often described as "generative art". This expression lacks some nuance in that it designates a very broad range of practices and eludes the fact that algorithms are at the heart of these practices. Recently, with the development of blockchain based platforms the concept of "generative art" has even more drifted, now almost exclusively meaning "Computer based PRNG-driven algorithmic visuals generators".
Elaborated on the occasion of the launch of fx(hash) 2.0, « Nature of Noise » is an exploration of multiple facets of the concepts at the heart of these new practices.
An ode to noise, randomness and the intricate relations between structure, order, chaos and computers, using a small part of the possibilities offered by WebAPIs for creating multimedia experiences.
The experience
« Nature of Noise » blends different levels of perception and complexity.
Visual noise and randomness
By using a set of 1.5 millions WebGL points, the experience simulates a small volume of the universe filled with stellar objects : stars, galaxies, clusters.
These points are distributed following two kinds of randomness : a general Perlin-like 3D noise determines the overall density probability of stellar objects, while the standard fxhash PRNG determines the exact position and size of each of these points.
This volume of the generated universe is then explored by using different points of view and traveling camera. Each visual sequence lasts for 5 or 10 seconds and the order of these sequences is determined by the PRNG.
Spectral noise and randomness
Less visible, but more audible, the soundtrack is also entirely generated by algorithms using a combination of white/colored noise sources, filters, and delays thanks to intensive use of the WebAudio API.
The overall structure of the sountrack composition is also decided by using outputs of the PRNG. For the curious ones, some details about the current state of the experiment is provided in the developer console of the browser.
Even if there is a limited number of audio and visual scenes structures, each frame of the resulting audiovisual experience is absolutely unique. The large number of possible states and millions of points makes the probability of having the same sound, and same visual two times almost null (<10^-13).
In practice, this means that it would take more than 10 times the age of the universe to get the chance to experience two times the same combination of sounds and visuals.
Spectral and visual signals
Another layer of intrication between noise and signal was added to the experiment. Besides the audio noise composition, the « Nature of Noise » program has a small probability of painting the spectrum by modulating the intensity of certain frequencies generated by the noise source.
By using a spectrogram application (BirdNet application on Android is recommended or iPhone many spectrogram applications -- just need to display the 10-20kHz range), it is possible to sometimes witness a visual signal hidden in the audio noise.
It looks like this (many other kinds of visual signals are emitted)
Experiment
This article will be updated when platform bug will be fixed. Meanwhile you can try the live experiment by following this link : https://gateway.fxhash2.xyz/ipfs/QmShvad18kT1vcE7FYGPWyTgFMxytNFP1vNRrnGqMSnouc/?fxhash=0x170b3af75adaac02c36cffd550efaa7b37e98362678897ebd04dfad7f83b2e26&fxiteration=1&fxminter=0xafa332aaced6a18f8e1e007bcd36a03f84b80f53 or go to the project page by following this link : https://www.fxhash.xyz/generative/slug/nature-of-noise
Noise, particles, signals. An audiovisual composition made from noise and randomness. All the sounds you will hear come only from one of the three kinds of noise commonly called "white","pink" and "brown" or "brownian". These noises are then subject to modifications like filters, spatial transformations or delay units. The visual composition alternates sequences in a random deterministic order. Note: there is a probability that this program emits some images or text messages encoded in the high part of the audio spectrum. You can use a spectrogram application to visualize these signals which may seem inaudible to many. // Open fullscreen for best visual experience // Use headphones or large speakers for best musical experience // Press on the binary numbers to start the experience (01011... these are the current seed hash)
I hope you enjoy this experience ! 🧡
📡 You can contact me on fxhash discord or Twitter DM for any question or request.
[ Follow @HAL09999 on Twitter / @hal09999 on instagram / hal09999.tez on objkt ]
@HAL09999 – December, 2023
- https://danslesnuages.xyz/
- https://feralfile.com/artists/HAL09999
- https://twitter.com/HAL09999
- https://www.instagram.com/hal09999/
- https://www.fxhash.xyz/u/HAL09999