Automatiser BPM-Tagging af Musikbibliotek med Beat-Detection Software og CLI-Værktøjer | Guide til MP3 og FLAC

Hvordan kan hele musikbiblioteket retagges med BPM-feltet ved hjælp af beat-detection software, helst CLI, og findes der lignende løsninger til tagging af FLAC-filer?

At retagge et musikbibliotek med BPM-feltet kan automatiseres ved hjælp af beat-detection software som Essentia og CLI-værktøjer som FFmpeg og metaflac, hvilket også fungerer for FLAC-filer.

Hvordan kan hele musikbiblioteket retagges med BPM-feltet ved hjælp af beat-detection software, helst CLI, og findes der lignende løsninger til tagging af FLAC-filer?

At retagge et musikbibliotek med BPM-feltet kan være en tidskrævende opgave, men ved hjælp af beat-detection software og kommandolinjeværktøjer (CLI) kan processen automatiseres. Her er en trin-for-trin guide til, hvordan du kan gøre dette:

1. Vælg en Beat-Detection Software

  • Mixxx: En open-source DJ-software, der kan analysere BPM.
  • KeyFinder: Et værktøj til at finde BPM og musiknøgler.
  • Essentia: Et bibliotek til lydanalyse og musikoplysninger, der kan bruges via CLI.

2. Brug af CLI til BPM-Detection

Her er et eksempel på, hvordan du kan bruge Essentia til at analysere BPM via CLI:

essentia_streaming_extractor_music input_audio_file output_json_file

Dette vil generere en JSON-fil med BPM-oplysninger, som du kan bruge til at opdatere dine tags.

3. Tagging af Musikfiler

For at opdatere tags i dine musikfiler kan du bruge værktøjer som:

  • FFmpeg: Kan bruges til at manipulere metadata i lydfiler.
  • eyeD3: Et værktøj til at arbejde med ID3-tags i MP3-filer.
  • metaflac: Et værktøj til at arbejde med FLAC metadata.

4. Automatisering med Scripts

Du kan skrive et script til at automatisere processen. Her er et eksempel på et bash-script, der bruger Essentia og FFmpeg:


#!/bin/bash
for file in *.mp3; do
  essentia_streaming_extractor_music "$file" "${file%.mp3}.json"
  bpm=$(jq '.rhythm.bpm' "${file%.mp3}.json")
  ffmpeg -i "$file" -metadata bpm="$bpm" -codec copy "tagged_$file"
done

Løsninger til Tagging af FLAC-filer

For FLAC-filer kan du bruge metaflac til at opdatere metadata. Her er et eksempel:


#!/bin/bash
for file in *.flac; do
  essentia_streaming_extractor_music "$file" "${file%.flac}.json"
  bpm=$(jq '.rhythm.bpm' "${file%.flac}.json")
  metaflac --set-tag="BPM=$bpm" "$file"
done

Ved at følge disse trin kan du effektivt retagge hele dit musikbibliotek med BPM-feltet ved hjælp af beat-detection software og CLI-værktøjer. Dette vil gøre det lettere at organisere og finde musik baseret på BPM.