Tritone Paradox revisited

Now that I’ve coded the basic idea of how the paradox works, I am looking to fine tune the code to make the sounds smoother.

For the effect to work best, I should set the synth to a sine wave.

Three extra octaves

Adding these octaves would make the switch between octaves smoother.

To add new octaves, I need to look at the MIDI numbers and the respective notes.

https://www.codeguru.com/columns/dotnet/making-music-with-midi-and-c.html

I inputed:

12, 18, 24, 30, 36, 42, 48, 54, 60, 66

These are my starting notes.

They will be incremented with time.

Smaller increments

This is simple to do because I am using variables so I only need to change one value. And it applies for all the notes.

I changed it to 0.0155

Sustain Time

This is for the initial tone played. It needs some maths. The default bpm is 60 so one beat takes 60/60=1 second.

Easy.

Now I can do this indefinitely but Soundclloud has a limit on how many minutes I can upload. I will stick to 60 now.

The Decay time is hard coded to 50, so I will keep it 50

It all sums up to 110 seconds

Code

use_synth :sine

my notes

l=12
tritone_l=18
k=24
tritone_k=30
s=36
tritone_s=42
j=48
tritone_j=54
i=60
tritone_i=66
sustain =60

start the notes

note1=play s, attack: 0.05, decay: 50, sustain: sustain
note2=play j, attack: 0.05, decay: 50, sustain: sustain
note3=play i, attack: 0.05, decay: 50, sustain: sustain
note4=play l, attack: 0.05, decay: 50, sustain: sustain
note5=play k, attack: 0.05, decay: 50, sustain: sustain

play tritones

tritone_1 =play tritone_s, attack: 0.05, decay: 50, sustain: sustain
tritone_2 =play tritone_j, attack: 0.05, decay: 50, sustain: sustain
tritone_3 =play tritone_i, attack: 0.05, decay: 50, sustain: sustain
tritone_4 =play tritone_l, attack: 0.05, decay: 50, sustain: sustain
tritone_5 =play tritone_k, attack: 0.05, decay: 50, sustain: sustain

sleep time

m=0.225

increment

increment=0.0155

live_loop :shift do
### we calculate by how much the given note is shifted
s+=increment
tritone_s+=increment
j+=increment
tritone_j+=increment
i+=increment
tritone_i+=increment
l+=increment
tritone_l+=increment
k+=increment
tritone_k+=increment
### we a pply te shift
control note1, note: s
control tritone_1, note: tritone_s

control note2, note: j
control tritone_2, note: tritone_j

control note3, note: i
control tritone_3, note: tritone_i

control note4, note: l
control tritone_4, note: tritone_l

control note5, note: k
control tritone_5, note: tritone_k

## never forget to sleep
sleep m
### we set boundaries
if s>72
s=24
end
if j>72
j=24
end
if i> 72
i=24
end
if l> 72
l=24
end
if k> 72
k=24
end
if tritone_s> 78
tritone_s=30
end
if tritone_j> 78
tritone_j=30
end
if tritone_i> 78
tritone_i=30
end
if tritone_l> 78
tritone_l=30
end
if tritone_k> 78
tritone_k=30
end

end

Leave a comment

Design a site like this with WordPress.com
Get started