Sektron is a midi step sequencer, made with live performance in mind, that runs in the terminal (TUI). Its main purpose is to mimic the fun and immediacity of hardware sequencers by being entirely controllable via keyboard.
It's heavily inspired by elektron devices.
Sektron is still under heavy development. Features are missing and it's probably unstable.
- Fully (and only) controllable by keyboard
- Customizable keyboard mapping
- Up to 10 midi tracks, that can be attached to specific midi device and channel
- Up to 128 steps per track. The number of steps per track is independent, allowing complex polyrhythms
- Parameters can be set per track or step (parameter locking)
- Up to 64 patterns can be loaded at the same time
- Pattern chaining
And more to come. See Planned features.
Download the last release for your platform.
Then:
# Extract files
mkdir -p sektron && tar -zxvf sektron_VERSION_PLATFORM.tar.gz -C sektron
# Run sektron
./sektron
You'll need go 1.18 minimum. Although you should be able to build it for either linux, macOS or Windows, it has only been tested on linux.
# Linux
make GOLANG_OS=linux build
# macOS
make GOLANG_OS=darwin build
# Windows
make GOLANG_OS=windows build
# Run sektron
./sektron
# Display current version
./sektron --version
Hit ?
to see all keybindings. esc
to quit.
Qsynth is a nice companion app for testing Sektron.
Keys mapping is fully customizable. After running Sektron for the first time, a config.json
is created.
You can edit all the keys inside it.
You can select one of the fex default keyboard layouts are available:
# QWERTY
./sektron --keyboard qwerty
# AZERTY
./sektron --keyboard azerty
# QWERTY MAC
./sektron --keyboard qwerty-mac
# AZERTY MAC
./sektron --keyboard azerty-mac
The default key mapping looks like this:
For qwerty keyboards, here's the default mapping:
space
play or stoptab
toggle parameter mode (track, record)`
toggle pattern select mode1
2
3
4
5
6
7
8
9
0
select track!
@
#
$
%
^
&
*
(
)
toggle trackq
w
e
r
t
y
u
i
q
s
d
f
g
h
j
k
select step or switch to patternQ
W
E
R
T
Y
U
I
Q
S
D
F
G
H
J
K
toggle step or chain pattern=
add track-
remove track+
add step to the selected track_
remove step form the selected trackp
page up either steps or patterns if more than 16 items;
page down either steps or patterns if more than 16 itemsshift
+up
increase temposhift
+down
decrease tempoctrl
+up
add new midi control to the selected trackctrl
+down
remove midi control. It will remove the selected oneenter
validate selectionleft
move parameter selection to the leftright
move parameter selection to the rightup
increase selected parameter valuedown
decrease selected parameter value?
show helpescape
orctrl
+c
quit
Each time you start Sektron, a json file (default: patterns.json
) containing 128 pattern slots is loaded.
For selecting a different file, use the --patterns
flag:
./sektron --patterns my-patterns.json
Each time you change pattern or quit the program, the current pattern is saved to the file.
Sektron uses a few awesome packages:
- gomidi/midi for all midi communication
- charmbracelet/bubbletea as the main TUI framework
- charmbracelet/lipgloss for making things beautiful
- Step polyphony
- Keyboard mode
- Live record
- More random/generative features
- Retrigs
- LFOs