About

In Western societies diagnoses of narcissistic personality disorder have risen sharply over the past decades. In such a condition designers must face up their responsability, emancipate from the narcissistic condition asking some self-critical questions: why am I a designer? Why do I want to manifest myself? Why must people undergo to my personal taste? My works emerges from this questions, looking for a design method by which I can process and therapize my intervention in order to extract the best of it (designing\engeneering) and avoiding the worst (personal taste\emotion). The designer make high level decisions about setting parameters, low level decision of choice among the set of data are executed by others decision making entities generating a moltitude with which I start to configure myself as part of a larger whole. Then, all indentities act as an ongoing process of selection and control within the framework of the system in which they partecipate as members. The result is reached by the interection of these identities in such as way that each identity absorbs the variety disposed by the others.

My choises are in relation to my personal taste. Is it right other people have to undego to the manifestation of my personal taste? I don't want to be the core of the process which performs all tasks aware that the true trascends the human and the only thing I can do is to dialogue with the outside. This strong objectification process frustrates every narcissistic purpose. The center of attention switch from human to system, I'm not going to design an object but to design a system which designs an object. 
I'm industrial designer and I live in Milan. Here you can found some of my works.

Contact

matteo_crivella at hotmail dot it

Works

True-random  

Pseudo-random 

Human-random 

Markov decisions 

Stack overflow

True-random

This work consists of a C stand alone application for Linux and Windows platforms. The application outputs a sine wave trajectory driven by a true random numbers generator (TRNG) which makes choices into a given set of values making decisions for variances in terms of frequency and duration. Each play is different, the behavior of the TRNG comes to light manifesting all its excellent statistical parameters.  

A true random numbers generator TRNG is based on the entropy of physical phenomenas, the transformation of the entropy into digital data, and the post-processing to reshape the statistical characteristics of the data, even though this is not strictly necessary if the TRNG is employed outside cryptographic security.
A pseudo random numbers generator (PRNG) is a deterministic system which need different seed to generate different series of number. If the seed becomes known the output is predictable. Nonetheless exist many cryptographically strong PRNG which play an important role in cryptography.

The here presented project has been focused on the realization of a thermic noise true random generator for personal computer environment. These kind of computer generally contain an analog-to-digital converter (ADC), which is well known to be in fluenced by random noise processes, as for example thermal noise in form of variations in the voltage level of a signal. This project focuses a method that use the ADC thermal noise as a source of entropy.

An ADC transforms an analog input signal into a digital representation which uses a fixed number of bits, where the number of bits is called the resolution of the ADC. This work has been developed on "AD1984" of Analog Devices which futures are represented in fig. 1. Anyway, the thermal noise in the other ADC's do not differ as such as to affect the statistical quality of the generator. Internally, all ADC circuits produce a certain amount of rms noise which is mostly determined by three different contributors: quantization, thermal noise and clock jitter.

The quantization noise is a data converter noise sources and its impact is usually very small. Since the ADC converts a continuous signal into discrete levels using a nonlinear process, quantization noise is inherently created.
The quantization noise cannot be used as a source of entropy due to two reasons: first, quantization noise does not vary with time. This means that a constant input signal yields a constant output value; second quantization noise is not random but deterministic. 

Clock jitter, is the noise introduced by sample jitter when sampling a time varying signal by producing unwanted variations in sampled values. Clock jitter primarily affects the ADC’s SNR (signal to noise ratio) at higher input frequencies with a full-power input signal. Since no external input has to be processed, clock jitter noise is not a factor in our case.

Hence, the ADC noise is solely determined by thermal noise, caused by the random Brownian motion of electrons in resistors and spread across the entire Nyquist band.

The data are picked-up from the ADC by Pure Data software, the approach is to get data in and reshape their statistical characteristics using software algorithms.
After testing the entropy of the thermal noise it has been found it is rather a week entropy source and an implementation is needed in order to improve the quality of the generator. 
In order to satisfy all statistical parameters, the best option was to get the varying RMS amplitude values of the envelope ENV with a period of p, multiply them by a factor of 100.000 and use a modulo of q to evenly spread the values in the interval [0, q]. 

 

Xn=ENVn 10^5 mod q
 

