Skip to content

Commit

Permalink
Merge branch 'stereo'
Browse files Browse the repository at this point in the history
  • Loading branch information
dansgithubuser committed Aug 17, 2024
2 parents 1320692 + b43ac56 commit 19fbdd5
Show file tree
Hide file tree
Showing 48 changed files with 1,316 additions and 390 deletions.
Binary file modified assets/midis/audiobro2.mid
Binary file not shown.
Binary file modified assets/midis/audiobro3.mid
Binary file not shown.
Binary file modified assets/midis/audiobro4.mid
Binary file not shown.
Binary file modified assets/midis/audiobro5.mid
Binary file not shown.
Binary file modified assets/musescore/audiobro2.mscz
Binary file not shown.
Binary file modified assets/musescore/audiobro3.mscz
Binary file not shown.
Binary file modified assets/musescore/audiobro4.mscz
Binary file not shown.
Binary file modified assets/musescore/audiobro5.mscz
Binary file not shown.
Binary file modified assets/sounds/pitched/bassoon/47.flac
Binary file not shown.
50 changes: 30 additions & 20 deletions assets/systems/audiobro1.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,17 +57,31 @@ def connect(self, other):
Lforacle('ghost_lfo_i20', 0.40000, 0.3, 0.3, 'i2', 0, '%')
Lforacle('ghost_lfo_i30', 0.31221, 0.1, 0.1, 'i3', 0, '%')
Lforacle('ghost_lfo_i03', 0.12219, 0.1, 0.1, 'i0', 3, '%')
ghost_pan_osc = dlal.Osc('tri', 1/8)
ghost_pan_oracle = dlal.Oracle(m=90, format=('set', ['%', 10]))
Voice('bell', 'sonic')
Voice('goon', 'sonic')
Voice('hat', 'buf')
hat_osc = dlal.Osc(wave='noise', freq='0.12141')
hat_osc = dlal.Osc(wave='sin', freq='60.12141')
hat_oracle = dlal.Oracle(m=0.04, b=0.01, format=('offset', [6, '%']))
liner = dlal.Liner()
lpf = dlal.Lpf()
reverb = dlal.Reverb()
buf = dlal.Buf()
mixer = dlal.subsystem.Mixer(
[
{'gain': 1.4, 'pan': [ 0, 10]}, # drum
{'gain': 1.2, 'pan': [ -60, 10]}, # piano
{'gain': 1.4, 'pan': [ 0, 10]}, # bass
{'gain': 1.4, 'pan': [ 0, 10]}, # ghost
{'gain': 1.4, 'pan': [ 30, 10]}, # bell
{'gain': 1.0, 'pan': [ -45, 10]}, # goon
{'gain': 1.4, 'pan': [ 0, 10]}, # hat
],
post_mix_extra={
'lpf': ('lpf', [0.9]),
},
reverb=1,
sample_rate=44100,
)
tape = dlal.Tape(1 << 17)
gain = dlal.Gain()

