After about two weeks without opening Sonic Pi, I went back to writing a few lines of code. I started with the vinyl_hiss sample, and then somehow I was reminded of the structure of amino acids. I began naming variables and loops after molecular terms I was familiar with – simply letting something I’d once learnt seep into the creative process. Not to create a scientific sonification Amina The Code # title amina # by mus use_bpm 112 Hydrogen = ring(0.2, 0.4, 0.3, 0.5) Carboxyl = ring(0.1, 0.2, 0.3, 0.4, 0.5) alpha_c = chord(:g4, :m9) beta_c = chord(:c4, :dom7) gamma_c = chord(:d4, :m9) delta_c = chord(:f4, :maj7) Carbon = ring(alpha_c, beta_c, gamma_c, delta_c) live_loop :hydroxyl do sync :bar h = Hydrogen.tick set :H, h sample :vinyl_hiss, amp: h sleep 1 end live_loop :oxygen do sync :bar sample :bd_jazz, amp: 0.6 sleep 0.5 sample :elec_blip, amp: 0.8 sleep 0.5 sample :elec_snare, amp: 0.6 sleep 0.5 sample :elec_blip2, amp: 0.8 sleep 0.5 end live_loop :oxygen_hh do sync :bar 4.times do sample :hat_tap, amp: rrand(0.8, 1) sleep 0.3 sample :elec_tick, amp: rrand(0.6, 0.8) sleep 0.7 end end live_loop :carbon do sync :bar with_fx :wobble, phase: 2, wave: 1, mix: 0.65 do use_synth :rodeo play Carbon.tick, amp: get(:H) + 0.5 sleep 4 end end live_loop :r_group do sync :bar r = Carboxyl.tick set :COOH, r with_fx :lpf, cutoff: 65 do if one_in(2) sleep 1 else use_synth :tb303 play scale(:d2, :minor_pentatonic).choose, amp: r sleep 1 end end end live_loop :nitrogen do sync :bar use_synth :beep play scale(:f4, :major).choose, amp: get(:COOH) + 0.5 sleep [0.5, 1, 1.5].choose play scale(:d4, :minor).reverse.tick, amp: get(:H) + 0.3 sleep [0.5, 1.5, 2].choose end live_loop :hydrolysis do sync :bar with_fx :lpf, cutoff: 75 do use_synth :rodeo play scale(:d3, :minor).tick, amp: get(:H) sleep 2 end end live_loop :a do cue :bar sleep 4 end
PERSONAL BLOG · DIGITAL GARDEN · DIGITAL WORKS STUDIO
More often confused than knowing.
Biology student, digital gardener, and maker of web things.
archive for non-linear notes, reflective essays, unfinished thoughts, and small digital experiments.
Latest writing
From the Garden
Reflective notes, small experiments, and thoughts still taking shape.
Before 13.00
What time is it now?
From Sounding Notes to an Interconnected System
Notes on learning about shared state in Sonic Pi: from independent live_loops to loops that read and write state through set and get.
Can "Literal" Meaning Exist in an Associative Brain?
In my university’s e-learning forum, I am the incarnation of the model student. If the system asks for analysis, I provide it. If the tutor demands citations, I provide them in full APA Style 7th edition format, even going so far as to cite a YouTube video without an academic reference supplied by the tutor herself. ◉_◉ In a sense, I am practising malicious compliance: absolute obedience in pursuit of the system’s administrative desires. I can give the bureaucracy of the university exactly what it wants so that my grade remains safe and its assessment rubric is satisfied. ...
What Do We Actually Mean By Language?
I just realized I don’t truly understand what language is. In session 1 of my Indonesian Language course, there was this discussion forum question: tutor's question in the discussion forum I answered it normatively using information from the university module. However, that answer actually triggered several questions in my head about the true nature of language. ...
An Unideal Dialogue
there is a very confined place, even though there are no clear boundary markers.
What Gives Us Reason to Trust a Model?
A continuation of my question about model complexity, leading me to think about the word “true”, empirical evidence, and how our reasons for trusting a claim may depend on the kind of claim being made.