# Song of the new gen

**URL:** <https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991>\
**Category:** Creations & Ideas\
**Created:** [May 9, 2026, 1:47pm UTC](https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991 "2026-05-09T13:47:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![alfieloaderuk](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@alfieloaderuk](https://in-thread.sonic-pi.net/u/alfieloaderuk)\
**Post date:** [May 9, 2026, 1:47pm UTC](https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991/1 "2026-05-09T13:47:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![aurelien](https://avatars.discourse-cdn.com/v4/letter/a/67e7ee/32.png) [@aurelien](https://in-thread.sonic-pi.net/u/aurelien)\
**Post date:** [May 9, 2026, 2:03pm UTC](https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991/2 "2026-05-09T14:03:10Z")

</div>

Love the live\_loop :glitch

---

<div class="post-metadata">

**Author:** ![HarryLeBlanc](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/harryleblanc/32/2813_2.png) [@HarryLeBlanc](https://in-thread.sonic-pi.net/u/HarryLeBlanc)\
**Post date:** [May 11, 2026, 12:28pm UTC](https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991/3 "2026-05-11T12:28:21Z")

</div>

> [@alfieloaderuk](#):
>
> 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

Nice, mellow groove!

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

Like this:

```ruby

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

```

---

<div class="post-metadata">

**Author:** ![Raul](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/raul/32/265_2.png) [@Raul](https://in-thread.sonic-pi.net/u/Raul)\
**Post date:** [November 1, 2026, 4:19pm UTC](https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991/5 "2026-11-01T16:19:51Z")

</div>

```ruby
Hello, I have made some modifications to the code. I also used the ZynAddSubFX synthesizer.

```

[![](https://img.youtube.com/vi/d7kETpeQ8n8/maxresdefault.jpg "Hollow Night") ](https://www.youtube.com/watch?v=d7kETpeQ8n8)

---

<div class="post-metadata">

**Author:** ![Raul](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/raul/32/265_2.png) [@Raul](https://in-thread.sonic-pi.net/u/Raul)\
**Post date:** [November 1, 2026, 4:26pm UTC](https://in-thread.sonic-pi.net/t/song-of-the-new-gen/9991/6 "2026-11-01T16:26:30Z")

</div>

```ruby
# 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()

```
