KeyKit ~ MIDI Scripting GUI


An algorithmic MIDI scripting language and GUI system. Musical Fun with Windows, Tasks, and Objects.

github.com/nosuchtim/keykit
github.com/nosuchtim/keykit/tree/master/dist
github.com/nosuchtim/keykitwasm
en.wikipedia.org/wiki/Keykit
sites.google.com/site/albertozin/Home/keykit

Install Procedure:

  • Navigate to the KeyKit GitHub repository (nosuchtim/keykit).
  • Open the /dist/ directory.
  • Download the appropriate archive for your system: Windows (key_nt.zip), Linux (key_linux_alsa.zip), or Raspberry Pi (key_raspbian.zip).
  • On Windows, right-click the downloaded .zip file, select “Extract All,” and extract it to a simple path such as C:\tools\keykit\.
  • On Windows, open the extracted folder and double-click key.exe to launch KeyKit and in the KeyKit console enter midiout("KeyKitPort").
  • On Linux, open a terminal, navigate to your download directory, run unzip key_linux_alsa.zip, then cd keykit, then run ./key from inside the keykit folder.
  • If Linux reports a permission error, run chmod +x key and then ./key.
  • Install a virtual MIDI driver on Windows (for example, loopMIDI).
  • Launch the MIDI driver and create a virtual port (for example, KeyKitPort).
  • Route the virtual MIDI port to a sound source such as a software synthesizer, DAW, or virtual MIDI instrument.
  • On Linux, verify MIDI devices by running aconnect -l.
  • Start a software synthesizer on Linux, for example fluidsynth -a alsa -m alsa_seq soundfont.sf2.
  • Run aconnect -l again to view available ports.
  • Connect KeyKit to the synthesizer using aconnect <keykit_port> <synth_port>.
  • In the KeyKit console, type 'c d e f g' and press Enter to test audio output.
  • Load a built-in sequencer by entering load "lib/seq.k" in the KeyKit console.
  • Optionally load a demo by entering load "lib/demo.k".
  • Ensure KeyKit is always launched from its root directory.
  • On Windows, if using a shortcut, set the “Start in” field to the KeyKit folder path.
  • On Linux, always run cd ~/keykit followed by ./key before launching.
  • If KeyKit cannot locate its libraries on Linux, set the environment variable with export KEYROOT=~/keykit.
  • Copy any additional .k scripts into the keykit/lib/ directory or your working directory.
  • Load additional scripts in KeyKit using load "myscript.k".
  • Create a startup script by making a file named startup.k.
  • Add commands such as load "lib/seq.k" and midiout("KeyKitPort") to startup.k.
  • Load the startup script in KeyKit using load "startup.k".
  • If KeyKit produces no sound, confirm MIDI devices exist and are properly connected.
  • If KeyKit fails to start, confirm you are running it from the correct directory and that permissions are set correctly on Linux.

foo_opensubsonic ~ Streaming Client


OpenSubsonic / Navidrome client implementation for foobar2000

Features:

  • Connect to OpenSubsonic-compatible servers such as Navidrome
  • Stream tracks directly in foobar2000 through subsonic:// paths
  • Sync remote library metadata into a local foobar2000 playlist
  • Import and sync remote playlists
  • Load and cache album artwork with fallback support for streamed items

github.com/michioxd/foo_opensubsonic

Related:

lx-music-desktop ~ Electron Based Player


LX‑Music‑Desktop is an open‑source, Electron‑based music player built with Vue 3, offering a simple, fast interface for managing and playing local music libraries on desktop systems.

github.com/lyswhut/lx-music-desktop
sourceforge.net/projects/lx-music-desktop.mirror

iscream ~ MacOS Audio Recorder


iScream is a free recording application for macOS. It lets you record sound from your microphone or other sound sources. The app sits in the Dock, so when you want to start recording, just click its icon. To stop recording, click the icon again. With support for hotkeys, it’s even easier to start and stop recording without reaching for your mouse. iScream is great for making voice notes, capturing quick sound bites, recording short interviews, and any other small recordings you might need. Its simple design and easy-to-use features make it a handy tool for anyone, especially those who often need to capture audio on the fly.

  • One click recording
  • Saves in MP3, AAC or WAV format
  • Hotkeys support

www.mediahuman.com/iscream

QMidiArp ~ MIDI Arpeggiator & Phrase Generator


QMidiArp is a MIDI arpeggiator, phrase generator and controller LFO for ALSA and JACK. It can run multiple synchronized arpeggiators, LFOs and step sequencers. The modules are also available as LV2 plugins with Qt user interface. QMidiArp has been growing since June 2009 on top of Matthias Nagorni’s original arp idea.

Features:

  • Programmable arpeggio patterns, LFO waveforms and sequences
  • Modular setup of arpeggiators, MIDI LFOs and step sequencers
  • MIDI-controllable (MIDI-Learn)
  • Synchronization with MIDI Clock or JACK Transport possible
  • Optional triggering by keyboard or continuous play mode for all modules
  • Patterns can be stored and switched by MIDI control while running
  • JACK MIDI or ALSA MIDI backends
  • Modules available as LV2 Plugins

