flac2mp3 Script "aufbohren"

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
willy4711

Re: flac2mp3 Script "aufbohren"

Beitrag von willy4711 » 02.03.2019 15:04:08

Aufgebohrt:

Code: Alles auswählen

#! /bin/sh

for a in *.flac; do
    OUTF=${a%.flac}.mp3        
    
    ffmpeg -y -i "$a" -vn -acodec libmp3lame -b:a 320k -ac 2 -ar 44100 "$OUTF"
done
Ergebniss:

Code: Alles auswählen

ls -al /home/willy/Musik/ |grep "mp3\|flac"
-rw-r--r--  1 willy willy      38190143 Mär  1 18:47 05 - Cadillac George Harris - Feel Like Breaking Up Somebody's Home.flac
-rw-r--r--  1 willy willy      15346083 Mär  2 14:48 05 - Cadillac George Harris - Feel Like Breaking Up Somebody's Home.mp3
-rw-r--r--  1 willy willy      22842330 Mär  1 18:47 06 - Cadillac George Harris - Dangerous Woman.flac
-rw-r--r--  1 willy willy       8486309 Mär  2 14:48 06 - Cadillac George Harris - Dangerous Woman.mp3
-rw-r--r--  1 willy willy      23966495 Mär  1 18:47 07 - Cadillac George Harris - That's Alright.flac
-rw-r--r--  1 willy willy       9849900 Mär  2 14:48 07 - Cadillac George Harris - That's Alright.mp3
-rw-r--r--  1 willy willy      25000181 Mär  1 18:47 08 - George Jackson - I Want That Love Back.flac
-rw-r--r--  1 willy willy       9591807 Mär  2 14:48 08 - George Jackson - I Want That Love Back.mp3
-rw-r--r--  1 willy willy      28413504 Mär  1 18:47 09 - George Jackson - Strugglin' Lady.flac
-rw-r--r--  1 willy willy      11326333 Mär  2 14:49 09 - George Jackson - Strugglin' Lady.mp3
-rw-r--r--  1 willy willy      23416985 Mär  1 18:47 10 - George Jackson - Heart To Heart Collect.flac
-rw-r--r--  1 willy willy       9551061 Mär  2 14:49 10 - George Jackson - Heart To Heart Collect.mp3
-rw-r--r--  1 willy willy      34005749 Mär  1 18:47 14 - Sweet Miss Coffy - Baby Don't Do It.flac
-rw-r--r--  1 willy willy      12702469 Mär  2 14:49 14 - Sweet Miss Coffy - Baby Don't Do It.mp3
Alles drin alles dran
2079

LOG : NoPaste-Eintrag40649

Korrektur:

dieses Skript produziert zumindest bei mir auch die Covers. Hatte zuerst ein noch nicht fertig getagtes File erwischt :facepalm:
Das Ergebnis ist identisch (Filename / Tag) mit dem Einzeiler oben.

Code: Alles auswählen

#! /bin/sh

