FOSSPicks
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.
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
https://github.com/christofmuc/KnobKraft-orm
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
https://git.sr.ht/~martijnbraam/among-sus
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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.
News
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.