qmidiarp.sourceforge.net
sourceforge.net/projects/qmidiarp
github.com/emuse/qmidiarp
man.archlinux.org/man/qmidiarp.1.en
www.freshports.org/audio/qmidiarp

qmidiarp

Video:

Packages:

packages.debian.org/trixie/qmidiarp
packages.fedoraproject.org/pkgs/qmidiarp

References:

en.wikipedia.org/wiki/Synthesizer#Arpeggiators
www.linuxjournal.com/content/linux-arpeggiators-part-1
en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture
en.wikipedia.org/wiki/Low-frequency_oscillation
en.wikipedia.org/wiki/JACK_Audio_Connection_Kit

AudioGridder ~ Audio & MIDI Network Bridge


AudioGridder is a network bridge for audio and MIDI that allows for offloading the DSP processing of audio plugins to remote computers. This can come in handy when mixing complex projects or running CPU intensive instruments.

AudioGridder Server runs on a computer hosting your effect and instrument plugins. On your workstation, on which you run your DAW, you use the AudioGridder FX or instrument plugin to access your plugin library over the network. The plugin is looking for available servers on your network and once connected allows you to create insert chains or load instruments. Midi and audio data from your DAW will be streamed over the network, processed on the server and streamed back.

audiogridder.com

SDIF ~ Sound Description Interchange Format


The Sound Description Interchange Format (SDIF) is an established standard for the interchange of sound descriptions and analysis data. This project provides libraries, SDIF (in C) and Easdif (in C++), tools, and wrappers to read and write SDIF files.

sourceforge.net/projects/sdif
cnmat.berkeley.edu/library/sdif
en.wikipedia.org/wiki/SDIF
groups.google.com/g/sdif-forum

Bitfake2 ~ Audio Tool Handler & Manipulator


Bitfake was originally created to detect fake .FLAC files through spectral analysis. It has since grown into a multipurpose CLI tool for handling music more easily and efficiently.

One common problem was that getting a track’s metadata required long ffprobe commands with messy output. Converting music with ffmpeg was also repetitive. The command itself is easy to remember, but writing scripts to convert entire directories felt inefficient and slow. This project now performs metadata and conversion tasks directly through linked libraries (TagLib/libsndfile/libav*).

Features:

  • Get metadata
  • Get ReplayGain info (useful for music players)
  • Spectral analysis on 44.1 kHz .FLAC files (higher sample rates may be misrepresented, so be careful)
  • Lossy diagnosis (banding score)
  • File Conversion + VBR Support (Works for outputs like .wav.flac.ogg.mp3.aac.opus)
  • Tagging metadata (Works for single files, but not directories yet)
  • Calculating ReplayGain and applying it to files (Works for track replay gain iterating through directories, album replay gain is a bit funky?)
  • Directory Conversion (works for all previously mentioned formats!)
  • CoverArt+ (Brings along cover art among all conversions!)
  • Organizing Files by album! (Give a dir of random music, and bitfake will organize it – ty to uncognic)
  • Directory Tagging (YAY!)
  • Album folder renaming from tags (Artist – Album (Year))
  • Spectrogram generation (in .png)
  • Version info (WOW! BEST YET!)
  • MusicBrainz Syncing data.

github.com/Ray17x/bitfake2
gpo.zugaina.org/app-misc/bitfake2
repology.org/maintainer/ray%40atl.tools/feed-for-repo/gentoo_ovl_guru

Winamp ASIO ~ ASIO & SRD Resampler


Further development of the ASIO output module by otachan (2006) for the Winamp player, including:

  • problem with setting the sample rate fixed
  • gapless mode completed
  • added individual channel assignment
  • added upsampling to a non-fractional multiple of base-frequency
  • added high quality resampler: sample rate doubler for best audio playback

winamp-asio-plugin.sourceforge.io
sourceforge.net/projects/winamp-asio-plugin
forums.winamp.com/forum/winamp/winamp-technical-support/4647216-asio-output-plugin

Ear Tag ~ Edit Audio File Tags


Ear Tag is a simple audio file tag editor. It is primarily geared towards making quick edits or bulk-editing tracks in albums/EPs. Unlike other tagging programs, Ear Tag does not require the user to set up a music library folder. It can:

  • Edit tags of MP3, WAV, M4A, FLAC, OGG and WMA files
  • Modify metadata of multiple files at once
  • Rename files using information from present tags
  • Identify files using AcoustID

Network access is only used for the “Identify selected files” option.

apps.gnome.org/EarTag
gitlab.gnome.org/World/eartag

OpenVoiceOS ~ Voice AI Platform


OpenVoiceOS is a community-driven, open-source voice AI platform for creating custom voice-controlled ​interfaces across devices with NLP, a customizable UI, and a focus on privacy and security.

www.openvoiceos.org
github.com/OpenVoiceOS
github.com/OpenVoiceOS/ovos-installer