scdlbot ~ Music Downloader Telegram Bot


Telegram Bot for downloading MP3 rips of tracks/sets from SoundCloud, Bandcamp, YouTube with tags and artwork.

github.com/gpchelkin/scdlbot

MusicSync ~ Synchronize Music Libraries


MusicSync is a cross-platform tool that synchronizes your music library between devices and drives with advanced settings.

You can use it through CLI, that makes easy to sync you library with only a click using a script, or through GUI, that is more user-friendly. Here there are two examples:

python musicsync D:/Music sdcard/Music --adb --min-rating 4.5 --output-format opus --output-bitrate 128k
python musicsync D:/Music sdcard/Music --adb --min-rating 3 --min-year 2020 --output-format opus --output-bitrate

github.com/serpest/MusicSync
hydrogenaud.io/index.php?topic=121169.0

ARver ~ Command Line AccurateRip Verification


ARver is a command-line program for verifying audio tracks ripped from a CD against checksums stored in AccurateRip database.

The idea behind AccurateRip verification is that it’s virtually impossible to get exact same errors when ripping different copies of the same CD on various CD drives. If the copies are scratched or otherwise degraded, read errors will occur in different disc sectors. CD drive defects are unlikely to manifest in the same way on different machines. Essentially, all read errors are expected to be unique, but in absence of errors only a single correct result exists.

AccurateRip database stores track checksums submitted by multiple users. When many users rip the same disc without errors, same checksums are submitted to the database repeatably, boosting their “confidence” statistic. If a checksum of a ripped track is not found in the database, it indicates that the track has not been ripped correctly. Since the result is unique, disc read errors likely occurred while ripping.

ARver calculates the AccurateRip checksums of local files, fetches checksums for a given CD from the database, and displays a report which compares them.

github.com/arcctgx/ARver

DawDreamer ~ Audio Processing Python Framework


DawDreamer is an audio-processing Python framework supporting core DAW features and beyond:

  • Composing graphs of multi-channel audio processors
  • Audio playback
  • VST instruments and effects (with UI editing and state loading/saving)
  • FAUST effects and polyphonic instruments
  • Time-stretching and looping, optionally according to Ableton Live warp markers
  • Pitch-warping
  • Parameter automation at audio-rate and at pulses-per-quarter-note
  • Parameter automation saving in absolute audio-rate time
  • MIDI playback in absolute time and PPQN time
  • MIDI file export in absolute time
  • Rendering and saving multiple processors simultaneously
  • Support for the Faust Box and Signal APIs
  • Transpiling Faust code to JAX/Flax and other target languages (C++, Rust, Wasm, etc.)
  • Machine learning experiments with QDax
  • Multiprocessing support
  • Full support on macOS, Windows, Linux, Google Colab, and Ubuntu Dockerfile

DawDreamer’s foundation is JUCE, with a user-friendly Python interface thanks to pybind11. DawDreamer evolved from an earlier VSTi audio “renderer”, RenderMan.

github.com/DBraun/DawDreamer

eyeD3 ~ ID3 Python Script Development


eyeD3 is a Python tool for working with audio files, specifically MP3 files containing ID3 metadata (i.e. song info).

It provides a command-line tool (eyeD3) and a Python library (import eyed3) that can be used to write your own applications or plugins that are callable from the command-line tool.

eyed3.readthedocs.io/en/latest/index

github.com/nicfit/eyeD3

rmlyrics3 ~ Lyrics3 Tag Remover For mp3s


Before ID3v2 came around, Lyrics3 and Lyrics3v2 had their uses (extending the 30-char limit, placing synced lyrics), but nowadays they are a nuisance for most of us. Plus, we have the lyrics frames USLT and SYLT in ID3v2.

