Showing content from https://todbot.github.io/CircuitPython_Synthio_Tutorial/2_modulation/code_envelope.py below:
# 2_modulation/code_envelope.py # part of todbot circuitpython synthio tutorial # 10 Feb 2025 - @todbot / Tod Kurt # import time, random import synthio from synth_setup import synth, knobA, knobB while True: amp_env = synthio.Envelope( attack_level = 0.8, sustain_level = 0.8, attack_time = 1 * (knobA.value/65535), # range from 0-1 seconds release_time = 2 * (knobB.value/65535), # range from 0-2 seconds ) synth.envelope = amp_env print("attack_time:%.2f release_time:%.2f" % (amp_env.attack_time, amp_env.release_time)) midi_note = random.randint(48,60) synth.press(midi_note) time.sleep(amp_env.attack_time) # wait to hear the attack finish synth.release(midi_note) # wait enough time to hear the release finish, but with some overlap time.sleep(max(amp_env.release_time * 0.75, 0.1)) # 0.1 sec smallest sleep
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4