Introduction - Woke-Tista

Hello everybody,

I am a self-confessed “Woke” and also a “Nerd” and I love lattes… It is really great to be part of this group. I have attached my first simple effort below. To my mind, I have over-used cut-and-paste… and I should have used more looping… and other symmetry operations… but … hey I am still working out how to do that in Sonic.Pi… Comments are welcome.

I am really excited by the popular topics in the group.

Yours in solidarity

WokeTista

# Tallis' canon

in_thread do
  use_synth :tri
  2.times  do
    with_fx :reverb do
      play :C4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :B3, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      play :D4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :D4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :E4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      play :F4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :F4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :E4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :E4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      play :D4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :D4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :G4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      
      play :F4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :D4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :E4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :E4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      play :D4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :D4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :G3, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      play :A3, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :B3, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :E4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      
      play :D4, sustain: 0.875, release: 0.25,amp: 0.6, pan: +1
      sleep 1.0
      play :D4, sustain: 0.875, release: 0.25,amp: 0.4, pan: +1
      sleep 1.0
      play :C4, sustain: 1.875, release: 0.25,amp: 0.4, pan: +1
      sleep 2.0
    end
  end
end


in_thread do
  sleep 8
  use_synth :sine
  2.times  do
    with_fx :reverb do
      play :C3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :B2, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      play :D3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :D3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :E3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      play :F3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :F3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :E3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :E3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      play :D3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :D3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :G3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      
      play :F3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :D3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :E3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :E3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      play :D3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :D3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :G2, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      play :A2, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :B2, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :E3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      
      play :D3, sustain: 0.875, release: 0.25,amp: 0.8, pan: -1
      sleep 1.0
      play :D3, sustain: 0.875, release: 0.25,amp: 0.6, pan: -1
      sleep 1.0
      play :C3, sustain: 1.875, release: 0.25,amp: 0.6, pan: -1
      sleep 2.0
    end
  end
end


in_thread do
  sleep 16
  use_synth :sine
  2.times  do
    with_fx :reverb do
      play :C2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :B1, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      play :D2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :D2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :E2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      play :F2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :F2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :E2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :E2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      play :D2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :D2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :G2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      
      play :F2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :D2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :E2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :E2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      play :D2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :D2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :G2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      play :A1, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :B1, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :E2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      
      play :D2, sustain: 0.875, release: 0.25,amp: 1.0, pan: 0
      sleep 1.0
      play :D2, sustain: 0.875, release: 0.25,amp: 0.8, pan: 0
      sleep 1.0
      play :C2, sustain: 1.875, release: 0.25,amp: 0.8, pan: 0
      sleep 2.0
    end
  end
end


in_thread do
  sleep 24
  use_synth :tri
  2.times  do
    with_fx :reverb do
      play :C5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :B4, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      play :D5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :D5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :E5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      play :F5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :F5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :E5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :E5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      play :D5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :D5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :G5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      
      play :F5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :D5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :E5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :E5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      play :D5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :D5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :G4, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      play :A4, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :B4, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :E5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      
      play :D5, sustain: 0.875, release: 0.25,amp: 0.3, pan: +1
      sleep 1.0
      play :D5, sustain: 0.875, release: 0.25,amp: 0.2, pan: +1
      sleep 1.0
      play :C5, sustain: 1.875, release: 0.25,amp: 0.2, pan: +1
      sleep 2.0
    end
  end
end
3 Likes

Here is another one of my early efforts, based on Robert Fripp’s “Exposure” loop:

# A frippish_Sonic_Pi_loop
# compare with the looping chords on Robert Fripps "Exposure"
# simplified quasi raised-cosine notes... 
use_synth :dsaw
live_loop :flibble do
  play :A2, attack: 1.5, sustain: 0.5, release: 1.5,amp: 0.4
  play :A3, attack: 1.5, sustain: 0.5, release: 1.5,amp: 0.2
  sleep 	2.0
  play :E3, attack: 1.5, sustain: 0.5, release: 1.5,amp: 0.2
  sleep 	2.0
  play :C3, attack: 1.5, sustain: 0.5, release: 1.5,amp: 0.2
  sleep 	2.0
  play :G3, attack: 1.5, sustain: 0.5, release: 1.5,amp: 0.5
  sleep 	2.0
  play :D3, attack: 1.5, sustain: 0.5, release: 1.5,amp: 0.2
  sleep 	2.0
end
2 Likes

I am currently picking away at Beethoven’s “Heiliger Dankgesang eines Genesenen an die Gottheit, in der lydischen Tonart.” I am attempting to transcribe the introduction for four synthesizers. There is a lot more transcription for that than Tallis’ canon. I plan to transcribe about 32 bars of four parts.

Is there a way to transfer the notes (at least…) using MIDI??

WokeTista

1 Like

Hi and welcome to in_thread. Your Tallis Cannon post didn’t print very well as I think you used three ordinary apostrophes instead of three “back-ticks” ` which should be placed on a line before and after the code. As an Admin user I have taken the liberty to alter these for you. If you go into edit mode on your post you will see the three back ticks at start and end of your code.
As regards the pice, I must say it was interesting to hear a VERY deep bass line. for your second part. It certainly got my bass speakers going!
Also because the piece is quite long it needed to be run using run_file “path/to/TallisCanonFile” to work.
A good first post. I look forward to more. I’ll leave you to alter the second post to get the back ticks corrected for that.

I have produced .mp3 files of some of these pieces… Do people only do Sonic.Pi or can they use other media formats??

Yes users sometimes post audio of their Sonic Pi pieces. Usually this is done by uploading them to a site like soundcloud.com and putting a link to it in your in-thread post. You can get a free soundcloud account for storing up to 1 hour of music.

As regards transcribing music I have done a fair bit of this, starting with a midi file in MuseScore and then using a script to convert each part separately to a Sonic Pi file, see this I have also written a project to allow Sonic Pi to play midi files directly. see here

1 Like

Wow… that really excercised my bass speakers… I thought the floor
was going to take off. ::slight_smile:

Welcome to the SP forums matey.

Eli…

1 Like

Eli: I confess that when I play “analogue” music. I am a bass-player. I have played bass for many years. I like to have something “down there” as a foundation for the music to fly over… :slight_smile:

I am not one of those flashy bass-players. I prefer to be foundational. I like to reinforce the fundamental harmonies of the piece. I like a bit of Larry Graham funky-ness. Rhythm is good, but not at the expense of musicianship, or reinforcing the fundamental harmony.