User Tools

Site Tools


config:beets

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:beets [2024/03/25 20:37] – [importreplace] Wuffconfig:beets [2025/11/23 12:06] (current) Wuff
Line 7: Line 7:
 <code> <code>
 #mint21 #mint21
-sudo apt-get install libchromaprint1 +sudo apt-get install libchromaprint1 mp3val flac python3-acoustid
-sudo apt-get install mp3val +
-sudo apt-get install python3-acoustid+
 sudo apt-get remove python-pip sudo apt-get remove python-pip
 sudo apt-get install python3-setuptools sudo apt-get install python3-setuptools
Line 20: Line 18:
 pip install https://github.com/ocelma/python-itunes/archive/master.zip pip install https://github.com/ocelma/python-itunes/archive/master.zip
 pip install discogs-client pip install discogs-client
-pip install beets-web-import 
 pip install python3-discogs-client pip install python3-discogs-client
 +# see notes below to patch copyartifacts
 pip install beets-copyartifacts pip install beets-copyartifacts
 +
 +#Buggy as of 19/Sept/2020:
 +pip install beets-copyartifacts3
 +pip install beets-extrafiles
 +
 +#Mint22:
 +sudo apt-get install python3-acoustid libchromaprint1 mp3val flac
 +pipx install beets
 +pipx inject beets discogs_client requests pylast pyacoustid pycairo pygobject python3-discogs-client discogs-client beets-copyartifacts beets-extrafiles
 +pipx inject beets beets-yearfixer
 +pipx inject beets git+https://github.com/edgars-supe/beets-importreplace.git
 +#for lyrics plugin:
 +pipx inject beets langdetect bs4
 +
 +</code>
 +
 +to upgrade beets going forward, use:
 +<code>
 +pip install -U beets
 +</code>
 +
 +As beets 1.6.0 is a bit buggy and 3 years old, use latest source snapshot tarball installation:
 +<code>
 +pip uninstall beets
 +pip install https://github.com/beetbox/beets/tarball/master
 +</code>
 +
 +Uninstall plugins from pipx:
 +<code>
 +Show all pipx envs and injected packages to find exact package names
 +pipx list --include-injected
 +
 +then run:
 +pipx uninject beets beets-web-import
 +</code>
 +
 +====== shell completion ======
 +add to .bashrc or similar:
 +<code>
 +eval "$(beet completion)"
 +</code>
 +
 +====== copyartifacts python3 patch ======
 +<code>
 2to3-2.7 -w ~/.local/lib/python3.10/site-packages/beetsplug/copyartifacts.py 2to3-2.7 -w ~/.local/lib/python3.10/site-packages/beetsplug/copyartifacts.py
  
-#adjust as following:+#Mint22: 
 +sudo apt-get install 2to3 
 +2to3 -w ~/.local//share/pipx/venvs/beets/lib/python3.12/site-packages/beetsplug/copyartifacts.py 
 +</code> 
 +then adjust as following: 
 +<code>
 #line 104: #line 104:
                 file_ext = os.path.splitext(filename)[1].decode('utf8')                 file_ext = os.path.splitext(filename)[1].decode('utf8')
Line 37: Line 84:
 #add line 127 #add line 127
                 dest_file = beets.util.bytestring_path(dest_file)                 dest_file = beets.util.bytestring_path(dest_file)
- 
- 
-vi ~/.local/lib/python3.10/site-packages/beets/autotag/__init__.py 
-change line 75 from 
-def unidecode_punc_only(text): 
-to 
-def unicode_punc_only(text): 
- 
- 
- 
-#Buggy as of 19/Sept/2020: 
-pip install beets-copyartifacts3 
-pip install beets-extrafiles 
 </code> </code>
- +Change the init:
-to upgrade beets going forward, use:+
 <code> <code>
-pip install -beets+vi ~/.local/lib/python3.10/site-packages/beets/autotag/__init__.py
 </code> </code>
- 
-As beets 1.6.0 is a bit buggy and 3 years old, use latest source snapshot tarball installation: 
 <code> <code>
-pip uninstall beets +#change line 75 from 
-pip install https://github.com/beetbox/beets/tarball/master+def unidecode_punc_only(text): 
 +#to 
 +def unicode_punc_only(text):
 </code> </code>
- 
  
 ====== Unicode in Tag Patch ====== ====== Unicode in Tag Patch ======
Line 235: Line 267:
  
 # files matching these patterns are deleted from source after import # files matching these patterns are deleted from source after import