for a in *.flac; do
    OUTF=${a%.flac}.mp3

    ARTIST=$(metaflac "$a" --show-tag=ARTIST | sed s/.*=//g)
    TITLE=$(metaflac "$a" --show-tag=TITLE | sed s/.*=//g)
    ALBUM=$(metaflac "$a" --show-tag=ALBUM | sed s/.*=//g)
    GENRE=$(metaflac "$a" --show-tag=GENRE | sed s/.*=//g)
    TRACKNUMBER=$(metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g)
    DATE=$(metaflac "$a" --show-tag=DATE | sed s/.*=//g)
        
    flac -c -d "$a" | lame -V0 --add-id3v2 --pad-id3v2 --ignore-tag-errors --ta "$ARTIST" --tt "$TITLE" --tl "$ALBUM" --tg "${GENRE:-12}" --tn "${TRACKNUMBER:-0}" --ty "$DATE" - "$OUTF"
done

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: flac2mp3 Script "aufbohren"

Beitrag von dirk11 » 02.03.2019 20:49:13

willy4711 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 13:35:12
dirk11 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 13:24:02
Ich weiß ja nicht, was Du mit "schlechte Karten" meinst, aber das Script funktioniert seit Jahren!
Dann machst du eben seit Jahren was falsch, oder hast keine richtige Musiksammlung.
Wenn Du meinst...
Flac Dateien, die nach Standard getaggt sind, kann es nicht lesen. Sonst hätte es ja auch die Covers übernommen.
Jetzt mal ganz ehrlich: ich hätte es sinnvoller gefunden, wenn Du sofort schreibst, dass Du überhaupt keine Ahnung von dem hast, was Du hier schreibst, dann wäre ich da auch nicht weiter drauf eingegangen.
Im Gegensatz zu Dir bin ich mittlerweile (durch Nachdenken und nochmaliges genaues Anschauen) darauf gekommen, daß das Script deshalb die Cover nicht übernimmt, weil das überhaupt nicht integriert ist. Es steht sogar drin, was es genau übernimmt:
$TITLE $TRACKNUMBER $ARTIST $ALBUM $DATE $GENRE
Aber anstatt zuzugeben, dass Du nicht mal ansatzweise - und damit noch weniger als ich - begriffen hast, was das Script macht, ist es natürlich der einfachere und bequemere Weg, sich erstmal über ein einziges Wort zu echauffieren ("Mausgeschubse") und damit gleich die ganze Fragestellung zu torpedieren; einfach mal in den Raum zu werfen und zu behaupten, man hätte "keine richtige Musiksammlung"; oder die FLAC-Dateien entsprächen "nicht dem Standard".
Was Du hier machst, ist keine sachliche Diskussion und schon gar keine Hilfe, sondern einfach nur eigene Unfähigkeit durch "Anstacheln" zu vertuschen.
Oder, Klartext:
Ich finde Dein Verhalten absolut Scheiße! Deine ständigen unsachlichen Sticheleien nerven, weil sie nur zu Steit und Zwist führen, indem Du damit andere provozierst!
Meine nach Standard getaggten Flac - Dateien kann es offensichtlich gar nicht lesen.
Dann sitzt das Problem wohl bei Dir vor der Tastatur.
Ich weiß auch nicht, was für Dich "Standard" ist, jedenfalls sind meine FLAC von meinen eigenen CDs mit abcde "gerippt" und mit id3tag versehen, welches zum rippen cdparanoia verwendet. Da einfach mal mehrfach(!) hinzuwerfen, das sei "nicht nach Standard", ist schon einen ganz dicken Strahl pissen für jemanden, der ganz offensichtlich noch weniger Ahnung hat als ich und der weder meine Sammlung noch die Art und Weise, wie ich sie gerippt habe, kennt.
Etwas mehr über Metadaten /Tagging-Formate:
Da würde ich Dir dann doch mal empfehlen, das selbst zu lesen. Danach kannst Du mir dann ja vielleicht auch erklären, was diese für meine Fragestellung zum im ersten posting gezeigten shell-script absolut nutzlosen Links sollen.
Nochmal für Dich:
Ich habe hier Fragen zum Shell-Scripting gestellt, Du hingegen kommst mit Gerede zu "nicht standardkonformen tags". Wenn Du in eine Autowerkstatt gehst, einen stotternden Motor als Problem beschreibst und dann zur Antwort bekommst, Du sollst erstmal Deine zerkratzte Windschutzscheibe austauschen, wie würdest Du dem Werkstattmeister gegenübertreten? Da ist meine Reaktion hier noch human gegen...

EDIT:
Das einzige, was noch sein kann ist, das easyTAG die Cover nicht "standard-konform" hinzufügt, denn einige der FLAC haben keine automatisch hinzugefügten Cover-Bilder, sondern solche, die ich nachträglich mit easyTAG eingefügt habe. Was ich aber nicht glaube, da sie auf meinen Abspielgeräten angezeigt werden.

willy4711

Re: flac2mp3 Script "aufbohren"

Beitrag von willy4711 » 02.03.2019 23:34:22

dirk11 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 20:49:13
Aber anstatt zuzugeben, dass Du nicht mal ansatzweise - und damit noch weniger als ich - begriffen hast, was das Script macht, ist es natürlich der einfachere und bequemere Weg, sich erstmal über ein einziges Wort zu echauffieren ("Mausgeschubse") und damit gleich die ganze Fragestellung zu torpedieren; einfach mal in den Raum zu werfen und zu behaupten, man hätte "keine richtige Musiksammlung"; oder die FLAC-Dateien entsprächen "nicht dem Standard".
Das erste Sript liefert ganz einfach einen Fehler, weil es die Tags nicht lesen kann.
Hab die Terminal-Ausgabe ja hinzugefügt.

Das zweite Skript (die entschiedenen Unterschiede habe ich benannt) liefert keinen Fehler und liest die Metadaten (Vorbis-Comment) in der
verlangten Menge incl. Covers, aus. Auch wenn du es auch nicht wahrhaben willst. Warum das Cover ausgelesen wird - Keine Ahnung.

Das dritte Skript (ffmpeg) macht das automatisch und wurde ja von anderen ganz am Anfang des Threads vorgeschlagen. Darauf bist du aber
nicht eingegangen. Außer mit dem (falschen) Hinweis auf Qualitätsunterschiede.


Vielleicht solltest du dich mal mit dem genauen Unterschied zwischen Vorbis-Comment und ID3v2 (speziell Padding ) beschäftigen, und warum
man flac- Dateien nicht mit ID3v2 taggen sollte.
Quellen über die daraus entstehenden Probleme hatte ich auch beigefügt.
dirk11 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 20:49:13
Da einfach mal mehrfach(!) hinzuwerfen, das sei "nicht nach Standard", ist schon einen ganz dicken Strahl pissen für jemanden, der ganz offensichtlich noch weniger Ahnung hat als ich und der weder meine Sammlung noch die Art und Weise, wie ich sie gerippt habe, kennt.
Na ja das fällt wohl auf dich selbst zurück. Empfehlung: Nachlesen über Flac- Container.
dirk11 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 20:49:13
Ich habe hier Fragen zum Shell-Scripting gestellt, Du hingegen kommst mit Gerede zu "nicht standardkonformen tags". Wenn Du in eine Autowerkstatt gehst, einen stotternden Motor als Problem beschreibst und dann zur Antwort bekommst, Du sollst erstmal Deine zerkratzte Windschutzscheibe austauschen, wie würdest Du dem Werkstattmeister gegenübertreten? Da ist meine Reaktion hier noch human gegen...
Da hast du einfach nicht verstanden, wo die Zusammenhänge sind. Aber jetzt wiederhole ich mich.

Noch ein Wort zu meinen "ständigen unsachlichen Sticheleien".

Ich empfinde es als diskriminierend, wenn ich (und andere) als Mausschubser bezeichnet werden, denn nichts anderes steckt dahinter. Es scheint mir, das
der Umgang mit der Konsole als etwas "höherwertiges" angesehen wird, und auf Anwender, die die GUI verwenden wollen herabgesehen wird.
Nun hat die Konsole sicherlich ihre Berechtigung was ich überhaupt nicht abstreiten will.
Ich gestehe selbstverständlich auch jedem das Recht zu, "just for fun" sich mit Skripten zu beschäftigen, wenn sie auch - wie in diesem Fall -
wenig oder gar nichts zum produktiven Umgang mit Musikdateien beitragen. Aber dann sollte man es auch so benennen.
Mausschubser ist der falsche Ausdruck.
Ich verwalte über 100 000 Musikdateien und müsste mit dem Klammerbeutel gepudert sein, wenn ich das über die Konsole machen wollte.

willy4711

Re: flac2mp3 Script "aufbohren"

Beitrag von willy4711 » 03.03.2019 11:28:18

Noch ein Paar Ergänzungen:
Das Skripten macht ja nur dann Sinn, wenn hinterher ein mit den meisten Medienplayern verwertbares Ergebnis raus kommt.
Ich hatte weiter oben ja schon was zu der Übernahme des Covers beim Konvertieren gesagt.

Nun war es Zufall, dass ich die konvertierte mp3- Datei mit dem VLC geöffnet hatte (Bild war ja vorhanden).

Alle anderen Player können das Cover nicht anzeigen.

Das heißt, dass man das Cover zu Fuß importieren muss, wenn man den VLC nicht verwenden will.

Weiterer Test:
Hab die Stücke mit meinem (kostenpflichtigen) Tool nach mp3 konvertiert:

Danach zeigen alle bei mir installierten Player das Cover an. ---- Nur Easytag nicht :?:

Das Importieren von Covern aus einer flac Datei, die in der Datei eingebettet sind, scheint also mehr oder weniger eine "Geheimwissenschaft"
zu sein, die nur ganz wenige Tools beherrschen.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: flac2mp3 Script "aufbohren"

Beitrag von dirk11 » 03.03.2019 13:17:11

willy4711 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 23:34:22
Das erste Sript liefert ganz einfach einen Fehler, weil es die Tags nicht lesen kann.
Hab die Terminal-Ausgabe ja hinzugefügt.
Ja. Daraus aber schließen, daß meine flac "nicht standardkonform" seien, ist schon ziemlich vermessen. Mit meinen flac (und die sind nicht alle von mir selbst erstellt) funktionieren beide Script-Varianten.
Das zweite Skript (die entschiedenen Unterschiede habe ich benannt) liefert keinen Fehler und liest die Metadaten (Vorbis-Comment) in der
verlangten Menge incl. Covers, aus. Auch wenn du es auch nicht wahrhaben willst. Warum das Cover ausgelesen wird - Keine Ahnung.
Auch wenn Du es nicht wahrhaben willst¹: vermutlich weil Du das Script falsch abgetippt hast oder weil Deine flac nicht "standardkonform" sind.
Außer mit dem (falschen) Hinweis auf Qualitätsunterschiede.
Kannst Du bitte endlich mal Lesen lernen!?!?! Ich habe keinen "Hinweis" gegeben, sondern das ganz bewußt von Anfang an als meine Vermutung geschrieben und sogar als Frage gestellt.
Hör' endlich auf, mir Deine Lese-Inkompetenz als Realität unterzuschieben! Ich verbitte es mir ein für alle Mal, Dein Text-Unverständnis auf mich abgeschoben zu bekommen!

Oh, und an anderer Stelle fängst Du auch noch an, Deine fehlende Lesekompetenz auf mich abzuwälzen:
willy4711 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 12:18:47
Das kann man auch ohne weiteres in der Doku nachlesen und muss keine falschen Gerüchte verbreiten
Nochmal für Dich: das mit dem Unterschied ffmpeg/lame war eine Vermutung und Frage, kein "falsches Gerücht".
Vielleicht solltest du dich mal mit dem genauen Unterschied zwischen Vorbis-Comment und ID3v2 (speziell Padding ) beschäftigen, und warum
man flac- Dateien nicht mit ID3v2 taggen sollte.
Ich weiß ja nicht, wer hier für Dich "man" ist, aber ich nutzte damals - wie geschrieben und von Dir ignoriert - zur Erstellung von FLAC abcde. Ich gehe davon aus, daß der Programmierer weiß, wie man in flac korrekte Tags einbindet. Ich kann mir darüberhinaus auch nicht vorstellen, daß man flac mit id3 beschreiben kann, wenn eigentlich vorbis-comment vorgesehen ist, dann sind die flac nämlich kaputt. Die files (sowohl flac als auch mp3) können jedenfalls nach Hinzufügung eines Coverfoto weiterhin normal abgespielt werden, so ganz falsch scheint das also nicht gelaufen zu sein.
flac -t $FILENAME behauptet jedenfalls, das meine flac in Ordnung sind.
Ich empfinde es als diskriminierend, wenn ich (und andere) als Mausschubser bezeichnet werden,
Ich glaube, ich wiederhole mich so langsam, aber man gibt sich ja Mühe, anderen etwas beizubringen:
Ich habe an keiner Stelle Menschen als "Mausschubser" bezeichnet, ich nutze ja schließlich selbst eine grafische Oberfläche (Xfce). Ich schrieb Mausgeschubse, das ist im Gesamt-Kontext etwas vollkommen anderes! Ironischerweise bist Du derjenige, der "Mausschubser" in diesem thread etabliert hat!
Sorry, aber wenn ich mit Text-Interpretation auf dem Kriegsfuß stehe, so wie Du, dann würde ich mich an Deiner Stelle nicht so weit aus dem Fenster lehnen.
der Umgang mit der Konsole als etwas "höherwertiges" angesehen wird, und auf Anwender, die die GUI verwenden wollen herabgesehen wird.
Ist schön, das es Dir "scheint". Vielleicht solltest Du endlich mal damit aufhören, Deinen "Schein" in anderer Leutz Texte zu interpretieren und diesen damit zu unterstellen! Ich bin es so langsam leid, Dir Texte zu erklären. Wenn Du ein Problem mit Schrift-Sprache hast, geh' in die VHS, da wird Dir geholfen.
Ich habe es im thread schon geschrieben und erkläre es Dir gerne nochmal:
Für mich ist in diesem Fall das Kommandozeilentool effizienter, weil ich nur den Namen des tool eingeben muss, damit es genau das macht, was ich will. Das hat es bisher, jetzt habe ich mein "ich will", sprich meine Vorgaben, geändert und grüble darüber nach, wie ich das Kommandozeilen-Tool entsprechend erweitern kann.
Ich gestehe selbstverständlich auch jedem das Recht zu, "just for fun" sich mit Skripten zu beschäftigen, wenn sie auch - wie in diesem Fall -
wenig oder gar nichts zum produktiven Umgang mit Musikdateien beitragen.
Und schon wieder stellst Du Deine Vorstellungen über die anderer hier!
Was Du als "produktiv" ansiehst, müssen andere noch lange nicht so sehen! Das Universum dreht sich nicht um Dich allein, verstehe und vor allem akzeptiere das endlich mal! Für mich ist das Script ein produktiver Umgang mit Musikdateien in meinem Workflow. Ob es Dir nun passt oder nicht. Dementsprchend ist der Wunsch nach Erweiterung auch keine "Just for fun" Frage.
Ich verwalte über 100 000 Musikdateien und müsste mit dem Klammerbeutel gepudert sein, wenn ich das über die Konsole machen wollte.
Ach herrjeh, geht's Dir jetzt um Schwanzvergleich? Arme Wurst...


Dirk
¹: An dieser Stelle beweist Du zum wiederholten Male, dass Du überhaupt nichts begreifst:
willy4711 hat geschrieben: ↑ zum Beitrag ↑
02.03.2019 12:36:31
Warum das Skript die Tags nicht findet -- keine Ahnung. Interessiert mich auch nicht weiter, da ffmpeg es klaglos macht.
[...]
Flac benutzt als Metadatenformat Vorbis comment. Insofern hast du da mit deinem Skript eh schlechte Karten. (siehe Fehlermeldung id3v2: not found)
Die Fehlermeldung bezieht sich auf das Schreiben in der erzeugten mp3-Datei. Du hast das Paket id3v2 nicht installiert.
In meinem Script werden die id3-tags in einem zweiten Schritt vom Programm id3v2 generiert, während sie im aktuellen archwiki-Script von lame generiert werden. Das hat der User CH777 hier doch schon erläutert.

P.S.: Ich habe so langsam keine Lust mehr, in einem Forum zu schreiben, in dem einem jedes Wort "im Hals umgedreht" und uminterpretiert wird, bis es in die eigene Weltanschauung passt. Angemeldet habe ich mich hier mal, um meinem Hobby zu frönen und um mich weiterzubilden, nicht um die merkwürdigen Text-Mißverständnisse andere Leute zu korrigieren. Die Einstellung, sich "diskriminiert zu fühlen", weil man zu blöd ist, ein einzelnes Wort korrekt zu lesen und einen Text in seinem Gesamtzusammenhang zu lesen und zu verstehen, nervt zusehends!

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: flac2mp3 Script "aufbohren"

Beitrag von KBDCALLS » 03.03.2019 16:55:43

Mäßigt euch Bitte, ansonsten wird das geschlossen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: flac2mp3 Script "aufbohren"

Beitrag von dirk11 » 03.03.2019 17:30:40

Ich muss mich nicht mäßigen, ich habe auch so langsam keine Lust mehr, nur mit Streithanseln, die Texte nicht verstehen, zu diskutieren.

Zum Thema zurück:
Ich bin bei dem von mir genutzten Script (siehe erstes posting im thread) leider nicht in der Lage, zwei Dinge zu bewerkstelligen:
a) ich will, dass nicht nur die Tracknummer, sondern auch die Total-Tracks-Angabe (sofern vorhanden) übernommen wird. Dazu müsste wohl die Zeile
TRACKNUMBER=$(metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g)
und die entsprechende Eingabe
-T "${TRACKNUMBER:-0}"
modifiziert werden. Mir fehlt nur gerade der Durchblick, wie genau.

Und zum Thema Cover:
Meinem Verständnis nach müsste zur Übernahme des Cover eine Zeile a la:
PICTURE=$(metaflac "$a" --show-tag=PICTURE | sed s/.*=//g)
hinzugefügt werden, und dieses picture müsste dann in die zu schreibenden tags eingepflegt werden. Mein Versuch:
--tA APIC="${PICTURE}"
und
--ti APIC="${PICTURE}"
war leider nicht von Erfolg gekrönt und hat höchstens meine Unwissenheit unterstrichen.

Das Script mit ffmpeg (von dem ich nicht überzeugt bin, weil ffmpeg sehr intransparent arbeitet) habe ich dann kurzerhand auch mal probiert. Ergebnis:
Fehlermeldungen auf der Konsole (laut Internet-Recherche aber ignorierbar, da lustigerweise zum Videostream gehörig), ein vorhandenen Cover-Foto wird mitkonvertiert, eine vorhandene Total-Track-Angabe (also z.B. die 18 bei Track 02/18) aber auch nicht.

Antworten