Skip to content

pkhead/beepbox-plug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This is a CLAP plugin library, with VST3 and standalone versions supported by clap-wrapper, which includes ports of BeepBox synthesizers, with additions/enhancements from several community-made mods.

BeepBox is a website created by John Nesky originally for creating chiptunes. Over time, though, BeepBox has increased in scope and capability in no small part due to the modding community that surrounds it.

This plugin library includes (or will include) several synthesizer plugins:

Chip A chiptune synthesizer from preset wavetables
Noise (planned) A generator for several types of noise
Custom Chip (planned) A chiptune synthesizer from a configurable wavetable
Pulse Width Generates pulse waves of a freely configurable duty cycle
Supersaw (planned) Sawtooth/pulse waves with a more powerful unison effect
Harmonics An additive synthesizer
Picked String (planned) Harmonics + an algorithm based off Karplus-Strong
Spectrum A noise-based spectral synthesizer
FM A four-operator FM synthesizer
FM6 (planned) A six-operator FM synthesizer
Drumset (planned) A Spectrum + filter envelope for each of the 12 keys in one octave

This library also includes these audio effects bundled into the synthesizer:

  • Distortion
  • Bitcrusher
  • Chorus
  • Echo (aka delay)
  • Reverb

Note that these effects have very simple parameters (only one or two).

The project's source code is located within three subdirectories of the src folder.

  • cbeepsynth/: The library which contains the C port of BeepBox's synthesizers and effects.
  • plugin/: CLAP audio plugin, written in C.
  • plugin_gui/: CLAP audio plugin gui, written in C++.

To be implemented:

  • Presets
  • Themes
  • Mac support (?)
  • Instruments:
    • Custom chip
    • FM6
    • Noise
    • Picked string
    • Supersaw

Building

Requirements:

  • C11-compliant compiler (for synth/plugin code)
  • C++17-compliant compiler (for GUI)
  • CMake + build system (Ninja, Makefile, MSVC, e.t.c.)

Checkout the repository with

git clone --recurse-submodules https://github.com/pkhead/beepbox-plug

Then, build the plugin:

mkdir build
cd build

# configure cmake
# possible arguments to pass:
#   -DBUILD_VST3=1
#   -DBUILD_STANDALONE=1
cmake ..

# compile the executable/vst3/clapplugin
cmake --build .

Credits

vst logo for legal reasons

VST is a registered trademark of Steinberg Media Technologies GmbH

About

Port of BeepBox synthesizers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published