Journal for Dreams and Code


Lately i've felt an urge to improve my skills within to seperate fields of knowledge.
One is the programming language and environment Supercollider, well known and used for algorithmic music and complex sound synhtesis, the other is remembering, recording and understanding my dreams.

In this journal i plan to publish sketches of code and audio that i'm working on specifically to communicate with an 90's synthmodule, Roland JV1010, as well as specific dreamscenarioes recorded upon waking up.
The journal is a past time project so dont expect regular updates



Jun 12. 2024 - Zeus in the European Parliament


Dream
I was riding in the passenger seat of a small red car next to a lake close by my house. In the front seat was a woman whos identy i cant place. This was in the days leading up to the European Parliament election, and we were chatting about who to vote for.
She told me that she would definitly be voting for Zeus, as she already lived her life by rules set by the Greek god of Lightning.

Analysis
This dream being set in a moving car, is likely tied to me recently getting my drivers license, making driving a new and central element in my life. I dreamt This in the week of the European Parliament election, making that piece of context also fit into my real life situation.
What remains a mystery to me, is the significance of Zeus and his connection to European politics.



Jun 07. 2024 - Sending notes to indeterminate MIDI channels


One of the reasons why i chose to venture into programming for communicating with the JV1010, is that i'm interested in the history of MIDI as the "lingua franca" of electronic music. I want explore this promise of a technical representation of "music", and possibly find unexplored corners of this now quite old language.
My first challenge was of course to simply send messages from Supercollider to the JV1010.
I consulted the documentation and found the very helpful tutorial called "sending MIDI", which i built the following sketch upon.

The idea for this sketch create a stream of notes of indeterminate pitch, duration and velocity but also let the destination of notes be an element of chance. That way i could get a monophonic stream of notes, switching quickly between sounds of different instruments. For some reason this is not easily done in regular DAW's.
In the code below instead of declaring the MIDI \chan with a number, i use Pwhite, choosing a number between 0 and 2, giving me a signal randomly distributing notes on the first three channels for which i can select different instruments on the JV1010.



(
var   mOut = MIDIOut.newByName("Name of MIDI DEVICE", "Port 1")
.latency_(Server.default.latency);

p = Pbind(
    \type, \midi,
    \midicmd, \noteOn,
    \midiout, mOut,   
    \chan, 
    Pwhite(0, 2, inf),
        // degree is converted to midinote, not just frequency
    \degree, 
    Pwhite(-7, 24, inf),
    \dur, 
     Pwrand([0.25, Pn(0.125, 16)], #[0.8, 0.2], inf),
    \legato, sin( Ptime(inf) * 0.5).linexp(-1, 1, 1/3, 3),
    \amp, Pexprand(0.5, 1.0, inf)
).play(quant: 1);
)    


The recording below is an example of this idea, with an additional Pbind running slower patterns to a fourth channel with a pad sound to provide som harmonic context to the first voice.