Karya is a music sequencer. Its main goal is to let you write a high level score which is then realized to expressive and idiomatic instrumental parts.

It uses its own score format. One way to look at it is a 2D language for expressing music along with an editor for that language. The score language has a built-in library of notation and has basic means for defining new notation, but more complicated notation is defined in Haskell. The idea is to have a standard library, but also be able to define notation specific to your score. The editor is graphical but also uses a Haskell REPL for configuration, automation, and extension. If you’re familiar with Amiga-style trackers, it looks somewhat similar, but fundamentally it’s closer to a programming language.

The primary backend is MIDI, though it can also produce lilypond if you restrict yourself to the subset of notation that can be translated to staff notation. It doesn’t record audio or host VSTs, but you can use a DAW to host VSTs and record or bounce tracks. You can sync with MTC and MMC to record live audio, but I haven’t tested that much yet. There is an offline synthesis backend, but it’s still in progress.

Software type
JACK
Platform
GNU/Linux
BSD
macOS
Windows
Software features
Software language
Haskell
License
GPL-3
Developer(s)
Evan Laforge (elaforge)