FX :distortion stops working when I rerun code?

I would like distortion on the :bass live_loop all the time

Example 1)

Run code
Line 62 “my_chords = 4”
The :distortion effect works

Changing Line 62 “my_chords = 5”
Rerun

The :distortion effect stops working on the live_loop :bass

Stop the code
Run the code
The distortions works on “my_chords = 5”


# 220926 2332 distortion on fm bass and dsaw at top
# Saved 220926 2332

live_loop :time, delay: 0.01 do
  sleep 1
end



# Idea: Create a define with |pattern, root, notes, my_chords |


with_fx :reverb, room: 0.4 do
  with_fx :distortion do |distortion|
    
    live_loop :bass, sync: :time do
      use_synth :fm
      use_synth_defaults  release: 0.25
      tick
      
      
      pat1 = bools(1,1,0,1,0)    # really nice even groove
      # pat1 = bools(1,1,0,1,0,0)  # chunky breaklike groove
      #pat1 = bools(1,0,0,1,0,0,1,0)  #  really nice even
      
      #/ Manual root here /
      #root = :c3       # pat1 = bools(1,1,0,1,0)    # really nice even groove
      #root = :ds3     # pat1 = bools(1,1,0,1,0)    # really nice even groove
      #root = :as2     # pat1 = bools(1,1,0,1,0)    # really nice even groove
      
      #root = :f2      #pat1 = bools(1,0,0,1,0,0,1,0)  #  really nice even
      #root = :g2      #pat1 = bools(1,0,0,1,0,0,1,0)  #  really nice even
      
      
      / Auto root here /
      c=32
      root = knit(:c3,c*3, :as2,c).look
      #root = knit(:c3,c*6, :as2,c).look
      #root = knit(:f3,c, :g2,c, :gs2,c, :as2,c).look
      
      
      
      bnotes = knit(root,6,root+12,2)  # nice
      
      play bnotes.look if pat1.look
      sleep 0.125
      
      control distortion, distort: range(0.1,1, step: 0.025).reverse.look   # nice
      puts range(0.1,1, step: 0.025).reverse.look
    end
    
  end #end distortion
  #end #end reverb
  
  live_loop :chords, sync: :time do
    use_synth_defaults amp: 1.5, release: 0.125
    tick
    
    use_synth :dsaw   # nice
    
    
    my_chords = 4
    #                          # 1
    #                          # 2
    #                          # 3
    #                          # 4 nice main melody
    #                          # 5 chords
    #                          # 6 chords (not done)
    
    case my_chords
    when 0
      stop
      
    when 1
      cnotes = :ds4
      play [cnotes, nil, nil].look
      sleep 0.125
    when 2
      cnotes = :g3
      play [cnotes, nil, nil].look
      sleep 0.125
    when 3
      a = 16*2
      cnotes = knit(:ds4,a, :g3,a).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 4
      a = 16*2
      cnotes = knit(:ds4,a, :g3,a, :d4,a, :f3,a/2, :g3,a/2).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 5
      a = 16*2
      cnotes = knit([:ds4,:c5],a, [:g3,:ds5],a, [:d4,:as4],a, [:f3,:as4],a/2, [:g3,:as4],a/2).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 6
      a = 16*2
      #my_scale = [:ds4, :g3,:d4, :f3, :ds5, :as4]
      cnotes = knit(:ds4,a, :g3,a, :d4,a, :f3,a/2, :g3,a/2).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 8
      a = 16*2
      cnotes = knit([:ds4, :g5],a, [:ds4, :as5],a).look
      play [cnotes, nil, nil].look
      sleep 0.125
    end
  end
  
end #end reverb





live_loop :kick, sync: :time do
  #  stop
  tick
  c = range(80,90,step: 0.1).mirror.look
  sample :bd_fat, amp: 3, pan: 0.5 if bools(1,0).look
  sample :bd_haus, cutoff: c, amp: 3, pan: -0.5 if bools(1,0).look
  sleep 0.25
end

#end #end level

