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...