Song of the new gen

use_bpm 92

live_loop :chords do
use_synth :hollow

play chord(:e3, :minor7), release: 3, amp: 1.2
sleep 2

play chord(:c3, :major7), release: 3, amp: 1.1
sleep 2

play chord(:g3, :major7), release: 3, amp: 1.1
sleep 2

play chord(:d3, :sus2), release: 3, amp: 1.1
sleep 2
end

live_loop :drums do
sample :bd_haus, amp: 2
sleep 1

sample :sn_dolf, amp: 1
sleep 1

sample :bd_haus, amp: 1.8
sleep 1

sample :sn_dolf, amp: 1
sleep 1
end

live_loop :hats do
sample :drum_cymbal_closed, amp: 0.4
sleep 0.25
end

live_loop :glitch do
sleep 4
sample :vinyl_backspin, rate: 0.8, amp: 0.6
end

1 Like

Love the live_loop :glitch

Nice, mellow groove!

FYI, code is easier to share if you wrap it in pairs of three backticks (`).

Like this:


use_bpm 92

live_loop :chords do
use_synth :hollow

play chord(:e3, :minor7), release: 3, amp: 1.2
sleep 2

play chord(:c3, :major7), release: 3, amp: 1.1
sleep 2

play chord(:g3, :major7), release: 3, amp: 1.1
sleep 2

play chord(:d3, :sus2), release: 3, amp: 1.1
sleep 2
end

live_loop :drums do
sample :bd_haus, amp: 2
sleep 1

sample :sn_dolf, amp: 1
sleep 1

sample :bd_haus, amp: 1.8
sleep 1

sample :sn_dolf, amp: 1
sleep 1
end

live_loop :hats do
sample :drum_cymbal_closed, amp: 0.4
sleep 0.25
end

live_loop :glitch do
sleep 4
sample :vinyl_backspin, rate: 0.8, amp: 0.6
end
Hello, I have made some modifications to the code. I also used the ZynAddSubFX synthesizer.
# ZynAddSubFx Channel 1 net_wisdon 50 Aura, Channel 2 and 3 SynthPiano, 32 Analog Piano 1, 34 Analog Piano 2
use_bpm 92
midi_cc 7,85,channel: 1
midi_cc 10,27,channel: 1
midi_cc 7,90,channel: 2
midi_cc 10,100,channel: 2
midi_cc 7,90,channel: 3
midi_cc 10,100,channel: 3

# ONN
define :onn do |v=0|
  live_loop :onn do
    if v == 0 then
      midi_all_notes_off
      stop
    end
    cue :d
    sleep 4
    cue :ya
    sleep 4
  end
end

# CHORDS
define :chords do |v=0|
  
  live_loop :chords do
    if v == 0 then
      midi_all_notes_off
      stop
    end
    sync :ya
    4.times do
      midi_note_on chord(:e3, :minor7).tick, release: 1.5, amp: 0.8
    end
    sleep 1.5
    4.times do
      midi_note_off chord(:e3,:minor7).tick
    end
    sleep 0.5
    
    4.times do
      midi_note_on chord(:c3, :major7).tick, release: 1.5, amp: 0.8
    end
    sleep 1.5
    4.times do
      midi_note_off chord(:c3,:major7).tick
    end
    sleep 0.5
    
    4.times do
      midi_note_on chord(:g3, :major7).tick, release: 1.5, amp: 0.8
    end
    sleep 1.5
    4.times do
      midi_note_off chord(:g3,:major7).tick
    end
    sleep 0.5
    
    3.times do
      midi_note_on chord(:d3, :sus2).tick, release: 1.5, amp: 0.8
    end
    sleep 1.5
    3.times do
      midi_note_off chord(:d3,:sus2).tick
    end
    sleep 0.5
    
  end
  
end

# ARPEGIOS
define :arpegios do |v=0|
  
  live_loop :arpegios do
    if v == 0 then
      midi_all_notes_off
      stop
    end
    sync :ya
    use_synth :bass_foundation
    4.times do
      play chord(:e3, :minor7).tick, release: 2, amp: 0.4
      sleep 0.5
    end
    
    4.times do
      play chord(:c3, :major7).tick, release: 2, amp: 0.4
      sleep 0.5
    end
    
    4.times do
      play chord(:g3, :major7).tick, release: 2, amp: 0.4
      sleep 0.5
    end
    
    4.times do
      play chord(:d3, :sus2).tick, release: 2, amp: 0.4
      sleep 0.4995
    end
    
  end
  
end

# DRUMS
define :drums do |v=0|
  
  live_loop :drums do
    if v == 0 then
      stop
    end
    sync :d
    sample :bd_haus, amp: 2
    sleep 1
    
    sample :sn_dolf, amp: 1
    sleep 1
    
    sample :bd_haus, amp: 1.8
    sleep 1
    sync :ya
    sample :sn_dolf, amp: 1
    sleep 1
  end
  
  live_loop :hats do
    if v == 0 then
      stop
    end
    sync :ya
    16.times do
      sample :drum_cymbal_closed, amp: 0.4
      sleep 0.25
    end
  end
  
  live_loop :glitch do
    if v == 0 then
      stop
    end
    sync :ya
    sleep 4
    sample :vinyl_backspin, rate: 0.8, amp: 0.6
  end
end

# MELODIA
melodia = []
escala = scale(:g3,:major_pentatonic,num_octaves: 1)

define :melodia do |v=0|
  use_random_seed 321
  27.times do |i|
    melodia[i]= escala.choose
  end
  
  live_loop :pad do
    #stop
    sync :ya
    2.times do
      9.times do |i|
        c = [2,3].choose
        a = melodia [i+v]
        midi_note_on a, channel: c
        midi_cc 65,[0,25,50,100].choose ,channel: c
        sleep 1
        sleep 0.5 if spread(5,16)
        midi_note_off a,channel: c
      end
      sleep 2
    end
    melodia([9,0,9,0,18,0,18,0].tick)
  end
end


onn(1)
chords(1)
sleep 8
arpegios(1)
sleep 8
drums(1)
sleep 16
melodia()

1 Like