voices = [
drum,
Expand All @@ -87,14 +101,14 @@ def connect(self, other):
ghost_lfo_i20.add_to(driver)
ghost_lfo_i30.add_to(driver)
ghost_lfo_i03.add_to(driver)
driver.add(ghost_pan_osc)
driver.add(ghost_pan_oracle)
driver.add(hat_osc)
driver.add(hat_oracle)
driver.add(liner)
driver.add(lpf)
driver.add(reverb)
driver.add(buf)
for i in mixer.components.values():
driver.add(i)
driver.add(tape)
driver.add(gain)

# commands
liner.load('assets/midis/audiobro1.mid', immediate=True)
Expand Down Expand Up @@ -246,10 +260,6 @@ def connect(self, other):
hat.buf.clip(0.24, 54)
hat.buf.amplify(0.6, 54)

lpf.set(0.9)
reverb.set(1)
gain.set(0)

# connect
piano.sonic.connect(piano.buf_2)
piano.lfo.connect(piano.buf_1)
Expand All @@ -265,23 +275,23 @@ def connect(self, other):
ghost.oracle.connect(ghost.sonic)
ghost.sonic.connect(ghost.buf)
ghost.lim.connect(ghost.buf)
for voice in voices:
for i_voice, voice in enumerate(voices):
for i in voice.input:
liner.connect(i)
for i in voice.output:
i.connect(buf)
i.connect(mixer[i_voice])
liner.connect(ghost.midman)
ghost.midman.connect(ghost.rhymel)
#ghost_lfo_i20.connect(ghost.sonic)
#ghost_lfo_i30.connect(ghost.sonic)
#ghost_lfo_i03.connect(ghost.sonic)
ghost_pan_osc.connect(ghost_pan_oracle)
ghost_pan_oracle.connect(mixer.channels[3].pan)
hat_osc.connect(hat_oracle)
hat_oracle.connect(liner)
lpf.connect(buf)
reverb.connect(buf)
buf.connect(tape)
gain.connect(buf)
buf.connect(driver)
mixer.lpf.connect(mixer.buf)
mixer.buf.connect(tape)
mixer.buf.connect(driver)

# setup
dlal.typical_setup(duration=216)
184 changes: 102 additions & 82 deletions assets/systems/audiobro2.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ def __init__(self, name, components):
Voice('drum', 'buf')
Voice('shaker1', 'buf')
Voice('shaker2', 'buf')
Voice('burgers', 'buf')
Voice('burgers1', 'buf')
Voice('burgers2', 'buf')
Voice('ghost', 'sonic')
Voice('bass', 'sonic')
Voice('arp', 'arp', 'sonic')
Voice('harp1', 'sonic')
Voice('harp2', 'sonic')
sample_rate = 44100
sweep = 48 / 12
m = 220 / (sample_rate/2) * 2 * math.pi
b = -1 * m
Subsystem('sweep', {
Expand All @@ -67,44 +67,68 @@ def __init__(self, name, components):
'train': ('osc', ['saw'], {}),
'train2': ('osc', ['saw'], {'bend': 1.0081}),
'train_adsr': ('adsr', [5e-8, 1, 1, 5e-5], {}),
'train_oracle': ('oracle', [], {'m': 0.2, 'format': ('set', ['%']), 'cv_i': 1}),
'train_oracle': ('oracle', [], {'m': 0.3, 'format': ('set', ['%']), 'cv_i': 1}),
'train_gain': ('gain', [], {}),
'iir1': ('iir', [], {}),
'iir2': ('iir', [], {}),
'iir3': ('iir', [], {}),
'iir4': ('iir', [], {}),
'delay': ('delay', [22050], {'gain_i': 1}),
'pan_osc': ('osc', ['tri', 1/8], {}),
'pan_oracle': ('oracle', [], {'m': 90, 'format': ('set', ['%', 10])}),
'pan': ('pan', [], {}),
'buf': ('buf', [], {}),
})
mm_delay = 0
mm_bass = 1
mm_delay1 = 0
mm_delay2 = 1
mm_bass = 2
midman = dlal.Midman([
# E - echo on
([{'nibble': 0x90}, 0x40], mm_delay, 'gain_x', 1),
# F - echo off
([{'nibble': 0x90}, 0x41], mm_delay, 'gain_x', 0),
# E - 120 echo on
([{'nibble': 0x90}, 0x40], mm_delay1, 'gain_x', 1),
# F - 120 echo off
([{'nibble': 0x90}, 0x41], mm_delay1, 'gain_x', 0),
# F# - 120 echo medium
([{'nibble': 0x90}, 0x42], mm_delay1, 'gain_x', 0.5),
# G - loud bass
([{'nibble': 0x90}, 0x43], mm_bass, 'o', 0, 0.5),
# A - quiet bass
([{'nibble': 0x90}, 0x45], mm_bass, 'o', 0, 0.4),
# B - short echo
([{'nibble': 0x90}, 0x47], mm_delay, 'resize', 11025),
# C - long echo
([{'nibble': 0x90}, 0x48], mm_delay, 'resize', 13230),
# B - 100 echo off
([{'nibble': 0x90}, 0x47], mm_delay2, 'gain_x', 0),
# C - 100 echo on
([{'nibble': 0x90}, 0x48], mm_delay2, 'gain_x', 1),
])
liner = dlal.Liner()
lpf = dlal.Lpf()
reverb = dlal.Reverb()
delay = dlal.Delay(13230, gain_y=0.3, gain_i=1)
lim = dlal.Lim(hard=1, soft=0.9, soft_gain=0.3)
buf = dlal.Buf()
mixer = dlal.subsystem.Mixer(
[
{'gain': 1.4, 'pan': [ 0, 10]}, # drum
{'gain': 1.4, 'pan': [ 0, 10]}, # shaker1
{'gain': 1.4, 'pan': [ 0, 10]}, # shaker2
{'gain': 1.4, 'pan': [ -15, 10]}, # burgers1
{'gain': 1.4, 'pan': [ 15, 10]}, # burgers2
{'gain': 1.4, 'pan': [ -45, 10]}, # ghost
{'gain': 1.4, 'pan': [ 0, 10]}, # bass
{'gain': 1.4, 'pan': [ 0, 10]}, # arp
{'gain': 1.4, 'pan': [ -30, 10]}, # harp1
{'gain': 1.4, 'pan': [ 30, 10]}, # harp2
],
post_mix_extra={
'lpf': ('lpf', [0.9]),
'delay1': ('delay', [11025], {'gain_y': 0.3, 'gain_i': 1, 'smooth': 0.8, 'gain_x': 1}),
'delay2': ('delay', [13230], {'gain_y': 0.3, 'gain_i': 1, 'smooth': 0.8, 'gain_x': 0}),
},
reverb=0.3,
lim=[1, 0.9, 0.3],
sample_rate=44100,
)
tape = dlal.Tape(1 << 17)

voices = [
drum,
shaker1,
shaker2,
burgers,
burgers1,
burgers2,
ghost,
bass,
arp,
Expand All @@ -121,11 +145,8 @@ def __init__(self, name, components):
audio.add(i)
audio.add(midman)
audio.add(liner)
audio.add(lpf)
audio.add(reverb)
audio.add(delay)
audio.add(lim)
audio.add(buf)
for i in mixer.components.values():
audio.add(i)
audio.add(tape)

# commands
Expand Down Expand Up @@ -180,52 +201,53 @@ def __init__(self, name, components):
shaker2.buf.load('assets/sounds/drum/shaker2.wav', 82)
shaker2.buf.amplify(0.5, 82)

burgers.buf.load('assets/local/burgers/people.wav', 60)
burgers.buf.amplify(8, 60)
burgers.buf.load('assets/local/burgers/pickle.wav', 62)
burgers.buf.amplify(8, 62)
burgers.buf.load('assets/local/burgers/plate.wav', 64)
burgers.buf.amplify(8, 64)
burgers.buf.load('assets/local/burgers/plate2.wav', 63)
burgers.buf.amplify(8, 63)
burgers.buf.load('assets/local/burgers/mm.wav', 65)
burgers.buf.amplify(8, 65)
burgers.buf.load('assets/local/burgers/think.wav', 67)
burgers.buf.amplify(4, 67)
burgers.buf.load('assets/local/burgers/legs.wav', 69)
burgers.buf.amplify(8, 69)
for burgers in [burgers1, burgers2]:
burgers.buf.load('assets/local/burgers/people.wav', 60)
burgers.buf.amplify(8, 60)
burgers.buf.load('assets/local/burgers/pickle.wav', 62)
burgers.buf.amplify(8, 62)
burgers.buf.load('assets/local/burgers/plate.wav', 64)
burgers.buf.amplify(8, 64)
burgers.buf.load('assets/local/burgers/plate2.wav', 63)
burgers.buf.amplify(8, 63)
burgers.buf.load('assets/local/burgers/mm.wav', 65)
burgers.buf.amplify(8, 65)
burgers.buf.load('assets/local/burgers/think.wav', 67)
burgers.buf.amplify(4, 67)
burgers.buf.load('assets/local/burgers/legs.wav', 69)
burgers.buf.amplify(8, 69)

burgers.buf.load('assets/local/burgers/people.wav', 72) # people
burgers.buf.crop(0.4540, 0.7968, 72)
burgers.buf.amplify(8, 72)
burgers.buf.sound_params(72, repeat=True, accel=1.2, cresc=0.8)
burgers.buf.load('assets/local/burgers/people.wav', 74) # think
burgers.buf.crop(0.9103, 1.2137, 74)
burgers.buf.amplify(8, 74)
burgers.buf.sound_params(74, repeat=True, accel=0.99, cresc=0.8)
burgers.buf.load('assets/local/burgers/people.wav', 76) # burgers
burgers.buf.crop(1.581, 1.997, 76)
burgers.buf.amplify(8, 76)
burgers.buf.sound_params(76, repeat=True, accel=0.5, cresc=0.9)
burgers.buf.load('assets/local/burgers/pickle.wav', 77) # pickle
burgers.buf.crop(0.3377, 0.5736, 77)
burgers.buf.amplify(8, 77)
burgers.buf.sound_params(77, repeat=True, accel=9.0, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 79) # people
burgers.buf.crop(0.4540, 0.7968, 79)
burgers.buf.amplify(8, 79)
burgers.buf.sound_params(79, repeat=True, accel=0.6, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 81) # think
burgers.buf.crop(0.9103, 1.2137, 81)
burgers.buf.amplify(8, 81)
burgers.buf.sound_params(81, repeat=True, accel=4.0, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 83) # burgers
burgers.buf.crop(1.581, 1.997, 83)
burgers.buf.amplify(8, 83)
burgers.buf.sound_params(83, repeat=True, accel=0.9, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 84) # they haven't been here
burgers.buf.crop(2.3, 3.2, 84)
burgers.buf.amplify(8, 84)
burgers.buf.load('assets/local/burgers/people.wav', 72) # people
burgers.buf.crop(0.4540, 0.7968, 72)
burgers.buf.amplify(8, 72)
burgers.buf.sound_params(72, repeat=True, accel=1.2, cresc=0.8)
burgers.buf.load('assets/local/burgers/people.wav', 74) # think
burgers.buf.crop(0.9103, 1.2137, 74)
burgers.buf.amplify(8, 74)
burgers.buf.sound_params(74, repeat=True, accel=0.99, cresc=0.8)
burgers.buf.load('assets/local/burgers/people.wav', 76) # burgers
burgers.buf.crop(1.581, 1.997, 76)
burgers.buf.amplify(8, 76)
burgers.buf.sound_params(76, repeat=True, accel=0.5, cresc=0.9)
burgers.buf.load('assets/local/burgers/pickle.wav', 77) # pickle
burgers.buf.crop(0.3377, 0.5736, 77)
burgers.buf.amplify(8, 77)
burgers.buf.sound_params(77, repeat=True, accel=9.0, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 79) # people
burgers.buf.crop(0.4540, 0.7968, 79)
burgers.buf.amplify(8, 79)
burgers.buf.sound_params(79, repeat=True, accel=0.6, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 81) # think
burgers.buf.crop(0.9103, 1.2137, 81)
burgers.buf.amplify(8, 81)
burgers.buf.sound_params(81, repeat=True, accel=4.0, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 83) # burgers
burgers.buf.crop(1.581, 1.997, 83)
burgers.buf.amplify(8, 83)
burgers.buf.sound_params(83, repeat=True, accel=0.9, cresc=0.9)
burgers.buf.load('assets/local/burgers/people.wav', 84) # they haven't been here
burgers.buf.crop(2.3, 3.2, 84)
burgers.buf.amplify(8, 84)

ghost.sonic.from_json({
"0": {
Expand Down Expand Up @@ -322,16 +344,13 @@ def __init__(self, name, components):
},
})

lpf.set(0.9)
reverb.set(0.3)

# connect
arp.arp.connect(arp.sonic)
for voice in voices:
for i_voice, voice in enumerate(voices):
for i in voice.input:
liner.connect(i)
for i in voice.output:
i.connect(buf)
i.connect(mixer[i_voice])
dlal.connect(
liner,
[sweep.midi,
Expand All @@ -353,18 +372,19 @@ def __init__(self, name, components):
'<+', sweep.train,
'<+', sweep.train2,
'<+', sweep.train_gain, sweep.train_oracle, sweep.train_adsr,
'<+', sweep.pan, sweep.pan_oracle, sweep.pan_osc,
],
buf,
mixer.buf,
)
liner.connect(midman)
midman.connect(delay)
midman.connect(mixer.delay1)
midman.connect(mixer.delay2)
midman.connect(bass.sonic)
lpf.connect(buf)
reverb.connect(buf)
delay.connect(buf)
lim.connect(buf)
buf.connect(tape)
buf.connect(audio)
mixer.lpf.connect(mixer.buf)
mixer.delay1.connect(mixer.buf)
mixer.delay2.connect(mixer.buf)
mixer.buf.connect(tape)
mixer.buf.connect(audio)

# setup
if args.start:
Expand Down
Loading

0 comments on commit 19fbdd5

Please sign in to comment.