A little language for circuit bending.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
Cargo.lock
Cargo.toml
LICENSE
README.md

README.md

Denshi is a little language for circuit bending.

Denshi is available under the GNU Affero General Public License version 3; see the LICENSE file for details.

What does "circuit bending" mean?

Circuit bending is the creative, chance-based customization of the circuits within electronic devices such as low-voltage, battery-powered guitar effects, children's toys and digital synthesizers to create new musical or visual instruments and sound generators.

In this context, "circuit bending" is about sampling the space of all possible circuits, with an emphasis on live programming, audiovisual output and weak, dynamic typing.

What's a circuit?

A circuit with N blocks and K components per block is defined by:

  1. A vector, of size N x N, assigning to each pair of blocks a number between 0 and 1: the connectivity between the two blocks.

  2. A vector, of size K x N, assigning to each block K numbers between 0 and 1: the block's components, as in entity-component system. Typical components include the gate associated with each block, and any configuration gates might need.