Amina
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