Music ~ Python Extreme Fidelity Synthesis


Extreme-fidelity synthesis of musical elements.

Music generates and manipulates sound in LPCM audio, sample by sample. It implements MASS (Music and Audio in Sample Sequences), a collection of psychophysical descriptions of musical elements expressed as equations and corresponding Python routines.

Music can synthesize musical notes, scales and chords, apply audio filters and effects, create spatial audio, and even sing lyrics to a melody. It is designed for precise sound synthesis, audio processing, and experiments with music and sound.

github.com/ttm/music

Soundgrain ~ Granular Sound Synthesis


Soundgrain is a graphical interface where users can draw and edit trajectories to control granular sound synthesis. Soundgrain is written with Python/WxPython and uses Pyo as its audio engine.

Soundgrain_screenshot

github.com/belangeo/soundgrain
linuxsynths.com/SoundgrainDemos/soundgrain

Liquidsoap Record ~ Capture Radio Streams


A tool for recording internet radio streams (Shoutcast/Icecast/HTTP streams) to disk with automatic track-splitting, ID3/Vorbis metadata tagging, and cover-art embedding — driven by Liquidsoap and controlled through a desktop GUI (with an optional web interface).

liquidsoap-record desktop interface

github.com/smoralis/liquidsoap-record
hydrogenaudio.org/index.php/topic,129894.0

tinytag ~ Python Tag Library


tinytag is a Python library for reading audio file metadata.

Features:

  • Read tags, images and properties of audio files
  • Supported formats:
    • ID3 v1, v1.1, v2.2, v2.3, v2.4
    • MP3 / MP2 / MP1
    • MP4 (MPEG-4 Audio / AAC / ALAC)
    • WAVE / WAV
    • OGG (FLAC / Opus / Speex / Vorbis)
    • FLAC
    • ASF (WMA)
    • AIFF / AIFF-C
  • Same API for all formats
  • Small, portable library
  • High code coverage
  • Pure Python, no dependencies
  • Supports Python 3.7 or higher

github.com/tinytag/tinytag

mp3-packer ~ Bitrate Reduction Script


I have more music than would fit onto the memory card of my phone. This is largely due to the 256 kBit/s versions that are sold now. On the phone, I do not really hear the difference between 256 kBit/s and 128 kBit/s, but I can clearly see the difference in size.

This script creates a whole copy of your music library, just with a smaller bitrate. It uses either ffmpeg or lame to convert the tracks.

github.com/martin-ueding/mp3-packer

acidcat ~ Audio File Forensics


A pure-Python inspector, editor, and forensic tool for audio files and synth/DAW presets: read the metadata, decode the format structure byte by byte, flag anomalies, repair broken containers, and identify how a file was made.

Reads BPM, key, duration, tags, and format info from WAV, AIFF, MP3, FLAC, OGG, Opus, M4A, MIDI, and Serum presets. Also structurally decodes Bitwig (.bwpreset/.bwclip), Native Instruments (Massive/Absynth/Kontakt/NKS/KORE), Vital, NCW, SoundFont (SF2/SF3), tracker modules (MOD/XM/IT), MP4, VST FXP, ReCycle RX2, and RMID containers via inspect. Beyond reading: repair and validate fix and check container structure (stale sizes, offset tables, counts, pad bytes) without touching a byte of audio, and audit gives a forensic verdict (structure, integrity, hidden data, and the writing tool). One pure-Python dependency (mutagen); the native inspect walkers need nothing. Optional librosa analysis for BPM/key detection and ML feature extraction.

Also ships per-library SQLite indexes (acidcat index) tracked in a small global registry, plus an MCP server (acidcat-mcp) so an LLM can query your whole collection across libraries by bpm, key, tags, or full-text.

github.com/hed0rah/acidcat
github.com/hed0rah/acidcat-playground
www.databurn.org

SPPAS ~ Speech Annotation & Analysis


SPPAS is a scientific computer software package written and maintained by Brigitte Bigi of the Laboratoire Parole et Langage, in Aix-en-Provence, France. Available for free, with open source code, there is simply no other package for linguists to simple use in the automatic annotations of speech, the analyses of any kind of annotated data and the conversion of annotated files.

SPPAS is able to produce automatically speech annotations from a recorded speech sound and its orthographic transcription. SPPAS is helpful for the analysis of any annotated data: estimate statistical distributions, make requests, manage files, visualize annotations. SPPAS offers a file converter from & to a wide range of formats: xra, TextGrid, eaf, trs …

sppas.org
sourceforge.net/projects/sppas

Drum Machine ~ Create & Play Drum Beats


Drum Machine is a modern and intuitive application for creating, playing, and managing drum patterns. Perfect for musicians, producers, and anyone interested in rhythm creation, this application provides a simple interface for drum pattern programming. Have fun!

Features:

  • Intuitive grid-based pattern editor with infinite pages
  • Custom samples: Add your own drum sounds with MIDI note mapping
  • Adjustable BPM control
  • Volume control for overall mix
  • Save and load patterns
  • Multiple drum sounds including kick, snare, hi-hat, and more
  • Audio and MIDI export with support for WAV, FLAC, Ogg, MP3, and MIDI formats
  • Metadata support for embedding artist name, song title, and cover art
  • Keyboard shortcuts for quick access to all functions

apps.gnome.org/DrumMachine
github.com/revisto/drum-machine

pyEQ ~ Python Mono Parametric Equalizer


