Documentation Status GPL v3 License

A CircuitPython library designed for the pico_synth_sandbox device to provide hardware abstraction and a number of additional audio synthesis features.

Front view of 3d rendered board Back view of 3d rendered board Bottom view of 3d rendered board


  • Device-level settings using settings.toml file to generate audio driver, display, MIDI, and other hardware objects

  • Keyboard handling for key priority and voice allocation

  • pico_synth_sandbox.arpeggiator.Arpeggiator and pico_synth_sandbox.sequencer.Sequencer classes based on pico_synth_sandbox.timer.Timer class with support for bpm, step, and gate

  • pico_synth_sandbox.waveform generators to quickly create numpy arrays

  • Voice based structure to simplify note and parameter management among multiple synthio.Note instances

  • Multiple pico_synth_sandbox.voice.Voice types available:

    • Fully featured oscillator (pico_synth_sandbox.voice.oscillator.Oscillator) with glide, pitch bend, frequency lfo (vibrato), amplitude envelope and lfo (tremolo), filter envelope and lfo, and panning lfo

    • Analog-based pico_synth_sandbox.voice.drum.Drum voices: pico_synth_sandbox.voice.drum.Kick, pico_synth_sandbox.voice.drum.Snare, pico_synth_sandbox.voice.drum.ClosedHat and pico_synth_sandbox.voice.drum.OpenHat

    • pico_synth_sandbox.voice.sample.Sample voice with WAV audio file support, auto-tuning, and all aforemented pico_synth_sandbox.voice.oscillator.Oscillator features

  • Time-based synthio helpers for advanced block inputs (pico_synth_sandbox.synth.LerpBlockInput and pico_synth_sandbox.synth.AREnvelope)

  • pico_synth_sandbox.microphone.Microphone level monitoring and trigger-based recording

  • General audio helper functions such as FFT, resampling, and normalization

Table of Contents

Indices and tables