From Medien Wiki

I built a patch, which semi- generates music under the influence of an incoming audio signal. Semi-generative should mean, that it randomly picks on predefined notes, makes changes in the note length, rhythm parts and volumes of the instruments and effects. The notes however are predefined and the “Snare” remains the only constant part of it to keep the output harmonic. All Sounds are built from cosine oscillators, with the exception of one saw-tooth oscillator.

Overall Randomness

The randomness in the patch is produced by a network of spigots set to an adc~ to toggle between several automated faders. These faders are attached to the different musical elements and effects throughout the patch. This works through a threshold between the microphone input and the spigots, resulting in the microphone input controlling the automated faders. Though the patch worked fine with the contact mic, I settled for the threshold control only and chose to avoid frequency dependency for the controls, as i found it impossible to set overall general values for different natural environments to control this patch.

Screenshot 2019-09-30 at 19.10.58.png

Also, there’s a Markov Chain like random section, which randomises the behaviour of hi-hat, kick drum and alters one frequency of the MIC + Oscillator section

Error creating thumbnail: convert convert: Unrecognized option (-layers). Error code: 1

The Oscillator Step Sequencers

There’s two more or less similar Oscillator Step Sequencers, one for producing a flute type of sounds and one for the bass sounds. They mainly differ in the set frequencies for having high and low notes. Both are connected to a pseudo random integer, which is connected to the metronome and set to a range of 60. This range has far more numbers (notes), than the sequencers can select from, resulting in random note lengths. The flute- like Step Sequencer passes one signal (mono) to a delay line, producing a bouncy stereo effect with the original output.


The Drum Section

This section is partly modelled after a drum section from a live coding video from Gabriel Vinacca. kick and snare are generated from a filtered oscillator. For the snare sound i added a white noise.

Screenshot 2019-09-30 at 19.04.43.png

the Hi Hat is generated through a saw-tooth oscillator.

Screenshot 2019-09-30 at 19.05.06.png

The kick, which counts 6 by default, is connected to the Markov Chain’s random integer which is also set to high, resulting unforeseeable pauses within the rhythm. Along with the drums section comes a reverb line, an automated delay line and an automated high cut filter, which are partly connected to different inlets of the dac~ for more auditive diversity.

The Mic + Oscillator Section

This Sections takes the Microphone input and and adds three different midi values sent to three oscillators, one of them randomised from the Markov Chain. This gives a responsive, windy type of sound.

Screenshot 2019-09-30 at 19.22.00.png

Final Patch

Download here

File:thamos gen3009.pd


thamos gen3009.pd

Notes regarding the Patch

The fader section on the top of the patch is a control instance. When starting the patch, the faders have to be reset to zero, otherwise the sounds will start playing at random levels (sometimes distorted) before the fader movements kick in. This is a bug i couldn't fix, therefore the faders. I chose to exclude the overall tempo from randomness, but still it is adjustable.

Notes regarding Raspberry Pi

For now, the piezo microphone is simply attached to my table to make the patch within the raspberry play randomly according to the noises in my room.