Settings

Theme

Show HN: Pianoterm – Run shell commands from your Piano. A Linux CLI tool

github.com

57 points by vustagc 21 hours ago · 25 comments · 1 min read

Reader

A little weekend project, made so I can pause/play/rewind directly on the piano, when learning a song by ear.

vunderba 19 hours ago

Nice job. Feels like there's a bit of misunderstanding of what this project is. It has nothing to do with audio - it's purely a means of mapping MIDI to shell commands.

There was (still is) a very popular program called BOME Midi Translator that did something similar - think of it like AutoHotKey but specifically for midi.

Back when I made heavy use of Kontakt libraries I got frustrated at the lack of an easy way to audition the patches (of which there could be hundreds on a single sampler). To get around it, I created a Bome script so when I pressed an unused button on my midi controller it would trigger a mouse click to advance to the next patch in my DAW and then send a note-on / note-off for C4 for half a second.

Made previewing the sounds much easier.

  • snthpy 9 hours ago

    Thanks. So you essentially get an 88 key macro board in your lounge?

    • vunderba 2 hours ago

      Exactly. Instead of buying something like an Elgato Deck, you can repurpose (or buy really cheap) midi keyboards/controllers and map them through a Midi->Script translators and achieve the same result.

Arkanosis 18 hours ago

That's nice!

That may not seem like an obvious use-case when only thinking about a piano, but since it's mapping MIDI keys to commands, I guess it should be able — or at least no very far from being able — to map ergonomic MIDI controllers to actions that are not as ergonomic with the usual keyboard / mouse / trackball / touchpad most people use.

I wrote what I believe is a similar tool but with completely different goals initially: https://github.com/Arkanosis/smhkd ; I use it with a cheap MIDI controller (namely the KORG nanoKONTROL2) and was considering using another one with motorized faders (namely the Icon Platform M).

MIDI controllers are great for all kinds of non-musical things like: - setting the volume / balance / solo / mute for speakers / multiple headsets and mixing multiple applications (eg. using pactl); - setting the zoom level / brightness for camera / webcam (eg. using v4l2-ctl) ; - setting the source / brightness for monitors (eg. using ddcutil)…

  • vunderba 17 hours ago

    Same. In the past I've mapped cheap midi controllers with endless encoders over to act as a "scrubbers" when doing video editing.

  • vustagcOP 18 hours ago

    I see I'm not the first to have this idea haha. I suppose you could use additional midi controllers as extra "function" keys, for things like volume control, brightness, etc.. Could be useful especially if using smaller keyboards without a numpad or a function row.

pimlottc 18 hours ago

Some other existing utilities for triggering commands with MIDI signals:

- https://gitlab.com/enetheru/midi2input

- https://midimonster.net/

sigseg1v 20 hours ago

This is one of those projects that would be 10x better with a video demonstration!

recognity 7 hours ago

Love this. Using a piano as a macro board is the kind of creative dev tooling I wish I saw more of.

Have you considered letting users define their own key mappings in a YAML config? That way people could customize it for their specific DAW workflow without touching the code.

  • vustagcOP 6 hours ago

    You can define the mappings in a plain text (key = command) config file. No need to touch the code.

alana314 13 hours ago

This would pair well with Midicard, the tiny credit-card-sized MIDI keyboard I make: https://midicard.com

ctoth 19 hours ago

How about chords? Melodies which are paths? Passwords? Lots of great potential here!

yarivk 6 hours ago

Very interesting idea.

Mapping MIDI keys to shell commands opens some fun automation possibilities. Nice and clean project.

Thanks for sharing it.

smokel 20 hours ago

Ooh, let's spend next weekend doing this with my acoustic piano!

gchamonlive 18 hours ago

This reminds me of the Symphonic which is featured in the show Halt and Catch Fire

matthew_hre 19 hours ago

My Claude Code sessions are about to sound like the Breath of the Wild soundtrack

runamuck 20 hours ago

So I can run shell from a Miracle Piano connected to a NES running Linux?

shrubble 18 hours ago

I thought you might have “composable” pipelines!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection