17 comments

  • vunderba 1 day 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 17 hours ago
      Thanks. So you essentially get an 88 key macro board in your lounge?
      • vunderba 10 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 1 day 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)…

    • vustagc 1 day 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.
    • vunderba 1 day ago
      Same. In the past I've mapped cheap midi controllers with endless encoders over to act as a "scrubbers" when doing video editing.
  • pimlottc 1 day ago
    Some other existing utilities for triggering commands with MIDI signals:

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

    - https://midimonster.net/

  • sigseg1v 1 day ago
    This is one of those projects that would be 10x better with a video demonstration!
  • alana314 21 hours ago
    This would pair well with Midicard, the tiny credit-card-sized MIDI keyboard I make: https://midicard.com
  • recognity 14 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.

    • vustagc 14 hours ago
      You can define the mappings in a plain text (key = command) config file. No need to touch the code.
  • ctoth 1 day ago
    How about chords? Melodies which are paths? Passwords? Lots of great potential here!
  • smokel 1 day ago
    Ooh, let's spend next weekend doing this with my acoustic piano!
  • yarivk 14 hours ago
    Very interesting idea.

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

    Thanks for sharing it.

  • gchamonlive 1 day ago
    This reminds me of the Symphonic which is featured in the show Halt and Catch Fire
  • matthew_hre 1 day ago
    My Claude Code sessions are about to sound like the Breath of the Wild soundtrack
  • runamuck 1 day ago
    So I can run shell from a Miracle Piano connected to a NES running Linux?
  • shrubble 1 day ago
    I thought you might have “composable” pipelines!
  • shablulman 1 day ago
    [dead]
  • CagedJean 1 day ago
    [dead]