Skip to content
Sampler, Sequencer, Multi-engine synth and effects - in a box!
Branch: develop
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
boards Try to start RTAudio without an input device if it failed with one. Mar 15, 2019
cmake [WIP] Services refactor part 2 Oct 27, 2018
data Merge branch 'develop-topisani' into develop Feb 23, 2019
doc Documentation using doxygen Oct 23, 2018
external No faust_link on properties by default Mar 15, 2019
scripts Now able to turn off unused synth voices. Effects are mono in/stereo … Dec 12, 2018
test Removed range-v3 and fixed engine serialization Mar 11, 2019
.gitignore Partly rewrote EngineDispatcher to store the engines in a variant Mar 11, 2019
.gitmodules Removed range-v3 and fixed engine serialization Mar 11, 2019
LICENSE Change LICENSE to Mozilla Public License, v. 2.0 Sep 1, 2017 Update Mar 4, 2019
deploy_key.enc travis: Use deploy keys Sep 1, 2017


Build Status

The OTTO is a complete hardware and software solution, with synths, samplers, effects and a sequencer with an audio looper. The interface is modular, easy to use, simple, but most of all, it encourages experimentation. The graphics are quirky, and the workflow is minimal.

We would like to invite you to our discord server where we hang out and discuss all things OTTO.

The hardware

The OTTO is basically going to be a Rpi3+, a screen, a DAC, 4 encoders and some 30+ buttons/keys. Some of us are currently building the next version of prototypes. We can (so far) show you some nice renders of that, which is currently being shipped to us. Next steps will be a few revisions and a lot of coding to get the existing software to work with the hardware, but then we'll be ready to share with all of you!

render1 render2

Planned Features for v1.0

  • A synth (with swappable engines) for live performance with midi effects (arpeggiator, etc.)
  • 2 FX slots. Synths and drums send to them as a FX bus.
  • Synths and effects are swappable "engines".
  • For drums, a sampler will run in parallel to the sequencer-synth chain.
  • The drum sampler has 10 channels. These have a simple 1-bar, 16 step volca-style drum-sequencer, with each step corresponding to a white key on the musical keyboard on the prototype currently being built.
  • An audio line input which has FX send and level
  • A simple loop-station-style audio looper that can get audio from line in or synth. It has overdub and one level of Undo.
  • 8 save slots which save the state of the entire system. A save button lets you choose the slot to save in. Saves are only performed when you take the action.


The UI tries to walk the line between clear, concise and playful:

OTTO Screenshots

From top left to bottom right: FM Synth, ADSR Envelope, Reverb effect, Euclidian Sequencer

The software

The main software is written in modern C++, and the goal is to be as modular and flexible as possible. For build instructions, check out the wiki.

Getting Involved

We are a small, but steadily growing, group of people working in all sorts of areas, and we are always looking for contributors in whatever form, or just people who are interested in general. A good place to read more is on the wiki If you are not a developer, we could still really use some help with testing, documenting, hardware, samples and presets for engines, and more. And if I didn't mention it yet, the best place for you to get involved is our discord server. Seriously, it's where all the magic happens!

If you're up for it, we'd love some help, for a lot of different things, like:

  • Software testing
  • Writing documentation
  • Hardware design / testing
  • UI design
  • Creating default samples & settings and of course, the coding itself, with areas like
  • Synth/Effect design
  • General backend design
  • Hardware bridging
  • Distro setup (a custom linux distro for the Pi would be optimal)

If you feel like joining the adventure, please check out the guidelines.


You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.