Bisque app icon
Sound Engine  ·  bisquesoundengine.com

Bisque

A bisque is a finished product with an exposed surface, made to be creatively repurposed.

What is Bisque?

First and foremost, Bisque is a soft synth that is fun to play as a soft synth.

For newcomers to synths and MIDI, you should be able to get started making sounds using your QWERTY keyboard with no introduction — then experiment with the random Instrument generator or Stage presets. For people interested in learning about sound engineering, all effects come with descriptions, and there's a wavetable viewer for visualizing how operations act under the hood.

For experienced audio engineers, the tree CAD instrument builder and integrated C plugin system should feel intuitive, and the voicing system is built to accommodate live performance flows.

But the piece that makes Bisque Bisque is its versatile API surface. Put it on the cheap SBC of your choice, wire up a game controller or Bluetooth keyboard for control mapping, and you have a prototype for your audio hardware concept. Use it to demo, iterate, and ship a new type of looper, sequencer, groovebox — whatever you want to invent.

What's new in 2.0

Unified Instruments

Standard Instruments and Sampler Instruments have been unified into a single pipeline for creation and editing. Standard Instruments (size 4096 period frames, traversed by frame-hopping) and Sampler Instruments (size 1024 chunks, traversed by grain-cycling/vocoding/chipmunking) now differ only in the extra Voice Effects available to Sampler Instruments at play time.

UI Redesign

Instruments, Sequences, and Voices are now always available, with special-use screens docked in bottom tabs.

Sampler Instrument Improvements

Better grain-cycling techniques, live vocoding with fewer artifacts, and mipmapped vocoding for the same quality of sound on low performance devices.

Real Time Audio-Rate Effects

We've lifted our earlier prohibition on audio-rate mathematics in the engine and now support a wide range of real time effects and user-authored real time plugins. To help keep things safe on lower performance devices, effects with higher CPU costs are clearly documented, a diagnostics screen offers a live headroom readout, and a configurable ring buffer system helps players and integrators balance underrun risk against latency.

Delay Buffers

An intuitive delay control model with a collection of templates demonstrating how source/sink/wet/dry settings sound. With the exception of delay time modulation, we're yet to find a delay effect we can't build with this scheme.

Virtual HID

A way for creators to cement their hardware design ideas before buying parts. A panel with as many buttons and sliders as you want, arranged how you want, processed through the Control Mapping flow exactly the same way a physical HID or MIDI controller would be.

Customizable Effect Modulators

Effects now support Modulators that can be customized with maximum granularity in an expressive format. Draw envelopes with a graph editor, enlist a recorded Sequence as a modulator, Gate Lock a sustained note and use your keyboard as a keytracked modulator — we even support chorded modulators.

Stages

Persist Instrument choices, Live Effects, Sequence placement, and everything else you might want to save inside of Stages, so you can move between a work in progress and a blank slate, or between several concurrently evolving projects.

Better Plugin System

We traded the much slower JS plugin framework for a more complete C-based approach. We ship compilers with the app and provide an editor with fully fleshed-out tutorial examples to help you build your own Effects.

Complete Android Port

In the spirit of helping people make audio hardware from stuff in their closet — most people don't have Raspberry Pis lying around, but nearly everyone has an old Android phone. Use a desktop over LAN to configure the Virtual HID, or use the built-in client swap feature to write your own JS screen that sends control signals to the engine. Use the peer control feature to send Instruments back and forth between separate Bisque instances running on multiple phones.

Get Bisque

Choose the build that matches your use case.

Bound Client

Recommended

This is probably what you want. For people who want to try the app on their desktop like a normal DAW or soft synth. The engine and the UI ship together as a single self-contained application.

Bisque Engine Server — LAN / Development

Embedded

Run the Bisque engine headlessly on any machine on your desk and connect to it over your own LAN. No provisioning needed — you handle networking. Linux arm64 is the real intended target here, but we provide other platforms for convenience during development.

* Android is released experimentally to be used as a LAN server and for embedded prototypes. The original desktop client is provided inside a webview as a courtesy. It might be usable as a soft synth Android app, but for something like that, you'd probably be a lot happier just dropping your own small JS app into our Custom Client feature. The full API spec is published in a portable format in the Control Mapping screen.

Production — Wi-Fi Provisioned

Production

For hardware creators doing a full production run. You've sourced 10+ SBCs, prepared your OS configuration (PortAudio, PortMidi, DAC setup, runtime linking), and need a provisioning flow for end users. Flash BisqueEngine and BisqueBooter onto the SBC; distribute BisqueBooterClient to your users.

