processing sound visualizer explained
I have been asked to share the code of the sound visualizer I wrote in processing about a year ago, so I decided to write a blogpost explaining what I did
The program has two main parts - the autocorrelation function that creates the wiggly line and a glsl filter for the lens-distortion effect.
read more ...SynthJam 01 2019
Yesterday it came to my mind, that in the last few weeks I've spent more time working on my music equipment than actually making music - I created a new stand for my Mother32 and my DFAM, I made a midi to trigger signal box based on an arduino, I wrote a controller script for my KMI SoftTouch2 so I can controll bitwig with my feed while jamming - all very important tasks that will help me focus on making music - but currently it feels like all those task are eating my time for making music.
So I recorded a quick synth jam using the repro1 plugin from uhe and the mother32 in Bitwig Studio. I also added some drums from the Volca Beat, the volca sample and the DFAM.
So - without further ado - here is my first syth jam of 2019
read more ...Sonic Pi beatslicing livecoding session
this is the recording of a SonicPi Livecoding session made from 2 sample loops sliced and rearranged in different ways
for the drum sounds I used a drumloop sliced it into 32 peaces each 1% the length of the original loop. Each click is chosen at random from the ring created by the line command.
n = 32
l = 0.01
s = line(0, 1, steps: n+1).choose
f = [1,s + l].min
sample "drumloop.wav", beat_stretch: 16, start: s, finish: f
The samples are triggered at a given 16th slot with a changeable probability.
the e-piano loop is played back at different speeds chosen from an array using [1,-1,0.5, -0.5, 0.75, -0.75].choose and placed at a random position in the stereofield using a :pan fx
read more ...New Song - A Target you can't see
a repeating yet ever changing 10 note pattern creating a world for the melody to live in
read more ...Welcome Lil Erebus
I build the Erebus Lil DIY kit by dreadbox this weekend - after 6 hours of soldering estimated 100000 components on very very tiny solder pads on saturday, I spent 8 hours on sunday searching for the one cold solder joint :-/
But everything is working fine now and here is a first short jam with my new synth - enjoy!
read more ...New Song - Turn into a Tune
A song starting as a simple arpeggio slowly evolving into a tune
Recorded and Mixed in Bitwig Studio drums are from a volca beats and sample, pads from streichfett and blofeld. The synth sound are from bitwigs polysynth and a 0-Coast
read more ...creating midifiles using ruby
I have been experimenting with randomly generated drum patterns lately and found out pretty soon, that a totally random generated pattern isn't exacly what I was after, I wanted a pattern generator where I can specify propabilities for each drum hit to occure. So I wrote a ruby script using midilib that generates midi files containing patterns, which I can then import into bitwig and loop and arrange for my tracks.
Midilib is a nifty little ruby library that allows you to read or write midifiles. For my purpose I used the library to write the files.
the library can be installed using gem
gem install midilib
A midifile contains sequences, sequences contain tracks and tracks contain midi events. These events can be any midi event like noteOn, noteOf, controlChange, programChange, ... For each midiEvent in a track the delta time to the last event is stored.
in midi lib you can specify a time_from_start value and lets midilib recalculate the delta values before saving the track.
So here is a ruby script that generates a hihat pattern (channel 1, midi note 44 in my kit), where the notes are placed on a 16th grid with a random chance between 20% and 50%.
require 'midilib/sequence'
require 'midilib/consts'
include MIDI
seq = Sequence.new()
track = Track.new(seq)
seq.tracks << track
track.events << Tempo.new(Tempo.bpm_to_mpq(110))
track.events << MetaEvent.new(META_SEQ_NAME, 'Test Pattern')
track = Track.new(seq)
seq.tracks << track
track.name = 'Loop1'
s = 0
l = seq.note_to_delta('16th')
e = Random.rand(0.2..0.5)
16.times do
if ( Random.rand < e ) then
on = NoteOn.new(0,44,127,0)
on.time_from_start = s
off = NoteOff.new(0,44,127,0)
off.time_from_start = s + l
track.events << on
track.events << off
end
s += l
end
track.recalc_delta_from_times
File.open('pattern3.mid', 'wb') { |file| seq.write(file) }
read more ...new Song Ice5
An ambient electronic 5/4 track inspired by the -10°C we currently have outside
read more ...processing sound visualizer
I made a visualizer for my track Walk in the rain using processing. I used a stereo autocorrelation function to generate the line drawing using the minim framework and added a glsl shader to create the lens distortion effect.
read more ...Volca Sample SuperCollider Drum Set
I generated some random drum samples using supercollider and selected 100 samples as my new main drum kit for the volca sample. This is the first track I used my new drum sounds one. The volca sample gets a little help from the volca beats kick drum. The Bass sound is from the MiniNova, The synth track is from the Blofeld.
read more ...