Open now · The VIBE Box Challenge
Build a Vibe.
Win a VIBE Box.
Write a Vibe that uses at least one or two things the FM-1 can't – the big screen, the pads, audio in, MIDI out, CV, the stage … The community votes on the hub, and two VIBE Boxes go to their makers.
Got an FM-1 firmware? Port it to a native Vibe – that counts too. Keep your engine, credit the original, and give it that extra VIBE touch.
The VIBE Box developer kit – it plays every Vibe natively, the same file as in your DAW. Shown is the rendering: your kit is hand-built, so boards, case and buttons will differ. Sound comes over a USB audio interface.
Submissions close in
15 December, 23:59 CET · the vote until 26 December · winners 27 December
Your first Vibe in 3 steps
About ten minutes. You need a terminal and Zig 0.13.0
(one download, it brings the C compiler – unpack it and put zig on your PATH). Windows: use Git Bash or WSL.
Get the SDK
Clone it from GitHub. Everything is inside: the SDK, the build tool, six examples and the manual.
$ git clone \ https://github.com/Vibe-FM-SDK/vibe-fm-sdk.git $ cd vibe-fm-sdk
Build an example
hello is about 60 lines: a sine on the keys, pads that light up, a knob that bends. Copy it and make it yours.
$ sh tools/build.sh examples/hello built build/hello.wasm packed build/hello.zip
Your own: cp -r examples/hello my-synth, edit, sh tools/build.sh my-synth.
Play it
Browser: open the Playground and drop
hello.wasm onto the device.
DAW: drop hello.zip onto the VIBE FM plugin window.
# changed something? $ sh tools/build.sh my-synth # drop it again – it replaces the old one
That's it. The file you just dropped is the one that runs on the VIBE FM – unchanged, sample for sample the same sound.
Already made an FM-1 firmware?
Two ways onto VIBE FM – one click, or the whole instrument.
What you get
A whole instrument to write for – far beyond the FM-1's 240 × 240 and seven knobs.
vibe_gfx.h).New in SDK 23 · The stage
A whole screen of your own –
in the plugin and the browser.
Beside the device's 480 × 320, your Vibe can draw a second, bigger picture: up to 1280 × 720, laid out however you like. Turntables for a DJ, a full sequencer grid, a waveform across the whole width – or a completely different face for your instrument. Clicks, drags, the wheel and touch come back to your code.
In VIBE FM VST it fills the plugin window; in the Playground it sits above the device or in its place. On the VIBE it comes later over HDMI.
/* the picture is yours */ static uint16_t stage[960 * 540]; vibe_stage(stage, 960, 540, 0x101418, VIBE_STAGE_REPLACES); /* … and you draw it in vibe_on_stage() */
The one rule: everything stays playable on the device too – the stage is a view and a shortcut, never
the only way. examples/example-stage is the smallest one (90 lines).
Want to see what's possible? OberVave, VIBE DJ, S1VAVE and more – all open, all playable in your browser. The first Vibes →
When you need more
Early access: the SDK still changes now and then, and we'll say so in its README. Your firmware is yours – any licence, open or closed. What VIBE FM is: the platform.
