KnobKraft Orm

Over the past 40 years, the MIDI specification has enabled physical controllers, hardware synthesizers, software synthesizers, audio applications, and numerous other hardware categories to talk to one another. This is an incredible achievement for a protocol born before TCP/IP. Even today, MIDI has never been more popular. Which is why it's particularly bemusing that there isn't a decent open source settings librarian for MIDI devices. Librarians are essential if you want to save a set of MIDI values for a device and also for computer-driven archival and patch management. MIDI devices are usually limited in their storage capacity and user-interface design, which means you often need to save your data to a computer. The easiest way to generate this data is usually via a system-exclusive data dump from your hardware, which is a transfer of the raw internal device data over MIDI as opposed to data common to each device, such as note or volume data. These dumps can usually be sent back to the device to reactivate the configuration, but you need a librarian if you want to save these dumps individually and to manage, preview, and categorize them. Without a librarian, this saved data simply exists as a single file without any further context or structure.

Regardless of the platform or license, KnobKraft Orm is the closest modern MIDI librarian to the wonderful and woefully deprecated Sound Diver.

One possible solution is the brilliant Ctrlr platform, which offers many different kinds of editors and librarians as well as plugin compatibility and scripting. But it's also a victim of its own success: Data management and librarian functions are often left wanting, and the editors themselves vary hugely in their quality. What's needed is a simple, high-quality MIDI librarian that focuses on a finite number of devices and supports those well. This is exactly what the oddly named KnobKraft Orm does. KnobKraft Orm can natively talk to and save data from many devices, including various Access Virus, Kawai, Roland and Sequential synths, and Behringer's RD-8 drum machine and its BCR2000 control unit. All of these can have their internal data captured, saved, and re-sent, and the user interface works the same for each. Data dumps, or patches, are shown in a grid, with color used to differentiate between different patch categories. These can then be filtered quickly, excluded, or searched for, much as you would with a tag cloud. This is something you cannot accomplish on the hardware, and it makes it trivially easy to manage collections containing thousands of data dumps. Selecting one will usually send it to the device for immediate preview, avoiding the need to save the data on the external device. While you can't edit parameters within those patches, KnobKraft Orm does free you from the tyranny of using a device's limited storage and patch management.

KnobKraft Orm's best feature is the ability to add your own support for your favorite hardware, even when it's not a native part of the application. This is through what KnobKraft Orm calls an adaptation, and there are already many. An adaptation is written in Python and exists as a script outside the (C++ written and compiled) main application. This is a much more powerful solution than using a static syntax such as JSON to handle the system-exclusive data, because Python lets you easily process the data. You still need access to the device's MIDI specification, but thanks to the excellent programming guide, turning the specification into an adaption is actually fun if you already have good knowledge of the MIDI device. An adaption then becomes just as integrated as the native device support, theoretically letting you manage every device in your studio – something that hasn't been possible since development on the venerable Sound Diver was abandoned in 2005.

Project Website

Even if your device isn't supported, if you know the difference between a bit and a byte, it's relatively straightforward to create your own.

Multi-user space station

Among sus

There can't be many people who haven't heard of the game Among Us, especially if you've been around young adults over the past 12 months. It's an ingenious 2D, top-down game set on a space station. As you might expect from a game with a young following, it is also fundamentally online multiplayer. At the start of each round, each player appears on the station in the cafeteria. One player is designated the imposter, and all the other players are regular crewmates, none of whom know who the imposter is. Crewmates need to perform tasks while the imposter attempts to "kill" them, but if anyone gets a whiff of who the imposter might be, they can summon a discussion, and everyone votes to try and tease the identity of the imposter from the ship's roster. The non-imposter crewmates win if they correctly determine the imposter's identity.

Among sus is an open source reimagining of Among Us built purely as an interactive text game run through a server for multiplayer access. With the server running, anyone can connect with a simple Telnet or Netcat (nc) command, and each new connection becomes a new player. The first player can initiate the game, pulling everyone into the text description of the cafeteria. Players then use commands such as go reactor, examine room, or check tasks to interact with the game. Just like in the original, one player is dubbed the imposter. Players can "kill" another player when they're in the same location, but when a body is detected, the discussion stage is triggered. This is where players can raise their suspicions and ultimately vote for who they believe to be the imposter. As with the original game, whoever they decide on as the imposter will be ejected from the ship and loses the game. The crew can only win if they find the imposter and complete all their tasks. Similarly, the imposter can only win by removing all their crewmates from the game. This text reinterpretation may have started as a joke, but it's actually strangely compelling and addictive!

Project Website

Among sus is a text-based version of Among Us with a single concession to graphics. Type map to see an ASCII visualization of the ship.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • MIDI with Linux

    A MIDI keyboard is a useful extension to any audio workstation. Learn how to connect a MIDI instrument to your Linux sound studio through a MIDI interface device.

  • FOSSPicks

    This month Graham reviews PeaZip, LibreSprite, NeoChat, Beaker, Giada, Thrive, Kurve, and much more!

  • Ardour3 Digital Audio Workstation

    The latest version of Ardour – a full-featured digital audio workstation – offers some major new developments. We take a closer look.

  • Bitwig 1.3

    Bitwig Studio 1.3.5, together with the JACK sound server, gives users the freedom to produce professional-quality tracks.

  • FOSSPicks

    In what might be either the onset of tin foil hat disease, or a nagging conscience, Graham has recently started to move as many of his SaaS accounts to servers under his control, as you'll no doubt read in these pages.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More