Technology

Plausible Software instruments are built from the Plausible Software Application Development Framework. This system is implemented in:

  • C++ for all audio generation, processing and playback

  • Java/JNI/C++ for synthesis parameters control

  • Java/JNI/C++ for MIDI I/O

  • Java for custom UI elements.

Plausible Software Application Framework Structure

p2audio

Contains C/C++ functions and objects for audio synthesis & processing

  • base
    Foundational functionality

  • fx
    Implementation of audio effects

  • io
    Audio playback / recording functionality

  • synth
    Implementations of a large number of synthesis and processing modules.

p2audioparams

Contains Java classes and JNI functions for specifying and controlling synthesis/processing parameters from Java (or Kotlin) apps.

p2mmidi

Contains Java classes and JNI functions for interacting with MIDI on Android devices, including instrument-oriented objects. (Note that the extra “m” in p2mmidi references Android “Marshmallow” when MIDI functionality was first built into the OS and thus a transition away from a previous, home-grown MIDI implementation).

p2ui

Contains Java classes for implementing UI elements (widgets) for building software synthesizer apps.