-clutter: ["Thumbs.DB", ".DS_Store", "desktop.ini", "*.m3u", "*.nfo", "*.pls", "*.torrent"]+clutter: ["Thumbs.DB", ".DS_Store", "desktop.ini", "*.m3u", "*.nfo", "*.pls", "*.torrent", "cover.jpg"]
 # files/directories matching one of these patterns are ignored during import # files/directories matching one of these patterns are ignored during import
 ignore: [".*", "*~", "System Volume Information", "lost+found", "cover.jpg"] ignore: [".*", "*~", "System Volume Information", "lost+found", "cover.jpg"]
Line 279: Line 311:
   track: []   track: []
  
-plugins: [fetchart,lyrics,lastgenre,embedart,bucket,the,chroma,ftintitle,discogs,scrub,inline,fromfilename,edit,importadded,duplicates,replaygain,web,bpd,webimport,yearfixer,zero,badfiles,importreplace]+plugins: [fetchart,lyrics,lastgenre,embedart,bucket,the,chroma,ftintitle,discogs,scrub,inline,fromfilename,edit,importadded,duplicates,replaygain,bpd,yearfixer,zero,badfiles,importreplace]
 #copyartifacts broken #copyartifacts broken
 pluginpath: [] pluginpath: []
Line 459: Line 491:
     #Note this takes about 10 seconds for 7 files which is about 6h for 15k songs.     #Note this takes about 10 seconds for 7 files which is about 6h for 15k songs.
        
-web: 
-    host: 0.0.0.0 
-    port: 8337 
- 
-webimport: 
-    host: 0.0.0.0 
-    port: 8338 
- 
 bpd: bpd:
     host: 127.0.0.1     host: 127.0.0.1
Line 530: Line 554:
 beet import -A -C -W -I -s /media/music/beets2/Non-Album/ beet import -A -C -W -I -s /media/music/beets2/Non-Album/
 </code> </code>
 +Update id3 tags after changing db 
 +<code> 
 +beet write 
 +</code>
 ====== Addons ====== ====== Addons ======
  
Line 537: Line 564:
 https://amp.reddit.com/r/airsonic/comments/f1yb86/beets_plugin_for_trigger_library_update/ https://amp.reddit.com/r/airsonic/comments/f1yb86/beets_plugin_for_trigger_library_update/
  
-Web Import: 
-<code> 
-pip install beets-webimport 
-</code> 
-~/.local/lib/python3.10/site-packages/beetsplug/webimport 
  
 ====== Submit album to MusicBrainz ====== ====== Submit album to MusicBrainz ======
Line 559: Line 581:
   - Submit the edit.   - Submit the edit.
 After a few moments, try re-tagging the album with beets. If everything worked properly, beets should find the release you contributed and finish tagging it. Repeat this process for any albums you wish to add to MusicBrainz. After a few moments, try re-tagging the album with beets. If everything worked properly, beets should find the release you contributed and finish tagging it. Repeat this process for any albums you wish to add to MusicBrainz.
- 
- 
-====== beets web ====== 
- 
-depends on flask 
-<code> 
-pip install flask 
-</code> 
- 
-add web to plugins in beets config.yaml 
-Define port in [web] section 
-<code> 
-[web] 
-host: 127.0.0.1 #or 0.0.0.0 
-port: 8337 
-</code> 
- 
-for a remote web interface, CORS is required 
-<code> 
-pip install flask-cors 
-</code> 
- 
-start server on localhost:8337 using 
-<code> 
-beet web 
-</code> 
-or 
-<code> 
-beet web hostname port 
-</code> 
- 
- 
-https://github.com/irskep/summertunes 
  
  
Line 643: Line 632:
 ====== Puddletag ====== ====== Puddletag ======
 ID3 Tag editor with embed cover support ID3 Tag editor with embed cover support
 +
 +https://docs.puddletag.net/index.html
 +
 <code> <code>
-sudo add-apt-repository ppa:ubuntuhandbook1/apps 
-sudo apt-get update 
 sudo apt-get install puddletag sudo apt-get install puddletag
 </code> </code>
Line 710: Line 700:
 <code> <code>
 #for albums: #for albums:
-beet import -L ’ +beet import -L ":[’”‐–—]"
-beet import -L  +
-beet import -L  +
-beet import -L +
  
 #for singletons: #for singletons:
-beet import -L -s ’ +beet import -L -s ":[’”‐–—]"
-beet import -L -s  +
-beet import -L -s  +
-beet import -L -s +
 </code> </code>
config/beets.1711399023.txt.gz · Last modified: by Wuff