Signls: A non-linear, generative MIDI sequencer

vegadw1 pts0 comments

Signls

Overview

source code •<br>report an issue

Signls by emprcl

Signls (pronounced signals) is a non-linear, generative MIDI sequencer designed for music composition and live performances, all within the terminal. It allows you to create complex, evolving musical patterns using a grid-based approach. You can place nodes on the grid, and these nodes can emit signals, relay them, or trigger MIDI notes. There are 9 different types of nodes to explore, each with its own unique behavior.

With Signls, you can generate dynamic, generative music, meaning that the patterns evolve and change over time. It's designed to give you a powerful creative tool to build intricate sequences without being stuck in a rigid timeline or structure.

It takes inspiration from Orca and Nodal.

Features

Non-linear sequencing : unlike traditional sequencers, Signls doesn't force you into a single direction. Your sequences can move and shift in multiple ways, allowing for complex and unique arrangements.

Randomize everything : create evolving musical patterns that shift over time, adding depth and unpredictability to your compositions.

Live performance : designed to be used in real-time, making it a adequate tool for live performances where improvisation is key.

Keyboard first : Signls operates directly from your terminal, giving you control in a simple, lightweight environment, where everything is controllable via keyboard.

Cross-platform : runs on Linux, macOS, and Windows

Installation

Signls is available for Linux , macOS and Windows .

Prebuilt binaries are provided for the following platforms:

Linux : x86-64 (amd64), arm64

macOS : Intel (amd64), Apple Silicon (arm64)

Windows : x86-64 (amd64)

The Linux arm64 build covers the 64-bit Raspberry Pi OS (Raspberry Pi 3 and later). The quick-install script picks the right one automatically.

Quick-install

On linux or macOS , you can run this quick-install bash script:

curl -sSL empr.cl/get/signls | bash

Homebrew (macOS & Linux)

brew tap emprcl/tap<br>brew trust emprcl/tap<br>brew install signls

Manual installation

Download the last release for your platform.

Linux & macOS

In your terminal:

# Extract files<br>mkdir -p signls && tar -zxvf signls_VERSION_PLATFORM.tar.gz -C signls<br>cd signls

# Run signls<br>./signls

Windows

We recommend using Windows Terminal with a good monospace font like Iosevka to display Signls correctly on Windows.

Some specific Windows bugs regarding unicode characters prevent us to display some UI elements (randomization indicator or non-empty bank slot) but it should not degrade the experience that much.

Unzip the archive and, in the same directory, run:

.\signls.exe

Replace ./signls by .\signls.exe for every following commands.

Build it yourself

You can also build it yourself if your want to.

Usage

Basic commands

# Run signls<br>./signls

# Display current version<br>./signls --version

Hit ? to see all keybindings. esc to quit.

Files location

Signls stores its config.json and bank files in your user config directory:

Linux / macOS : ~/.config/emprcl/signls/ (or $XDG_CONFIG_HOME/emprcl/signls/)

Windows : %AppData%\emprcl\signls\

You can override either with an explicit path using the --config and --bank flags.

Keyboard mapping

Keys mapping is fully customizable. After running signls for the first time, a config.json is created in your config directory.<br>You can edit all the keys inside it.

You can select one of the default keyboard layouts available:

# QWERTY<br>./signls --keyboard qwerty

# AZERTY<br>./signls --keyboard azerty

# QWERTY MAC<br>./signls --keyboard qwerty-mac

# AZERTY MAC<br>./signls --keyboard azerty-mac

Default keybindings

For qwerty keyboards, here's the default mapping:

space play or stop

tab show bank

1 ... 9 add nodes

↑ ↓ ← → move cursor

shift+↑ ↓ ← → multiple selection (or modify alt parameter mode in edit mode)

ctrl+↑ ↓ ← → modify selected node direction (modify parameter or alt parameter value)

. modify selected parameter

backspace remove selected nodes (or grid in bank)

enter edit selected nodes

m toggle selected nodes mute

M mute/unmute all selected nodes

/ trigger selected node

- = modify tempo

' ; modify root note

" : modify scale

ctrl+c x v copy, cut, paste selection

escape exit parameter edit or bank selection

f2 edit midi configuration

f10 fit grid to window

? show help

ctrl+q quit

Key binding reference

qwerty

qwerty mac

azerty

azerty mac

MIDI

Signls doesn't generate sound on its own, but it works seamlessly with MIDI software or hardware. You can connect it to your favorite synthesizers, virtual instruments, or any MIDI-compatible devices for live performances or production.

On each node, you can configure NoteOn and NoteOff messages, using note parameters.<br>Each node can also send up to 8 CC messages, using CC parameters.

Press the f2 to open the MIDI configuration menu, where you can adjust three parameters:

Clock : enable or disable clock send messages

Transport : enable or disable...

signls midi nodes keyboard linux windows

Related Articles