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

caudecΒ ~ Multiprocess Audio Converter


caudec is a command-line utility that transcodes (converts) audio files from one format (codec) to another, among other things.

It leverages multi-core CPUs and runs multiple processes concurrently (one per file and per codec, and more than one thread per codec when it supports it). The objective is to hog the CPU as much and as long as possible. One strategy is to sort input files by size, so that the largest files potentially get more threads towards the end of the job.

Features:

  • Supported input formatsΒ / codecs: WAV, AIFF, CAF, FLAC, WavPack, Monkey’s Audio, ALAC.
  • Supported output formatsΒ / codecs: all of the above, as well as LossyWAV / LossyFLAC, MP3, AAC (.m4a), Ogg Vorbis, Opus.
  • Supported platforms: macOS, Linux.
  • Transcoding to several different codecs at once is possible. In that case, decoding of input files is done only once.
  • Metadata is preserved (as much as possible) from one codec to another.
  • Artwork can be embedded into each file, and / or copied to the output directory. It can be done selectively (e.g. embed and / or copy one image for lossless files, and another image for lossy files).
  • Audio can be resampled (e.g. 48kHz to 44.1kHz) and downmixed (e.g. 6 channels to stereo). A profile can be provided to set a maximum value for the number of channels, bit depth and sampling rate. When a profile is provided, the source will only be altered after decoding and before encoding, if some metric of the source is above the given profile.
  • Multiprocess ReplayGain scannerΒ for FLAC, WavPack, MP3, Ogg Vorbis, Opus.
  • Ability to hard link lossy files to a different directory when encoding to WavPack Hybrid. The point is to have two libraries that takes the storage of just one, with a lossy collection that has its own root directory and that’s easy to drag and drop to a device such as a smartphone or a Digital Audio Player (DAP).
  • Ability to touch files and album directories using metadata to reflect the music’s release date and duration (see example below).

github.com/gcocatre/caudec