BisqueEngine —goes on the SBC

BisqueBooter —goes on the SBC

BisqueBooterClient —distribute to your end users

FAQ

What is Bisque bringing to the table if DAW / soft synth X already exists?
We also love X and think it's amazing software. Our goal is not to compete with X. Our goal is to do a fraction of what X does — really well — on chips that cost as much as takeout, so that creators can bring their audio hardware ideas to life as quickly as possible.
Do I need to do any special prep for Linux?
Some dependencies need to be linked at runtime rather than bundled. Unzip the package, then install the required dependencies and grant input device access:

sudo apt install libportaudio2 libportmidi0 libwebkit2gtk-4.1-0
sudo usermod -aG input $USER

Log out and back in, then run ./BisqueEngine from the unzipped folder. On non-Debian distros, install the equivalent packages via your package manager (portaudio , portmidi , webkit2gtk ).
What's the difference between Bound and Unbound?
The Bound Client is a conventional desktop application — the engine and the UI are packaged together in the same app, and run on the same machine. It behaves like any DAW or soft synth you've used before. The Unbound Client separates those two things: the engine runs headlessly (typically on a small SBC or embedded device), and you control it from a web browser on any device on the same network. The "Unbound" name refers to the engine being unbound from a local display.
Which SBCs does the Unbound Client support?
Any arm64 board with a real-time-capable kernel and ALSA audio should work. We developed against a $12 Radxa Rock 2 to stress-test the low end of the spec range — on that device, 1 voice with unison ran without issue. At 8 simultaneous voices with full unison, we started hitting buffer underruns at 3-note chords. We also tested on an Orange Pi Zero 3 without issues. For use cases with high polyphony, we'd recommend slightly higher specs than the absolute floor. If your application stays within modest voice counts, almost any cheap arm64 SBC will do.
What does the Wi-Fi provisioning flow look like for end users?
After an SBC with an autostart service configured to run BisqueBooter is powered on, the companion BisqueBooterClient app on the user's desktop will walk them through connecting to a temporary access point to hand off their home Wi-Fi credentials. The device joins the network, the temporary access point disappears, and the Bisque UI appears directly within the BisqueBooterClient app that was used for provisioning. From that point on, the device boots directly onto the user's LAN with no further setup required.
Can I build from source? Where's the repo?
Approaching release, we've had to iterate quickly to finalize a demo-ready first version. Because Bisque uses high-level abstractions to keep Effects, Transformations, Modulators, and Control Mappings as versatile and agnostic as possible, it's particularly vulnerable to sprawl and incoherence if patterns aren't obvious and enforced in the type system. Along with locking in a more robust testing solution, these things need more attention before we can expect outside developers to share the same understanding of the app's flows and the correct way to change them.

While that's happening, feel free to write your own client app. The full API spec can be found on the Control Mapping screen.
How can I contribute to Bisque?
While trying to address the software barrier to entry for audio toys, we haven't fixed the hardware barrier. One of the best ways to accelerate the fun, usefulness, and adoption of Bisque would be to create a collection of STL files for physically modding cheap keyboards. Ajazz brand Bluetooth keyboards are around $15 and all share a standard size for 68 keys. A selection of modular, attachable hats for these keyboards would go a long way toward helping creators iterate quickly on their hardware concepts.

We'd also love to see anything people create with Bisque so we can showcase it here. Show us what you're building.

Roadmap

Bisque is in active early development. Here's a list of improvements that are on our radar.

Planned · High likelihood

Sequence editing UI

Inline sequence editing directly inside the sequence viewer, rather than having to record new takes.

Planned · High likelihood

DAW plugin support

A plugin bridge for DAW integration — most immediately useful for Ableton workflows. High effort but high priority.

Planned · Medium likelihood

Better abstractions for control mapping

There may be ways to create a better control mapping vocabulary or a more self-maintaining control mapping architecture by aligning the feature more closely to the existing REST interface.

Speculative

Content marketplace

Downloadable and shareable bundles of Effect plugins, Transformation plugins, TreeBuilder macros, and Instruments. The effort is substantial; likelihood depends on how much the community wants it.

Open Source

Bisque will be released under an MIT License. Use it free and without attribution.*

MIT License

Copyright © 2025 Randy Heaton

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED...

* Redistributions that include the stock Bisque client app's use of Sequence icons remain subject to CC BY 3.0 per creators listed at game-icons.net.