Details via Github:
"Making electronic music is awesome! But for most of us, it requires a lot of setup, a lot of moving a mouse around on a laptop that's probably not quite equipped to handle realtime audio processing. Don't you wish you had one single device, which was xbuilt to do it all for you, easily and on the fly?


That sounds cool and all, but haven't I heard about this before?
— You


Now that proper introductions are made, we would like to invite you to our discord server where we hang out and discuss all things OTTO.
The OTTO is basically going to be a Rpi3 (or other similar boards, we are looking into that), a screen, a DAC, 4 encoders and some 30+ buttons/keys. Some of us are currently building prototypes, and the formfactors and features vary greatly. Below this you see two OTTO hardware prototypes. Feature wise they are similar, but the first one is hand-wired, lasercut, and uses arduino pro micros for handling the keys/encoders. The second one is 3D printed, uses a PCB with onboard microcontroler etc.
As you can see, the OTTO can be built very differently depending on your skills, your avaliable resources and tools, and your priorities. You can also have other features than these two, for example the DSP all supports velocity sensitive keys.
You can find more info about the first prototype design on the "Otto Proto One" on this dedicated repo, and @cester-ino's over at his repo
The software
The software is written in (very) modern C++, and the goal is to be as modular and flexible as possible.
Technology
Core C++ 17 (you will need a very new compiler.)
Graphics C++ wrapper on top of NanoVG, with swappable backends, currently GLFW and EGL are available.
Audio/MIDI Designed to be swappable, though currently the only one available is jack.
DSP C++ and Faust (compiled down to C++)
It is possible to run the software on the desktop, with keybinds emulating the physical buttons and encoders.
For build instructions, check out the wiki.
Backbone
While OTTOs may differ on a lot, some things are fairly set in stone :
A Raspberry Pi (or similar) at the core, running a minimal Linux distro.
A >= 320x240 RGB screen, preferably AMOLED.
~30 hardware buttons, so nearly every feature has its own button.
4 colour coded rotary encoders (full credits to the OP-1 for that idea), as the main controls. Each screen has a maximum of 4 variables which will be coloured corresponding to their encoder.
Roadmap
Currently, the OTTO consists mainly of a lot of backend, and some proof-of-concept interfaces. During the following months, we will work on punching out the core structure and interactions, along with adding synths, sequencers and effects.
Other ideas for the future include:
A mobile app to run the graphics and serve as the screen, since good screens are hard to come by, and you probably already have a great one in your pocket.
Support for optional hardware, like an FM radio, Bluetooth speakers, a joystick
It should also be noted that the OTTO of course feeds on midi, and you should be able to hook up all sorts of controllers, with sync and control signals for the OTTO variables.
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. 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)
The DSP can be written seperately in faust, a functional language designed for audio processing that compiles to C++, so if you are up for writing some synths/effects, but not quite ready to take on the beast that is C++ yet, there is still hope.
If you feel like joining the adventure, please check out the guidelines.
Credits
Audio Framework: jack
DSP Framework: faust
Vector Graphics: NanoVG with NanoCanvas
fmtlib, string formatting in C++
json, json for modern C++
mapbox/variant, one of the best variant implementations out there"
No comments:
Post a Comment
Note: comments that insult people will be removed. Critique on gear is allowed. Do not ask if listings are still available. Click through auction links to check yourself. Posts and pics remain for historical purposes. To reduce spam, comments for posts older than one week are not displayed until approved (usually same day).