Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kommandozeilenprogramm zum MP3 Metadaten editieren

2 views
Skip to first unread message

Marcel Mueller

unread,
Feb 8, 2023, 5:12:22 PM2/8/23
to
Hallo,

ich bin auf der Suche nach einem schnellen Kommandozeilenprogramm zum
Bearbeiten von ID3V2.4 Metadaten.
Aktuell verwende ich eyeD3. Das funktioniert im Prinzip korrekt. Das
Problem ist nur es braucht für jede MP3-Datei so Größenordnung eine
halbe Sekunde. Keine Ahnung ob das am Python-Interpreter nebst Dutzenden
von Bibliotheken oder was auch immer liegt. Auf jeden Fall macht es
Massenaktionen für tausende von Dateien zu einem bis zu stundenlangen
Geduldsspiel. Deshalb hätte ich gerne etwas schnelleres.
Die Skipte drum herum kann ich anpassen. Und die sind auch nicht der
Engpass. Bei Ogg-Dateien benutzen sie vorbiscomment und sind damit rund
einen Faktor 10 schneller als bei MP3 mit eyeD3.

Kennt jemand ein Tool, was das besser kann?
Es reicht, wenn es Text-Frames bearbeiten kann. Cover-Bilder brauche ich
bis auf weiteres nicht. Nur sollten unveränderte Frames erhalten bleiben.


Marcel

Ralph Angenendt

unread,
Feb 9, 2023, 7:51:09 AM2/9/23
to
Well, Marcel Mueller <news.5...@spamgourmet.org> wrote:
> Aktuell verwende ich eyeD3. Das funktioniert im Prinzip korrekt. Das
> Problem ist nur es braucht für jede MP3-Datei so Größenordnung eine
> halbe Sekunde. Keine Ahnung ob das am Python-Interpreter nebst Dutzenden
> von Bibliotheken oder was auch immer liegt. Auf jeden Fall macht es
> Massenaktionen für tausende von Dateien zu einem bis zu stundenlangen
> Geduldsspiel.

Hmm, das kann ich hier nur bedingt nachvollziehen:

rangenendt > tmp > time for file in *mp3; do eyeD3 --orig-artist "All songs written by me" "$file"; done /dev/null
real 3m12.870s
user 2m14.444s
sys 0m41.848s
rangenendt > tmp > time eyeD3 --orig-artist "All songs by you" *mp3/dev/null
real 0m15.382s
user 0m4.335s
sys 0m5.538s
rangenendt > tmp > ls -l *mp3 | wc -l
2089

Das sind hier 0.09 Sekunden pro Datei, wenn ich für jede Datei einzeln eyeD3
aufrufe, 15 Sekunden für alle, wenn ich die Dateien an einen Aufruf verfüttere.

MacBook Air M1, SSD. Beim ersten Aufruf waren die Dateien gerade "frisch auf
Platte", also von woanders her erzeugt.

Ralph
--
Is your mother worried?
Would you like us to assign someone to worry your mother?

Marcel Mueller

unread,
Feb 10, 2023, 12:48:46 PM2/10/23
to
Am 09.02.23 um 13:51 schrieb Ralph Angenendt:
> Well, Marcel Mueller <news.5...@spamgourmet.org> wrote:
>> Aktuell verwende ich eyeD3. Das funktioniert im Prinzip korrekt. Das
>> Problem ist nur es braucht für jede MP3-Datei so Größenordnung eine
>> halbe Sekunde. Keine Ahnung ob das am Python-Interpreter nebst Dutzenden
>> von Bibliotheken oder was auch immer liegt. Auf jeden Fall macht es
>> Massenaktionen für tausende von Dateien zu einem bis zu stundenlangen
>> Geduldsspiel.
>
> Hmm, das kann ich hier nur bedingt nachvollziehen:
[...]
> Das sind hier 0.09 Sekunden pro Datei, wenn ich für jede Datei einzeln eyeD3
> aufrufe, 15 Sekunden für alle, wenn ich die Dateien an einen Aufruf verfüttere.
>
> MacBook Air M1, SSD. Beim ersten Aufruf waren die Dateien gerade "frisch auf
> Platte", also von woanders her erzeugt.

So teures Zeug habe ich nicht. Das ist ein älterer VM-Server mit einem
AMD FX mit gut 4 GHz. Der Zugriff auf die Files läuft zudem über NFS4
mit Verschlüsselung.

Auf jeden Fall dauert bereits das erste Test-Kommando (ein Tag setzen)
wesentlich länger.

real 0m9,984s
user 0m8,205s
sys 0m1,753s

(32 Dateien in /tmp)

Offenkundig ist es aber auch eine andere eyeD3-Version. --orig-artist
kannte die jedenfalls nicht.

vorbiscomment ist jedenfalls ca. einen Faktor 7 schneller. Und das muss
immer die ganze Datei neu schreiben, nicht nur manchmal.

real 0m1,350s
user 0m0,463s
sys 0m0,698s

(27 Dateien)


Marcel

Ralph Angenendt

unread,
Feb 13, 2023, 6:38:58 AM2/13/23
to
Well, Marcel Mueller <news.5...@spamgourmet.org> wrote:
> Am 09.02.23 um 13:51 schrieb Ralph Angenendt:
>> Das sind hier 0.09 Sekunden pro Datei, wenn ich für jede Datei einzeln eyeD3
>> aufrufe, 15 Sekunden für alle, wenn ich die Dateien an einen Aufruf verfüttere.
>>
>> MacBook Air M1, SSD. Beim ersten Aufruf waren die Dateien gerade "frisch auf
>> Platte", also von woanders her erzeugt.
>
> So teures Zeug habe ich nicht. Das ist ein älterer VM-Server mit einem
> AMD FX mit gut 4 GHz. Der Zugriff auf die Files läuft zudem über NFS4
> mit Verschlüsselung.

Okay. Dass das einen Unterschied macht, sehe ich ein.

> Offenkundig ist es aber auch eine andere eyeD3-Version. --orig-artist
> kannte die jedenfalls nicht.

0.9.6 hier.

Cheers,
0 new messages