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.