Lyrics3 tags come between the audio data and an ID3v1/ID3v1.1 tag at the end of the file (sometimes without the following ID3v1 tag, even if that is mandatory according to Lyrics3 specs). Current ffmpeg and some players and tools still have bugs and try to interpret Lyrics3 tags as audio data, resulting in obscure errors. Unfortunately, there are almost no tools out there to remove Lyrics3 tags—most programs ignore them, but write them back if changing tags. When removing ID3v1 tags from a file, this can result in the illegal situation mentioned above (having a Lyrics3 tag without a following ID3v1 tag)..

This code has been tested with thousands of files but I can give no guarantees. If you destroy your whole music collection, it’s not my fault. Please have a backup!

github.com/Moonbase59/rmlyrics3

Tomita ~ python-tomita Synthesizer


tomita is a command-line music and synthesizer package based on PySynth.

github.com/g4brielvs/python-tomita

PySynth ~ Python Synthesizers & Scripts


PySynth is a suite of simple music synthesizers and helper scripts written in Python 3. It is based on a synth script I found on the Web and then modified for my purposes. The goal is not to produce many different sounds, but to have scripts that can turn ABC notation or MIDI files into a WAV file without too much tinkering.

There are nine PySynth variants now: PySynth A, the oldest variant, only needs Python itself, and sounds somewhat like a cross between a flute and organ. PySynth B is more complex in sound and needs NumPy. It is supposed to be a little closer to a piano. No competition for Pianoteq of course, but a reasonable fit for keyboard music. PySynth E is similar, but an FM-synthesized e-piano so it sounds much brighter than B (slightly DX7 e-piano-like; I used the DX7 presets in hexter as a basis). PySynth S is more comparable to a guitar, banjo, or harpsichord, depending on note length and pitch. PySynth C, D, and P are subtractive synths, reminiscent of 1970s analog synthesizer voices.

The synthesizers are all monophonic, i.e. they can only play one note at a time. (Although successive notes can overlap in PySynth B and S, but not A.) However, two or more output files can be mixed together…

mdoege.github.io/PySynth/

github.com/g4brielvs/python-tomita

libraries.io/pypi/PySynth

en.wikipedia.org/wiki/PySynth

Matchering ~ Master Via Modeling


Matchering 2.0 is a novel Containerized Web Application and Python Library for audio matching and mastering. It follows a simple idea – you take TWO audio files and feed them into Matchering:

  • TARGET (the track you want to master, you want it to sound like the reference)
  • REFERENCE (another track, like some kind of “wet” popular song, you want your target to sound like it)

Our algorithm matches both of these tracks and provides you the mastered TARGET track with the same RMS, FR, peak amplitude and stereo width as the REFERENCE track has.

github.com/sergree/matchering

Curlew ~ Linux Multimedia Converter


Curlew is an easy to use, free and open-Source multimedia converter for Linux. It written in Python and GTK3 and it depends on FFmpeg or Libav.

Main features:

  • Easy to use and clean user interface.
  • Hide the advanced options with the ability to show them.
  • Convert to more than 100 different formats.
  • Allow to edit formats.
  • Shutdown or suspend PC afer a conversion process.
  • Show file informations (duration, remaining time, estimated size, progress value).
  • Show file details using mediainfo.
  • Allow to skip or remove file during conversion process.
  • Preview file before conversion.

curlew1

curlew.sourceforge.io
sourceforge.net/projects/curlew

GNU Solfege ~ Train Your Ears


GNU Solfege is *free* ear training software written in Python 3.4 using the Gtk+ 3 toolkit. The program is designed to be easily extended with lesson files (data files), so the user can create new exercises.

www.gnu.org/software/solfege
sourceforge.net/projects/solfege

Mkchromecast ~ Linux & Mac Casting


This is a program to cast your macOS audio, or Linux audio to your Google Cast devices or Sonos speakers. It can also cast video files.

It is written for Python3, and it can stream via  node.js,parec (Linux), ffmpeg, or avconvMkchromecast is capable of using lossy and lossless audio formats provided that ffmpeg, avconv (Linux), or parec (Linux) are installed. It also supports Multi-room group playback, and 24-bit/96kHz high audio resolution. Additionally, a system tray menu is available.

mkchromecast.com
github.com/muammar/mkchromecast