Scripting - Bitte um Hilfe

  • Hallo Leute,


    meine MP3-Sammlung platzt dank Streamripper aus den
    Nähten. Was eigentlich gut ist... 8)


    Streamripper schreibt dabei alle Files in ein Verzeichnis, was langsam zum Problem wird.


    Ich würde die Files gerne regelmässig in eine Verzeichnis struktur
    ablegen, <MP3-Sammlung>/<Artist>/<Song>


    Das würde ich gerne per Script machen.
    Die Files sehen alle so aus:
    Artist - Song.mp3 (Beispiel: Lighthouse Family - High.mp3)


    D.h. ich habe mit folgender Zeile den Artist gesetzt:
    Artist=`echo $file| cut -d "-" -f 1`
    und mit dieser Zeile den Songtitel:
    Titel=`echo $file| cut -d "-" -f 2`


    Das funktioniert auch in vielen Fällen, nur leider eben nicht in den Fällen, wo
    es im Artist oder im Titel auch nochmal ein "-" als Bestandteil gibt.
    Hat von Euch vielleich jemand eine Idee, wie man das lösen könnte?


    Drei konkretere Fragen:
    Gibt es irgendeine Möglichkeit die Anzahl der "-" in einem String zu zählen?
    Gibt es eine Möglichkeit per Script eine Anfrage zu einer online Datenbank zu machen,
    um den Artist herauszubekommen?
    Kann man aus dem Shell Script heraus auf die MP3-Tags zugreifen?


    Vielen Dank im Voraus für Eure Tipps/Anregungen.


    Gruss,


    Günter


    PS: Hab mal ein paar Beispiele angehängt, was alles schief gehen kann mit dem "-"

    Dateien

    Ubuntu 22.04; Kernel 6.2.0-26; mit Parallelbetrieb von:
    VDR 2.6.4 über S2-6400 (HDMI1)
    XBMC /Kodi & Unity Desktop über Onboard Grafik (HDMI2)
    Beides an Sony KDL-55EX725
    Harmony-Hub zum Umschalten zwischen VDR und XBMC

  • Hallo, wenn deine MP3-Tags sauber sind, dann könnte soetwas funktionieren: http://www.linuxquestions.org/…files-by-id3-tags-602105/
    Oder du importierst deine Sammlung mal in ein Musikverwaltungsprogramm, das das für dich erledigt...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Gibt es irgendeine Möglichkeit die Anzahl der "-" in einem String zu zählen?


    filename="dies-ist-ein-test.mp3";echo "$filename" | sed 's/[^-]//g' | sed 's/.$//' | wc -m


    Aber manchmal kommt man um Windows und GUI einfach nicht rum. Hiermit dürfte das alles einfacher sein: http://www.mp3tag.de/


    cu

  • Hallo Ihr zwei,


    danke für Euren Input.
    seahawk1986:
    Danke, das sieht gut aus, habe mir das Script
    mit id3info durchgesehen, ist ja sehr einfach.
    Mein erstes kleines Script testet gerade bei welchen
    Files Artist oder Titel leer sind.
    --> Aber, das sieht wirklich so aus, als würde das mein
    Problem lösen.


    Keine_Ahnung:
    Danke für den Hinweis, aber Mp3-Tag-Tools gibt es
    auch unter Ubuntu genügend.
    Mp3tag habe ich auch vor einiger Zeit mal getestet, aber aufgrund der
    Menge der Dateien geht das manuell nicht mehr.
    Und dass ich die Tools automatisiert auf meine Sammlung
    los lasse, dazu vertraue ich den Dingern (sowohl den Tools als
    auch der Qualität der Tags...) zu wenig... ;-))


    Jetzt muss ich mir noch überlegen, was ich mit den Dubletten mache...


    Gruss,


    Günter

    Ubuntu 22.04; Kernel 6.2.0-26; mit Parallelbetrieb von:
    VDR 2.6.4 über S2-6400 (HDMI1)
    XBMC /Kodi & Unity Desktop über Onboard Grafik (HDMI2)
    Beides an Sony KDL-55EX725
    Harmony-Hub zum Umschalten zwischen VDR und XBMC

  • Hi,


    ich habe mir Deine Beispiele mal in eine test.txt gespeichert und dieses darauf abgelassen:


    gawk -F " - " '$2 ~ ".mp3" {print "Artist: " $1 "\n" "Songtitel: " $2}' test.text


    Wenn ich das richtig gesehen habe werden Artist und Titel immer durch " - " getrennt, also die Zeichen blank minus blank.
    Die unerwünschten Minus scheinen dagegen immer einen vor- oder nachlaufenden anderen Buchstaben zu haben.
    Somit kann man " - " prima als Trenner ziehen, bspw. mit awk.


    Mann kann die gefundenen Inhalte vor (oder während) dem "print" beliebig manipulieren, bspw. die unerwünschten minus ersetzen, rauschmeissen, etc.
    Wenn Du hier konkret weitere Hilfe brauchst sag Bescheid.


    Gruß
    Frockert


    Ergebnis:
    Artist: -Joliet- Jake Blues
    Songtitel: Sweet Home Chicago.mp3
    Artist: -The Rocky Horror Picture Show-
    Songtitel: The Time Warp.mp3
    Artist: 1000 Ohm
    Songtitel: You're The One (Extended Mix).mp3
    Artist: 11- Axwell vs- The Verve
    Songtitel: Bittersweet Symphony (WMC 2009).mp3
    Artist: 112
    Songtitel: Dance with me.mp3
    Artist: 2 Brothers On The 4Th Floor
    Songtitel: Can't Help Myself (Club Mix).mp3
    Artist: 2 Brothers On The 4th Floor
    Songtitel: I Can't Help Myself (Extended).mp3
    Artist: 2 Static Feat- Nasty Cat
    Songtitel: Feel That Beat (Club Mix).mp3
    Artist: 2 Static Feat. Nasty Cat
    Songtitel: Boy, I'll House Ya (Edit).mp3
    Artist: 2020 Soundsystem
    Songtitel: Falling (James Priestly & Dan Berkson's Shep Guitar Mix).mp3
    Artist: 4hero feat- Bembe Segue & Kaidi Tatham
    Songtitel: Something In the Way.mp3
    Artist: 4hero feat- Darien Brockington & Phonte
    Songtitel: Give In.mp3





    test.txt:
    -Joliet- Jake Blues - Sweet Home Chicago.mp3
    -The Rocky Horror Picture Show- - The Time Warp.mp3
    1000 Ohm - You're The One (Extended Mix).mp3
    11- Axwell vs- The Verve - Bittersweet Symphony (WMC 2009).mp3
    112 - Dance with me.mp3
    2 Brothers On The 4Th Floor - Can't Help Myself (Club Mix).mp3
    2 Brothers On The 4th Floor - I Can't Help Myself (Extended).mp3
    2 Static Feat- Nasty Cat - Feel That Beat (Club Mix).mp3
    2 Static Feat. Nasty Cat - Boy, I'll House Ya (Edit).mp3
    2020 Soundsystem - Falling (James Priestly & Dan Berkson's Shep Guitar Mix).mp3
    4hero feat- Bembe Segue & Kaidi Tatham - Something In the Way.mp3
    4hero feat- Darien Brockington & Phonte - Give In.mp3

    Wohnzimmer:
    AMD X2 235e, Asus M3N78 EM, 8 GB USB-Bootstick, 1 TB WD Datengrab, 1 TT S2 1600, yavdr 0.4


    Schlafzimmer, überwiegend XBMC:
    Zotac ZBOX PLUS ID41 Barebone-PC (Intel Atom D525, 2GB DDR3-800, 250GB HDD, Next Generation NVIDIA ION 512MB, WLAN) 0.5


    Testsystem (inaktiv):
    Intel E2220 (2x2,4 Ghz), Gigabyte GA-EP35-DS3, 8 GB USB-Stick (32 MB/s Lesen/Schreiben), 250 GB Sata WD, Asus GT220 ENGT 1GB oder Gainward 9500 GT, 1 x Skystar HD2

  • Wenn Windows an die MP3s ran darf würde ich godfather nehmen und mir bei sauberer Bennenung / sauberen Tags den reiter organisieren ansehen :)


    Vorteil du siehst quasi wie es aussieht wenn es fertig ist bevor Du auf den Knopf drückst zum Umbennen / verschieben.
    Und Du kannst gegen steuern wenn die MP3s doch nicht so sauber gepflegt sind.
    Auch die Möglichkeit von der gesammten Struktur Links anzulegen finde ich sehr nett, so kann man lokal zügig navigieren und erst bei play geht er los zum share.


    Gruß N!ce


    P.S.: Und Scripte kann an da auch für machen. Wenn man es brauchst. ;D

    Software: gen2vdr V3 ( Beta8 ) / gen2vdr V2
    Hardware: Intel 5200EE - 5N7A-VM - Scythe Shuriken - BeQuiet(Netzteil) - X10-USB Remote
    SMT 7020S & P3@900 - Testsystem mit FF und X10-USB Remote
    Links für Neueinsteiger


    "Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

  • Hi All,


    danke für Eure Beiträge.


    frockert: abgefahren, eine Zeile... echt cool...
    Leider gibt es das " - " auch des öfteren so im Text,
    Z.B:
    - - --Blakkayo - - - --Man dir mwa.mp3 ODER
    - Joliet - Jake Blues - Sweet Home Chicago.mp3 (Dublette mit dem Eintrag in den Beispielen)
    Die Beispieledatei war nur ein kleiner Auszug.
    Daher gehe ich lieber über die Tags, die sind überraschender Weise
    recht sauber.


    MrNice: Godfather kenne ich, danke, hatte ich früher in
    Benutzung. Hat auch für wenige Tausend Files recht gut funktioniert,
    für die Zahl jetzt, ist mir das über`s Netzwerk zu heftig.


    Gruss und nochmal danke,


    Günter

    Ubuntu 22.04; Kernel 6.2.0-26; mit Parallelbetrieb von:
    VDR 2.6.4 über S2-6400 (HDMI1)
    XBMC /Kodi & Unity Desktop über Onboard Grafik (HDMI2)
    Beides an Sony KDL-55EX725
    Harmony-Hub zum Umschalten zwischen VDR und XBMC

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!