title: Artist Sortierung mit Anfangsbuchstaben description: "# MusicBrainz Picard Umbenennungsscript\n\nDieses Script organisiert\ \ Musikdateien automatisch anhand ihrer\nMetadaten in eine klare und konsistente\ \ Ordnerstruktur.\\\nEs ist f\xFCr gro\xDFe Musiksammlungen optimiert und funktioniert\ \ zuverl\xE4ssig\nmit MusicBrainz Picard.\n\n------------------------------------------------------------------------\n\ \n\n## Grundprinzip\n\nDie Musik wird nach folgendem Schema einsortiert:\nArtist/////\n\ \nbzw. f\xFCr Sampler:\nCompilations//\n\n------------------------------------------------------------------------\n\ \n## Sortierung (A\u2013Z)\n- K\xFCnstler werden anhand ihres Namens (albumartist)\ \ einsortiert\n- Artikel wie The, Die, Der werden ignoriert\n- Unicode wird f\xFC\ r die Sortierung vereinfacht (z.B. \xC4 \u2192 A)\n- Alles, was nicht mit einem\ \ Buchstaben beginnt wird in # einsortiert\n\n------------------------------------------------------------------------\n\ \n## Ordnerstruktur im Detail\n\n### Normale Artists\n\n Artist/A/Artistname/Alben/Albumname\ \ [Infos]/01-01 - Titel.mp3\n\n # Release-Typen:\n Je nach Release wird in Unterordner\ \ einsortiert:\n\n - Alben\n - EPs\n - Singles\n - Live\n - Remixes\n - Soundtracks\n\ \ - Compilations\n - Mixtapes\n\n### Compilations (Various Artists)\n\n Compilations/Albumname\ \ [Infos]/01-01 - Artist - Titel.mp3\n\n------------------------------------------------------------------------\n\ \n## Albumordner\n\nDer Albumname wird automatisch erweitert um:\n\n- Ver\xF6ffentlichungsjahr\n\ - Release-Kommentar (z.B. Remaster)\n- Land\n- Katalognummer\n\nBeispiel:\nHelp!\ \ [2014 Mono Remaster] [1965] [US] [PMC 1255]\n\n------------------------------------------------------------------------\n\ \n## Dateinamen\n\nTracks werden einheitlich benannt:\n01-01 - Titel.mp3\nbzw. bei\ \ Compilations:\n01-01 - Artist - Titel.mp3\n\n\n------------------------------------------------------------------------\n\ \n## Besonderheiten\n\n- Verwendet vom Anfangsbuchstaben vom %albumartist% als\ \ Hauptkriterium f\xFCr die Ordnerstruktur\n- Disc- und Tracknummern werden automatisch\ \ korrekt formatiert (z.B.\n 01-01)\n- Unterst\xFCtzt Multi-Disc-Releases\n\ \n------------------------------------------------------------------------\n\n##\ \ Ziel\n\nDas Script erzeugt eine:\n\n- klare und nachvollziehbare Ordnerstruktur\\\ \n- konsistente Dateibenennung\\\n- saubere Trennung von Compilations und normalen\ \ Releases\n\nIdeal f\xFCr die Nutzung mit Musikservern wie Navidrome oder \xE4\ hnlichen\nSystemen.\n\n------------------------------------------------------------------------\n\ \n## Voraussetzungen\n\n- Musikdateien m\xFCssen korrekt mit MusicBrainz Picard\ \ getaggt sein\n- Felder wie %albumartist%, %album%, %tracknumber% sollten vorhanden\n\ \ sein\n\n------------------------------------------------------------------------\n" author: Gofel license: '' version: '1.0' last_updated: 2026-03-25 17:10:09 UTC script_language_version: '1.1' script: "$noop(########################################)\n$noop(BASIS VARIABLEN)\n\ $noop(########################################)\n\n$set(_year,\n$if($eq(%albumartist%,Various\ \ Artists),\n$if(%_release_date%,[$left(%_release_date%,4)],),\n$if($if2(%originaldate%,%date%),[$left($if2(%originaldate%,%date%),4)],)))\n\ \n$set(_relcomment,$if(%_releasecomment%,[$title(%_releasecomment%)],))\n\n$set(_country,$if(%releasecountry%,[%releasecountry%],))\n\ \n$set(_catno,$if(%catalognumber%,[%catalognumber%],))\n\n$set(_foldername,\n%album%\n\ $if(%_relcomment%, %_relcomment%,)\n$if(%_year%, %_year%,)\n$if(%_country%, %_country%,)\n\ $if(%_catno%, %_catno%,)\n)\n\n\n$set(_discnum,\n$num(%discnumber%,$if($gt(%totaldiscs%,99),3,2)))\n\ \n$set(_tracknum,\n$num(%tracknumber%,$if($gt(%totaltracks%,99),3,2)))\n\n\n\n$noop(########################################)\n\ $noop(SORTIERUNG A\u2013Z)\n$noop(########################################)\n\n\ $set(_aa,$lower(%albumartist%))\n\n$noop(Unicode Normalisierung)\n\n$set(_aa_clean,%_aa%)\n\ \n$set(_aa_clean,$replace(%_aa_clean%,\xE4,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xF6\ ,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xFC,u))\n$set(_aa_clean,$replace(%_aa_clean%,\xDF\ ,ss))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xE1,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE0\ ,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE2,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE3\ ,a))\n$set(_aa_clean,$replace(%_aa_clean%,\xE5,a))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xE9\ ,e))\n$set(_aa_clean,$replace(%_aa_clean%,\xE8,e))\n$set(_aa_clean,$replace(%_aa_clean%,\xEA\ ,e))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xED,i))\n$set(_aa_clean,$replace(%_aa_clean%,\xEC\ ,i))\n$set(_aa_clean,$replace(%_aa_clean%,\xEE,i))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xF3\ ,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xF2,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xF4\ ,o))\n$set(_aa_clean,$replace(%_aa_clean%,\xF5,o))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xFA\ ,u))\n$set(_aa_clean,$replace(%_aa_clean%,\xF9,u))\n$set(_aa_clean,$replace(%_aa_clean%,\xFB\ ,u))\n\n$set(_aa_clean,$replace(%_aa_clean%,\xE7,c))\n\n$noop(########################################)\n\ $noop(Artikel entfernen | nur am Anfang)\n$noop(########################################)\n\ \n$set(_aa_stripped,%_aa_clean%)\n\n$if($rsearch(%_aa_stripped%,^the ),$set(_aa_stripped,$replace(%_aa_stripped%,the\ \ ,)))\n$if($rsearch(%_aa_stripped%,^der ),$set(_aa_stripped,$replace(%_aa_stripped%,der\ \ ,)))\n$if($rsearch(%_aa_stripped%,^die ),$set(_aa_stripped,$replace(%_aa_stripped%,die\ \ ,)))\n$if($rsearch(%_aa_stripped%,^das ),$set(_aa_stripped,$replace(%_aa_stripped%,das\ \ ,)))\n$if($rsearch(%_aa_stripped%,^ein ),$set(_aa_stripped,$replace(%_aa_stripped%,ein\ \ ,)))\n$if($rsearch(%_aa_stripped%,^eine ),$set(_aa_stripped,$replace(%_aa_stripped%,eine\ \ ,)))\n$if($rsearch(%_aa_stripped%,^le ),$set(_aa_stripped,$replace(%_aa_stripped%,le\ \ ,)))\n$if($rsearch(%_aa_stripped%,^la ),$set(_aa_stripped,$replace(%_aa_stripped%,la\ \ ,)))\n$if($rsearch(%_aa_stripped%,^les ),$set(_aa_stripped,$replace(%_aa_stripped%,les\ \ ,)))\n$if($rsearch(%_aa_stripped%,^el ),$set(_aa_stripped,$replace(%_aa_stripped%,el\ \ ,)))\n\n$noop(Buchstabe bestimmen)\n$set(_letter,$if($rsearch(%_aa_stripped%,^[a-z]),$upper($left(%_aa_stripped%,1)),#))\n\ \n$noop(########################################)\n$noop(RELEASE TYPE)\n$noop(########################################)\n\ \n$set(_type,Alben)\n\n$if($or($in(%releasetype%,mixtape),$in(%releasetype%,street)),$set(_type,Mixtapes))\n\ $if($in(%releasetype%,compilation),$set(_type,Compilations))\n$if($in(%releasetype%,soundtrack),$set(_type,Soundtracks))\n\ $if($in(%releasetype%,live),$set(_type,Live))\n$if($in(%releasetype%,remix),$set(_type,Remixes))\n\ $if($in(%releasetype%,ep),$set(_type,EPs))\n$if($in(%releasetype%,single),$set(_type,Singles))\n\ \n$noop(########################################)\n$noop(PFAD)\n$noop(########################################)\n\ \n$if($eq(%albumartist%,Various Artists),\nCompilations/%_foldername%/%_discnum%-%_tracknum%\ \ - %artist% - %title%,\nArtist/%_letter%/%albumartist%/%_type%/%_foldername%/%_discnum%-%_tracknum%\ \ - %title%)\n" id: cc4b3c8b-f8c7-447e-9fcf-f7be7350baa1