Xn is the random number
ENVn is the envelope value 

The generator has been tested on the so called ENT [4] test suite for random numbers, It has been tested for 180.000 samples with a modulo of 256 and the results are within the normal required parameters. Ent performs a variety of tests on the stream of bytes and produces output as follows:

 

Value Char Occurrences Fraction
  0              683   0.003781
  1              730   0.004041
  2              731   0.004047
  3              717   0.003969
  4              705   0.003903
  5              717   0.003969
  6              720   0.003986
  7              709   0.003925
  8              707   0.003914
  9              696   0.003853
 10              703   0.003892
 11              685   0.003792
 12              713   0.003947
 13              707   0.003914
 14              674   0.003731
 15              708   0.003919
 16              653   0.003615
 17              700   0.003875
 18              699   0.003870
 19              685   0.003792
 20              720   0.003986
 21              710   0.003930
 22              733   0.004058
 23              722   0.003997
 24              647   0.003582
 25              691   0.003825
 26              656   0.003632
 27              699   0.003870
 28              677   0.003748
 29              674   0.003731
 30              696   0.003853
 31              700   0.003875
 32              672   0.003720
 33   !          693   0.003836
 34   "          727   0.004025
 35   #          744   0.004119
 36   $          769   0.004257
 37   %          735   0.004069
 38   &          663   0.003670
 39   '          715   0.003958
 40   (          680   0.003764
 41   )          712   0.003942
 42   *          713   0.003947
 43   +          692   0.003831
 44   ,          737   0.004080
 45   -          649   0.003593
 46   .          677   0.003748
 47   /          728   0.004030
 48   0          721   0.003991
 49   1          729   0.004036
 50   2          689   0.003814
 51   3          724   0.004008
 52   4          701   0.003881
 53   5          685   0.003792
 54   6          678   0.003753
 55   7          671   0.003715
 56   8          694   0.003842
 57   9          687   0.003803
 58   :          719   0.003980
 59   ;          764   0.004229
 60   <          736   0.004074
 61   =          688   0.003809
 62   >          699   0.003870
 63   ?          749   0.004146
 64   @          724   0.004008
 65   A          742   0.004108
 66   B          660   0.003654
 67   C          695   0.003847
 68   D          721   0.003991
 69   E          710   0.003930
 70   F          677   0.003748
 71   G          697   0.003859
 72   H          715   0.003958
 73   I          712   0.003942
 74   J          692   0.003831
 75   K          729   0.004036
 76   L          702   0.003886
 77   M          717   0.003969
 78   N          702   0.003886
 79   O          696   0.003853
 80   P          692   0.003831
 81   Q          753   0.004169
 82   R          729   0.004036
 83   S          726   0.004019
 84   T          742   0.004108
 85   U          687   0.003803
 86   V          689   0.003814
 87   W          652   0.003609
 88   X          700   0.003875
 89   Y          738   0.004085
 90   Z          683   0.003781
 91   [          700   0.003875
 92   \          703   0.003892
 93   ]          728   0.004030
 94   ^          735   0.004069
 95   _          711   0.003936
 96   `          724   0.004008
 97   a          742   0.004108
 98   b          690   0.003820
 99   c          723   0.004002
100   d          705   0.003903
101   e          703   0.003892
102   f          706   0.003908
103   g          735   0.004069
104   h          693   0.003836
105   i          719   0.003980
106   j          711   0.003936
107   k          650   0.003598
108   l          724   0.004008
109   m          712   0.003942
110   n          669   0.003704
111   o          697   0.003859
112   p          729   0.004036
113   q          661   0.003659
114   r          666   0.003687
115   s          740   0.004097
116   t          742   0.004108
117   u          710   0.003930
118   v          685   0.003792
119   w          758   0.004196
120   x          669   0.003704
121   y          701   0.003881
122   z          720   0.003986
123   {          694   0.003842
124   |          725   0.004014
125   }          658   0.003643
126   ~          699   0.003870
127              669   0.003704
128              725   0.004014
129              712   0.003942
130              755   0.004180
131              682   0.003775
132              727   0.004025
133              712   0.003942
134              732   0.004052
135              750   0.004152
136              726   0.004019
137              678   0.003753
138              695   0.003847
139              701   0.003881
140              709   0.003925
141              702   0.003886
142              710   0.003930
143              696   0.003853
144              729   0.004036
145              684   0.003787
146              702   0.003886
147              694   0.003842
148              691   0.003825
149              707   0.003914
150              739   0.004091
151              685   0.003792
152              738   0.004085
153              694   0.003842
154              687   0.003803
155              696   0.003853
156              692   0.003831
157              627   0.003471
158              715   0.003958
159              716   0.003964
160              695   0.003847
161   í          715   0.003958
162   ó          697   0.003859
163   ú          675   0.003737
164   ñ          721   0.003991
165   Ñ          724   0.004008
166   ª          681   0.003770
167   º          712   0.003942
168   ¿          693   0.003836
169   ®          696   0.003853
170   ¬          708   0.003919
171   ½          692   0.003831
172   ¼          666   0.003687
173   ¡          694   0.003842
174   «          711   0.003936
175   »          711   0.003936
176   ░          747   0.004135
177   ▒          685   0.003792
178   ▓          702   0.003886
179   │          709   0.003925
180   ┤          684   0.003787
181   Á          668   0.003698
182   Â          750   0.004152
183   À          683   0.003781
184   ©          701   0.003881
185   ╣          674   0.003731
186   ║          661   0.003659
187   ╗          696   0.003853
188   ╝          700   0.003875
189   ¢          720   0.003986
190   ¥          681   0.003770
191   ┐          742   0.004108
192   └          681   0.003770
193   ┴          697   0.003859
194   ┬          757   0.004191
195   ├          682   0.003775
196   ─          715   0.003958
197   ┼          711   0.003936
198   ã          706   0.003908
199   Ã          734   0.004063
200   ╚          743   0.004113
201   ╔          708   0.003919
202   ╩          697   0.003859
203   ╦          717   0.003969
204   ╠          757   0.004191
205   ═          690   0.003820
206   ╬          684   0.003787
207   ¤          718   0.003975
208   ð          662   0.003665
209   Ð          741   0.004102
210   Ê          739   0.004091
211   Ë          750   0.004152
212   È          691   0.003825
213   ı          695   0.003847
214   Í          735   0.004069
215   Î          698   0.003864
216   Ï          690   0.003820
217   ┘          718   0.003975
218   ┌          721   0.003991
219   █          693   0.003836
220   ▄          696   0.003853
221   ¦          690   0.003820
222   Ì          716   0.003964
223   ▀          723   0.004002
224   Ó          719   0.003980
225   ß          697   0.003859
226   Ô          732   0.004052
227   Ò          691   0.003825
228   õ          733   0.004058
229   Õ          752   0.004163
230   µ          680   0.003764
231   þ          701   0.003881
232   Þ          746   0.004130
233   Ú          729   0.004036
234   Û          702   0.003886
235   Ù          711   0.003936
236   ý          694   0.003842
237   Ý          661   0.003659
238   ¯          741   0.004102
239   ´          717   0.003969
240   ­           757   0.004191
241   ±          686   0.003798
242   ‗          754   0.004174
243   ¾          722   0.003997
244   ¶          722   0.003997
245   §          691   0.003825
246   ÷          725   0.004014
247   ¸          741   0.004102
248   °          702   0.003886
249   ¨          653   0.003615
250   ·          695   0.003847
251   ¹          711   0.003936
252   ³          668   0.003698
253   ²          700   0.003875
254   ■          687   0.003803
255              667   0.003692

Total:        180639   1.000000

Entropy = 7.999070 bits per byte.

Optimum compression would reduce the size
of this 180639 byte file by 0 percent.

Chi square distribution for 180639 samples is 232.49, and randomly
would exceed this value 84.08 percent of the times.

Arithmetic mean value of data bytes is 127.6331 (127.5 = random).
Monte Carlo value for Pi is 3.132000266 (error 0.31 percent).
Serial correlation coefficient is -0.000969 (totally uncorrelated = 0.0).

Entropy is 7.999070 bits per byte. This value is the information density of the contents of the file, expressed as a number of bits per byte. So the file is essentially random.
The chi-square distribution is 84.08%. This test is the most commonly used test for the randomness of data calculated for the stream of bytes in the file and expressed as anabsolute number and a percentage which indicates how frequently a truly random sequence would exceed the value calculated. If the percentages is between 10% and 90% the sequence is random. 
The arithmetic mean is 127.6331. This is simply the result of summing the all the bytes in the file and dividing by the file length. If the data are close to random, this should be about 127.5.
Monte Carlo Value for Pi is 3.132000266 error 0.31%. Each successive sequence of six bytes is used as 24 bit X and Y co-ordinates within a square. If the distance of the randomly-generated point is less than the radius of a circle inscribed within the square, the six-byte sequence is considered a “hit”.
Serial Correlation Coefficient is -0.000969. This quantity measures the extent to which each byte in the file depends upon the previous byte. For random sequences, this value which can be positive or negative will, of course, be close to zero.

The generator outputs 32.000 bits\s so it's quite slow if compared to other true random generators, nonetheless fast enough for the purpose of this work.

This work is released on sd card housed on cardboard packaging.

References

1.Why your high-speed ADC can never have enough SNR By Tommy Neu, System Engineer, Texas Instruments

2.Energy Efficient True Random Number Generator by Conrad Georg Foik, Master of Science in Electronics, Norwegian University of Science and Technology Department of Electronics
and Telecommunications

3.Understanding Noise in the Signal Chain, Intersil

4.https://www.fourmilab.ch/random/

 

Pseudo-random

In this work seven pseudo-random numbers generators (from 1946 to 1986) drive for one minute each a simple tone trajectory in the range between 178.8 Hz and 433.8 Hz.
The computer current time is used as a seed value garanteeing different sequencies of numers for each start. The intent is to compare them with each other and observe their mathematical behaviors from an audio perspective.

Pseudo Random Number Generator (PRNG) refers to an algorithm performed by a computers that uses mathematical formulas to produce sequences of random numbers. Since computers are deterministic machine they can't generate truly randomness but they can only approximate their properties. A PRNG starts from an arbitrary seed state, if the seed changes, the generated numbers also change, and a single seed value always produce the same numbers. The computer current time is often used as a seed value. The next random integer is generated using the previous random integer, an integer constants, and the integer modulus, for example:
Xn=a1Xn-1+a2Xn-2+...akXn-k(mod m)
PRNG's are widely used in such applications as computer modeling, statistics, experimental design, due to their speed and repeatability. Also there is a subclass of PRNG that have application to cryptography and it is the class of cryptographically robust PRNG.

In this project have been employed the following PRNG's: 
Middle square method (1946); Lehmer generator (1952); Linear congruental generator (1958); Lagged Fibonacci generator (1958); Linear feedback shift register (1965); Wichmann-Hill generator (1982); Blum Blum Shab (1986). 

 

Motivations:
 

The waiting for the next tone that you don't know on which frequency will occur
L' attesa per il prossimo tono che non sai su che frequenza si verificherà

 

The intent of the mind to find some pattern that will never occur
Il tentativo della mente di trovare dei pattern che non si verificano

 

The suprise and the pleasure of the mind when it happens
La sorpresa per la successione tra due o tre toni che soddisfano un pattern che avevi in mente

 

The ceaseless mutation of the acoustic behavior of a sine wave when there is a change of frequency
La continua mutazione del comportamento acustico di un' onda sinusoidale generata dalle frequenze che cambiano

 

The acceptance of uncertanty as a law and not as a problem
L' accettazione dell' incertezza non come problema ma come regola

 

The waiting for the unknown and when the unkown unveils itself, generating a new consciousness
L' attesa per l' ignoto e l' ignoto quando si svela, generando nuova consapevolezza

 

Human-random

A random number generator <RNG> constructed by asking a human to think of random number is in fact poor. It is proven that the sequence of random numbers generated by brain activity do not follow full randomness criteria. Human movements, on the other hand, are rather good sources of entropy. It is very hard for a human hand to do the exact same move repeatedly and more specifically generate the same data if each move will be valued to an accuracy with 8 positions after the decimal point. Thus in motion based RNG humans can provide a strong source of entropy due to inexact reproduction of movements, in addition computer can't generate true randomness being a completely deterministic machine. This isn’t as bad as it seems, the so-called pseudo-random number generator <PRNG> formulas generate results that may be sufficiently complex to make the pattern difficult to identify and for most application they are sufficient. 
True random number generators <TRNG> use physical phenomena to extract actual randomness. In this work human movement will be used as entropy source to design a human driven true random numbers generator. A trasducer is placed on a brass strip and connected to the computer input audio port. The strip is shaked by hand, generating the data that will be collected and post processed to ensures a uniform distribution of values. 

The program has been designed in C and run on Linux and Windows platforms. The application outputs a sound sine wave trajectory driven by the TRNG which makes choices into the range between 120 and 320 Hz, making decisions for variances in terms of frequency and duration. 
The generator has been tested on the ENT test suite for random numbers, It has been tested for 40000 samples and the results are within the normal required parameters. 

 

Markov decisions

Generative audio system that uses stochastic processes in order to objectify low level decisions in the design process.
Six first order markov chains make decisions for probability selection among data driving two sheet of brass under stress generating changes in terms of brightness and dynamic of sound.
The system integrats mathematical models, physical behaviors of matter and high level human choises as components of a larger cybernetic configuration. The emphasis on mathematics is needed for the intention of objectifying the design process, shifting from using own thoughts and emotions to influence low level decisions to letting stochastic processes make decisions for it. The roles of composition and instrument are definitively canceled in favor of a new identity instrument-composition.
After the set of rules have been specified, the system is left to work out the specifics of its data trajectory. The sound is the output that describe the behavior of the system. The generative process of data defines the dynamic of sound, the physical properties of the instrument defines the timbre.

A first order Markov Chain is a sequence of stochastic events where the next state of a variable of system is independent of all past states, except the current state. The process consists of a finite number of states and known probabilities of moving from one state to another. 
Data are generated through the principle of amplitude modulation, with a carrier oscillator and a modulator oscillator. The Markov Chains make decisions for probability selection among data for variances in frequency and amplitude, generating changes in the vibrational state of brass that become tangible in terms of articulation, dynamic, loudness and brightness. The Markov Chain Transitions Matrix (MCTM) are filled in at random with a set of values chosen after some tests of the instrument and then transposed in Pure Data.
For example in the MCTM of this modulator oscillator (MCTM mod osc B) we can see that frequencies occur with the following distribution:

14Hz - 7,5%; 16Hz - 5%; 18Hz - 5%; 20Hz - 6%; 22Hz - 4,5%; 24Hz - 4%; 26Hz - 4%; 28Hz - 6 %; 30Hz - 4,5%; 32Hz - 2,5%; 34Hz - 5%; 36Hz - 5%; 38Hz - 6%; 40Hz - 5%; 42Hz - 4%; 44Hz - 4%; 46Hz - 4%; 48Hz - 4,5%; 50Hz - 6%; 52Hz - 5%.

and 14Hz has 0% of probability to be followed by 14Hz, 10% by 16Hz; 0% by 18Hz; 0% by 20Hz; 10% by 22HZ and so on.

 

MCTM mod osc B

MCTM mod osc B transposed in Pd

All 8 MCTM

Software: Pd; Hardware: 2 Voice Coil Actuators, Amplifier. Material: 1 sheet of Brass 1000x2000x0.7 mm, 1 sheet of brass 1000x2000x0.5 mm, Iron frame. Manufacturing: Fabrizio De Gaetano (fabriziodegaetano.com)

 

Stack overflow

This is a computational work made in Pure Data focused on the stack overflow error. A stack overflow error can occur in a computer program due to an infinite loop in the programming or by either an excessive memory usage. There's a certain amount of memory reserved for the stack and when you exceed it you get a stack overflow error. In the following Pure Data patches we get a stack overflow error because the process of an initial message to an object which triggers an outgoing message to another object exceeds the limit the program puts on how deeply a single message is allowed to flow in an immediate chain reaction. Each patch is made by chains n+1 deep, where n is the numer of triggers of the chain before to get the stack overflow.

500 Float - 51x106 cm

498 list-split - 14x17 cm

500 atan - 58x33 cm

980 random - 107x55 cm

42 moses - 23x11 cm