Example 2: Manual “root” changing

Run code below with
Line 28 " root = :c3"
Distortion works

Line 29 “root = :ds3” (remove #)
Rerun
Distortion stops working


# 220926 2332 distortion on fm bass and dsaw at top
# Saved 220926 2332

live_loop :time, delay: 0.01 do
  sleep 1
end



# Idea: Create a define with |pattern, root, notes, my_chords |


with_fx :reverb, room: 0.4 do
  with_fx :distortion do |distortion|
    
    live_loop :bass, sync: :time do
      use_synth :fm
      use_synth_defaults  release: 0.25
      tick
      
      
      pat1 = bools(1,1,0,1,0)    # really nice even groove
      # pat1 = bools(1,1,0,1,0,0)  # chunky breaklike groove
      #pat1 = bools(1,0,0,1,0,0,1,0)  #  really nice even
      
      #/ Manual root here /
      root = :c3       # pat1 = bools(1,1,0,1,0)    # really nice even groove
      #root = :ds3     # pat1 = bools(1,1,0,1,0)    # really nice even groove
      #root = :as2     # pat1 = bools(1,1,0,1,0)    # really nice even groove
      
      #root = :f2      #pat1 = bools(1,0,0,1,0,0,1,0)  #  really nice even
      #root = :g2      #pat1 = bools(1,0,0,1,0,0,1,0)  #  really nice even
      
      
      #/ Auto root here /
      #c=32
      #root = knit(:c3,c*3, :as2,c).look
      #root = knit(:c3,c*6, :as2,c).look
      #root = knit(:f3,c, :g2,c, :gs2,c, :as2,c).look
      
      
      
      bnotes = knit(root,6,root+12,2)  # nice
      
      play bnotes.look if pat1.look
      sleep 0.125
      
      control distortion, distort: range(0.1,1, step: 0.025).reverse.look   # nice
      puts range(0.1,1, step: 0.025).reverse.look
    end
    
  end #end distortion
  #end #end reverb
  
  live_loop :chords, sync: :time do
    use_synth_defaults amp: 1.5, release: 0.125
    tick
    
    use_synth :dsaw   # nice
    
    
    my_chords = 4
    #                          # 1
    #                          # 2
    #                          # 3
    #                          # 4 nice main melody
    #                          # 5 chords
    #                          # 6 chords (not done)
    
    case my_chords
    when 0
      stop
      
    when 1
      cnotes = :ds4
      play [cnotes, nil, nil].look
      sleep 0.125
    when 2
      cnotes = :g3
      play [cnotes, nil, nil].look
      sleep 0.125
    when 3
      a = 16*2
      cnotes = knit(:ds4,a, :g3,a).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 4
      a = 16*2
      cnotes = knit(:ds4,a, :g3,a, :d4,a, :f3,a/2, :g3,a/2).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 5
      a = 16*2
      cnotes = knit([:ds4,:c5],a, [:g3,:ds5],a, [:d4,:as4],a, [:f3,:as4],a/2, [:g3,:as4],a/2).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 6
      a = 16*2
      #my_scale = [:ds4, :g3,:d4, :f3, :ds5, :as4]
      cnotes = knit(:ds4,a, :g3,a, :d4,a, :f3,a/2, :g3,a/2).look
      play [cnotes, nil, nil].look
      sleep 0.125
    when 8
      a = 16*2
      cnotes = knit([:ds4, :g5],a, [:ds4, :as5],a).look
      play [cnotes, nil, nil].look
      sleep 0.125
    end
  end
  
end #end reverb





live_loop :kick, sync: :time do
  #  stop
  tick
  c = range(80,90,step: 0.1).mirror.look
  sample :bd_fat, amp: 3, pan: 0.5 if bools(1,0).look
  sample :bd_haus, cutoff: c, amp: 3, pan: -0.5 if bools(1,0).look
  sleep 0.25
end

#end #end level

1 Like

This has been discussed before. See all of this thread (over 3 years) Hope it gives you some help.

2 Likes