A simple parametric equalizer with 5 IIR filters. Written in python 3.4 for no other purpose than self-learning and fun. Currently supports only mono wave files.

Uses scipy, numpy, pyaudio for audio processing and pyside for GUI.

github.com/twoz/pyEQ

SonicDive ~ 8D Music Player


✨ Features
🎵 Audio Visual Spectrums
SonicDive supports multiple real-time audio visualizations:

💿 Disk Spectrum
📊 Bars Spectrum
🌊 Wave Spectrum
🖼️ Thumbnail Spectrum
⭕ Circle Spectrum
Each spectrum reacts dynamically to the music’s frequency and intensity.

🎚️ Audio Effects & Modes
Choose from a variety of sound profiles to match your mood:

🔊 Flat
🎧 3D Audio
🎧 8D Audio
🎤 Hip-Hop
🎻 Classic
🎸 Rock
🎥 Dolby Effect

Features:

  • 8d music
  • dolby sound
  • 3d music
  • spectrums
  • opensource
  • pyqt5
  • python

sourceforge.net/projects/sonicdive-8d-music-player

Foobar2000 ~ ctrfoobar2000 script


Control Foobar2000 with python + Command line

usage: control.py [-h] [-p] [-t PLAY_TRACK] [-s] [-P] [-n] [-r] [-R]
[-V VOLUME] [-m] [-i] [-f [ADDFOLDER [ADDFOLDER ...]]]
[-fi [ADDFILES [ADDFILES ...]]]
[-F [ADDFOLDERPLAY [ADDFOLDERPLAY ...]]]
[-Fi [ADDFILESPLAY [ADDFILESPLAY ...]]] [-c]
[-d [DEL_TRACK [DEL_TRACK ...]]] [-l] [-b]
[-S TYPE_CONTROLLER] [-H HOST] [-O PORT] [-?] [-g]
[-x [CHANGE_CONFIG [CHANGE_CONFIG ...]]] [-T SECTION]
[-E OPTION OPTION] [-a DIR_ALIAS] [-v] [-L LEVEL_ALIAS]
[-z REPEAT] [--repeat-off] [--repeat-playlist]
[--repeat-track] [--repeat-random] [--shuffle-track]
[--shuffle-album] [--shuffle-folder] [--seek SEEK]
[--root ROOT]
optional arguments:
-h, --help show this help message and exit
-p, --play Play Playback
-t PLAY_TRACK, --play-track PLAY_TRACK
Play Playback Track No
-s, --stop Stop Playback
-P, --pause Pause Playback
-n, --next Next Play
-r, --previous Previous Play
-R, --random Play Random
-V VOLUME, --volume VOLUME
Set Volume, range is -100 <= value <= 0
-m, --mute Mute Volume
-i, --info Get info current Playing
-f [ADDFOLDER [ADDFOLDER ...]], --addfolder [ADDFOLDER [ADDFOLDER ...]]
Add Remote Folder Queue [HTTP]
-fi [ADDFILES [ADDFILES ...]], --addfiles [ADDFILES [ADDFILES ...]]
Add Remote Files Queue [HTTP]
-F [ADDFOLDERPLAY [ADDFOLDERPLAY ...]], --addfolderplay [ADDFOLDERPLAY [ADDFOLDERPLAY ...]]
Add Remote Folder Queue & Play it [HTTP]
-Fi [ADDFILESPLAY [ADDFILESPLAY ...]], --addfilesplay [ADDFILESPLAY [ADDFILESPLAY ...]]
Add Remote Folder Queue & Play it [HTTP]
-c, --clear-playlist Clear Current Playlist [HTTP]
-d [DEL_TRACK [DEL_TRACK ...]], --del-track [DEL_TRACK [DEL_TRACK ...]]
Delete Playlist [HTTP], example: foobar -d 1 2 3
-l, --list List Playlist
-b, --browser Browser Library
-S TYPE_CONTROLLER, --type-controller TYPE_CONTROLLER
Set Type Of Controller [com,http]
-H HOST, --host HOST Remote Host control Address [HTTP]
-O PORT, --port PORT Remote Port control Address [HTTP]
-?, --usage Print All Help
-g, --read-config Read config file
-x [CHANGE_CONFIG [CHANGE_CONFIG ...]], --change-config [CHANGE_CONFIG [CHANGE_CONFIG ...]]
Set Change config. format: section#option#value
-T SECTION, --section SECTION
Set Section Config
-E OPTION OPTION, --option OPTION OPTION
Set Option Config
-a DIR_ALIAS, --dir-alias DIR_ALIAS
Root of Directory Alias On Server
-v, --version -v = show version | -vv = verbosity process
-L LEVEL_ALIAS, --level-alias LEVEL_ALIAS
Level Root of Directory Alias On Server
-z REPEAT, --repeat REPEAT
Repeat 0 = Default (repeat off) | 1 = Repeat Playlist
| 2 = Repeat Track | 3 = Random Play | 4 = Shuffle
Track | 5 = Shuffle Album | 6 = Shuffle Folders
--repeat-off Repeat Off
--repeat-playlist Repeat Playlist
--repeat-track Repeat Track
--repeat-random Random Play
--shuffle-track Shuffle Track
--shuffle-album Shuffle Album
--shuffle-folder Shuffle by Folder
--seek SEEK Seek for a second
--root ROOT Root path / Directory Containt Music files, this is
for One Folder Files Selected

github.com/cumulus13/ctrfoobar2000