Skip to content
Snippets Groups Projects
Commit b8c39e47 authored by moon2's avatar moon2 :speech_balloon:
Browse files

shoegaze: updated to new blm api

parent 65f14260
No related branches found
No related tags found
No related merge requests found
...@@ -13,7 +13,7 @@ import bl00mbox ...@@ -13,7 +13,7 @@ import bl00mbox
import leds import leds
import random import random
import math
import sys_display import sys_display
chords = [ chords = [
...@@ -52,56 +52,61 @@ class ShoegazeApp(Application): ...@@ -52,56 +52,61 @@ class ShoegazeApp(Application):
def _build_synth(self) -> None: def _build_synth(self) -> None:
if self.blm is None: if self.blm is None:
self.blm = bl00mbox.Channel("shoegaze") self.blm = bl00mbox.Channel("shoegaze")
self.main_lp = self.blm.new(bl00mbox.plugins.lowpass) self.main_fuzz = self.blm.new(bl00mbox.plugins.distortion)
self.main_fuzz = self.blm.new(bl00mbox.patches.fuzz)
self.main_mixer = self.blm.new(bl00mbox.plugins.mixer, 2) self.main_mixer = self.blm.new(bl00mbox.plugins.mixer, 2)
self.git_strings = [ self.git_strings = [
self.blm.new(bl00mbox.patches.karplus_strong) for i in range(4) self.blm.new(bl00mbox.patches.karplus_strong) for i in range(4)
] ]
self.bass_string = self.blm.new(bl00mbox.patches.karplus_strong) self.bass_string = self.blm.new(bl00mbox.patches.karplus_strong)
self.git_mixer = self.blm.new(bl00mbox.plugins.mixer, 4) self.git_mixer = self.blm.new(bl00mbox.plugins.mixer, 4)
self.git_fuzz = self.blm.new(bl00mbox.patches.fuzz) # self.git_mixer.signals.block_dc.switch.ON = True
self.git_delay = self.blm.new(bl00mbox.plugins.delay) # self.main_mixer.signals.block_dc.switch.ON = True
self.git_lp = self.blm.new(bl00mbox.plugins.lowpass) self.git_fuzz = self.blm.new(bl00mbox.plugins.distortion)
self.bass_lp = self.blm.new(bl00mbox.plugins.lowpass) self.git_delay = self.blm.new(bl00mbox.plugins.delay_static)
self.git_mixer.signals.input0 = self.git_strings[0].signals.output self.git_lp = self.blm.new(bl00mbox.plugins.filter)
self.git_mixer.signals.input1 = self.git_strings[1].signals.output self.bass_lp = self.blm.new(bl00mbox.plugins.filter)
self.git_mixer.signals.input2 = self.git_strings[2].signals.output self.main_lp = self.blm.new(bl00mbox.plugins.filter)
self.git_mixer.signals.input3 = self.git_strings[3].signals.output self.git_lp.signals.cutoff.freq = 700
self.git_lp.signals.reso = 10000
self.bass_lp.signals.cutoff.freq = 400
self.bass_lp.signals.reso = 12000
self.main_lp.signals.cutoff.freq = 2500
self.main_lp.signals.reso = 8000
for i in range(4):
self.git_mixer.signals.input[i] = self.git_strings[i].signals.output
self.git_strings[i].signals.reso = -2
self.git_strings[i].signals.decay = 3000
self.bass_string.signals.reso = -2
self.bass_string.signals.decay = 1000
self.git_mixer.signals.output = self.git_lp.signals.input self.git_mixer.signals.output = self.git_lp.signals.input
self.git_fuzz._special_sauce = 2
self.git_fuzz.signals.input = self.git_lp.signals.output self.git_fuzz.signals.input = self.git_lp.signals.output
self.main_mixer.signals.input[0] = self.git_delay.signals.output
self.bass_lp.signals.input = self.bass_string.signals.output self.bass_lp.signals.input = self.bass_string.signals.output
self.main_mixer.signals.input1 = self.bass_lp.signals.output self.main_mixer.signals.input[1] = self.bass_lp.signals.output
self.main_mixer.signals.input_gain[1].dB = -3
self.main_fuzz._special_sauce = 2
self.main_fuzz.signals.input = self.main_mixer.signals.output self.main_fuzz.signals.input = self.main_mixer.signals.output
self.main_fuzz.signals.output = self.main_lp.signals.input self.main_fuzz.signals.output = self.main_lp.signals.input
self.main_lp.signals.output = self.blm.mixer self.main_lp.signals.output = self.blm.mixer
self.git_delay.signals.input = self.git_fuzz.signals.output
self.git_delay.signals.time = 200 self.git_delay.signals.time = 200
self.git_delay.signals.dry_vol = 32767 self.git_delay.signals.dry_vol = 32767
self.git_delay.signals.level = 16767
self.git_delay.signals.feedback = 27000 self.git_delay.signals.feedback = 27000
self.git_fuzz.intensity = 8 self.main_fuzz.curve_set_power(8, 32000, 1500)
self.git_fuzz.gate = 1500 self.git_fuzz.curve_set_power(8, 12000, 1500)
self.git_fuzz.volume = 12000
self.git_lp.signals.freq = 700
self.git_lp.signals.reso = 2500
self.bass_lp.signals.freq = 400
self.bass_lp.signals.reso = 3000
self.main_fuzz.intensity = 8
self.main_fuzz.gate = 1500
self.main_fuzz.volume = 32000
self.main_mixer.signals.gain = 2000 self.main_mixer.signals.gain = 2000
self.main_lp.signals.reso = 2000
self.bass_lp.signals.gain = 32767 self.bass_lp.signals.gain = 32767
self.git_lp.signals.gain = 32767 self.git_lp.signals.gain = 32767
self.main_lp.signals.freq = 2500
self.main_lp.signals.gain = 2000 self.main_lp.signals.gain = 2000
self.git_mixer.signals.gain = 4000 self.git_mixer.signals.gain = 4000
self.main_lp.signals.input = self.main_fuzz.signals.output self.main_lp.signals.input = self.main_fuzz.signals.output
...@@ -111,10 +116,9 @@ class ShoegazeApp(Application): ...@@ -111,10 +116,9 @@ class ShoegazeApp(Application):
if self.blm is None: if self.blm is None:
return return
if self.delay_on: if self.delay_on:
self.git_delay.signals.input = self.git_fuzz.signals.output self.git_delay.signals.level = 16767
self.main_mixer.signals.input0 = self.git_delay.signals.output
else: else:
self.main_mixer.signals.input0 = self.git_fuzz.signals.output self.git_delay.signals.level = 0
def _try_load_settings(self, path): def _try_load_settings(self, path):
try: try:
...@@ -153,7 +157,7 @@ class ShoegazeApp(Application): ...@@ -153,7 +157,7 @@ class ShoegazeApp(Application):
self.chord_index = i self.chord_index = i
if self.organ_on and self._organ_chords[i] is not None: if self.organ_on and self._organ_chords[i] is not None:
tmp = self._organ_chords[i] tmp = self._organ_chords[i]
tmp[0] -= 12 # tmp[0] -= 12
self.chord = tmp self.chord = tmp
else: else:
self.chord = chords[i] self.chord = chords[i]
...@@ -247,14 +251,12 @@ class ShoegazeApp(Application): ...@@ -247,14 +251,12 @@ class ShoegazeApp(Application):
if petals[i].whole.pressed: if petals[i].whole.pressed:
self._git_string_tuning[k] = self.chord[k] - 12 self._git_string_tuning[k] = self.chord[k] - 12
self.git_strings[k].signals.pitch.tone = self._git_string_tuning[k] self.git_strings[k].signals.pitch.tone = self._git_string_tuning[k]
self.git_strings[k].decay = 3000
self.git_strings[k].signals.trigger.start() self.git_strings[k].signals.trigger.start()
self.git_strings[k].signals.pitch.tone = self._git_string_tuning[k] + detune self.git_strings[k].signals.pitch.tone = self._git_string_tuning[k] + detune
if petals[0].whole.pressed: if petals[0].whole.pressed:
self.bass_string.signals.pitch.tone = self.chord[0] - 24 self.bass_string.signals.pitch.tone = self.chord[0] - 24
self.bass_string.decay = 1000
self.bass_string.signals.trigger.start() self.bass_string.signals.trigger.start()
leds.set_all_rgb(*colours.hsv_to_rgb(self.hue + self._rand_rot * 1.2, 1, 0.7)) leds.set_all_rgb(*colours.hsv_to_rgb(self.hue + self._rand_rot * 1.2, 1, 0.7))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment