├── .gitignore ├── README.md ├── config.yaml ├── genres ├── genres-tree.yaml └── genres.txt ├── local.yaml ├── plugins.yaml └── secrets_sample.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | # An * ensures that everything will be ignored. 2 | * 3 | 4 | # You can whitelist files/folders with !, these will not be ignored. 5 | !*.yaml 6 | !*.md 7 | !*.txt 8 | !.gitignore 9 | !genres 10 | 11 | # Ignore these files/folders 12 | _drafts 13 | .ssh 14 | discogs_token.json 15 | gitpush.sh 16 | secrets.yaml 17 | state.pickle 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Warning 2 | 3 | This project is in a very early stage and currently more of a draft and also serves me as a backup of my local files (therefore there are updates in relatively short intervals). 4 | 5 | The basic functions should work so far and help with the identification of unknown albums. I have only tested all this with a few files at the moment and have not yet run it over my current library. 6 | 7 | Before you do this, you should have at least one backup of your current files. 8 | 9 | ## Why? 10 | 11 | Because music files that contain relatively little information and therefore can not always be identified by [Roon](https://roonlabs.com/r/n6HeIaGsYUKKh60AONYs5Q) (Referral Link), I try here to do this by a special configuration of beets by changing the files accordingly. 12 | 13 | My plan for the future is to write additional tags (which can be interpreted by Roon) to contain information that may not be present in the Roon database. 14 | Also, to have functions that Roon can not (yet). 15 | 16 | Of course, there is already software that can do this (possibly even better), but I try to automate the import process to the extent that, at best, I don't have to intervene at all. 17 | 18 | ## Installation 19 | 20 | The installation is [Debian Bullseye](https://www.debian.org/releases/bullseye/index.en.html) based. 21 | 22 | `sudo apt install -y python3-pip python3-gi` 23 | 24 | `pip3 install beets` 25 | 26 | ### Create a symlink 27 | 28 | `sudo ln -s ~/.local/bin /usr/local/bin && sudo reboot` 29 | 30 | ### Update 31 | 32 | `pip3 -U install beets` 33 | 34 | ~`pip3 install -U https://github.com/beetbox/beets/tarball/master`~ 35 | 36 | ## Goals 37 | 38 | - [ ] Submit acoustic analysis results to the AcousticBrainz server. 39 | - [ ] [absubmit](https://beets.readthedocs.io/en/latest/plugins/absubmit.html) (auto) 40 | * Install: `pip3 install requests` 41 | - [x] Get acoustic-analysis information from the AcousticBrainz project. 42 | * [acousticbrainz](https://beets.readthedocs.io/en/latest/plugins/acousticbrainz.html) (auto) 43 | - [x] Check for missing and corrupt files. 44 | - [x] [badfiles](https://beets.readthedocs.io/en/latest/plugins/badfiles.html) (manually) 45 | * Command: `beet bad` 46 | - [x] Use bandcamp as an autotagger source, for fetching lyrics and cover art. 47 | - [x] [bandcamp](https://github.com/snejus/beetcamp) (auto) @test 48 | * Install: `pip3 install beetcamp` 49 | - [x] Create folders with the first letters of the band names and assign them accordingly. 50 | - [x] [bucket](https://beets.readthedocs.io/en/latest/plugins/bucket.html) 51 | - [x] Automatically checksum files to detect corruption. 52 | * [check](https://github.com/geigerzaehler/beets-check) (auto) @test 53 | * Install: `pip3 install beets-check` 54 | - [ ] Install `mp3val` 55 | - [ ] Install `oggz-validate` 56 | - [x] Use acoustic fingerprinting to identify audio files with missing or incorrect metadata. 57 | - [x] [chroma](https://beets.readthedocs.io/en/latest/plugins/chroma.html) (auto) 58 | * Install: `pip3 install pyacoustid` 59 | - [x] Transcode Roon exports to redbook flac files for mobile devices. 60 | - [x] [convert](https://beets.readthedocs.io/en/latest/plugins/convert.html) (manually) 61 | * Command: `beet convert` 62 | - [x] Copy additional files (like covers, booklets) and directories during the import process and place it in the right directory. 63 | - [x] [copyartifacts](https://github.com/adammillerio/beets-copyartifacts) 64 | * Install: `pip3 install beets-copyartifacts3` 65 | - [x] Extend the autotagger’s search capabilities to include matches from the Discogs database. 66 | - [x] [discogs](https://beets.readthedocs.io/en/latest/plugins/discogs.html) (auto) 67 | * Install: `pip3 install discogs-client` 68 | - [ ] [discogs_extradata](https://github.com/SimonPersson/beets-plugins) 69 | * Original year, if earlier than musicbrainz 70 | * Label is set to label of original release 71 | * Performers tag is populated 72 | - [x] Find and list duplicate tracks or albums in the collection. 73 | - [x] [duplicates](https://beets.readthedocs.io/en/latest/plugins/duplicates.html) (manually) 74 | * Command: `beet duplicates` 75 | - [ ] Modify music metadata using your favorite text editor or MusicBrainz Picard. 76 | - [ ] [edit](https://beets.readthedocs.io/en/latest/plugins/edit.html) 77 | * Command: `beet edit QUERY` # In case you need to edit the album-level fields, the recommended approach is to invoke the plugin via the command line in album mode after the import. 78 | - [ ] Alternative: https://github.com/kergoth/beets-kergoth/blob/master/beetsplug/picard.py 79 | - [x] Fetch album art from different web sources. 80 | - [x] [fetchart](https://beets.readthedocs.io/en/latest/plugins/fetchart.html) (auto) 81 | * Install: `pip3 install requests` 82 | - [ ] Fetch booklets - do not seem to be possible at the moment. 83 | - [ ] Alternative: [arttools](https://github.com/mried/beetsplug/wiki/arttools) 84 | - [ ] Fetch artist pictures and place them in the artist directories. 85 | - [ ] [fetchartist](https://github.com/dkanada/beets-fetchartist) (manually) 86 | * Install: 87 | * `pip3 install requests` 88 | * Copy to pluginpath 89 | * Command: `beet fetchartist` 90 | - [ ] `path not found` 91 | - [x] Follow album artists from your library on Muspy to get notifications about new releases. 92 | - [x] [follow](https://github.com/nolsto/beets-follow) (auto) 93 | * Install: `pip3 install beets-follow` 94 | - [x] Tag albums that are missing tags altogether. 95 | - [x] [fromfilename](https://beets.readthedocs.io/en/latest/plugins/fromfilename.html) (auto) 96 | - [x] Preserve the import date. 97 | - [x] [importadded](https://beets.readthedocs.io/en/latest/plugins/importadded.html) 98 | - [x] Dump the current tag values for any file format supported by beets. 99 | - [x] [info](https://beets.readthedocs.io/en/latest/plugins/info.html) (manually) 100 | - [x] Collect play counts from Last.fm. Doesn't make any sense for the use with Roon yet. 101 | - [x] [lastimport](https://beets.readthedocs.io/en/latest/plugins/lastimport.html) (manually) 102 | * Install: `pip3 install pylast` 103 | * Command: `beet -v lastimport` 104 | * To keep up-to-date, you can run this plugin every once in a while (cron?). 105 | - [x] Fetch genres from Last.fm. MusicBrainz actually doesn’t contain genre information and set a fallback genre if none is available. 106 | - [x] [lastgenre](https://beets.readthedocs.io/en/latest/plugins/lastgenre.html) 107 | * Install: `pip3 install pylast` 108 | - [ ] [whatlastgenre](https://github.com/YetAnotherNerd/whatlastgenre) 109 | * Discogs, Last.FM, MusicBrainz, Redacted.ch 110 | - [x] Fetch lyrics from various sources. 111 | - [x] [lyrics](https://beets.readthedocs.io/en/latest/plugins/lyrics.html) 112 | * Install: `pip3 install requests beautifulsoup4` 113 | - [x] Submit the catalog to MusicBrainz to maintain the music collection list there. (auto) 114 | - [x] [mbcollection](https://beets.readthedocs.io/en/latest/plugins/mbcollection.html) 115 | * Remove Album from collection (manually): `beet mbupdate -r` 116 | - [x] Fetch metadata from MusicBrainz for albums and tracks that already have MusicBrainz IDs. 117 | - [x] [mbsync](https://beets.readthedocs.io/en/latest/plugins/mbsync.html) 118 | - [x] Find and list, which or how many tracks are missing, for every album in the collection. 119 | - [x] [missing](https://beets.readthedocs.io/en/latest/plugins/missing.html) 120 | - [x] Set file permissions for imported music files and its directories. 121 | - [x] [permissions](https://beets.readthedocs.io/en/latest/plugins/permissions.html) (auto) 122 | - [x] Add ReplayGain tags for mobile devices. 123 | - [x] [replaygain](https://beets.readthedocs.io/en/latest/plugins/replaygain.html) 124 | - [x] List all files in the library folder which are not listed in the beets library database. 125 | - [x] [unimported](https://beets.readthedocs.io/en/latest/plugins/unimported.html) 126 | - [ ] Watch directories for changes and trigger imports. 127 | * [watch](https://github.com/zersetz-end/beets-watch) 128 | - [ ] Fetch tags: 129 | - [ ] `website` 130 | - [ ] `barcode` 131 | - [ ] `isrc` 132 | - [ ] `origninalyear` 133 | - [ ] `artists` 134 | - [ ] Add Roon specific tags, like `ROONALBUMTAG`, `ROONTRACKTAG`, `ROONRADIOBAN` ... 135 | - [ ] Write track genres to `ROONTRAGTAG` 136 | - [ ] Automatically add `ROONRADIOBAN`, value `false`, if the tag doesn't exist. 137 | - [ ] [usertag](https://github.com/igordertigor/beets-usertag) (manually) 138 | - [ ] Copy tags from one to another to get Roon compatibility. 139 | - [ ] [tagcopy](https://github.com/mattbarnicle/beetsplug) 140 | - [x] Automatically extract compressed archives in Download directory. 141 | * Only seem to work for single files, for example: `beet import /mnt/external/work/incoming/Album.zip` 142 | * Doesn't work with whitespaces in file names. 143 | - [ ] Assign Qobuz comment/description to the appropriate tags. 144 | - [ ] [structuredcomments](https://github.com/michaeltoohig/BeetsPluginStructuredComments) 145 | * https://discourse.beets.io/t/comments-field-template-dev-questions/1354 146 | - [ ] Refine matches. 147 | - [x] Hide credentials in `config.yaml` (`secrets.yaml`). 148 | - [ ] Automate Beets installation including plugins 149 | 150 | ## Beets commands 151 | 152 | Of course, the given commands assume that the music files to import are located in `/mnt/external/work/incoming/`, otherwise the path must be changed. 153 | 154 | `beet import /mnt/external/work/incoming/` # Import and change tags. 155 | 156 | `beet import -A /mnt/external/work/incoming/` # Import but don't change any tags. 157 | 158 | `beet import -W /mnt/external/work/incoming/` # When autotagging, don’t write new tags to the files themselves (just keep the new metadata in beets’ database.) 159 | 160 | `beet import -C /mnt/external/work/incoming/` # Don’t copy imported files to your music directory; leave them where they are. 161 | 162 | `beet import -m /mnt/external/work/incoming/` # Move imported files to your music directory (overrides the -c option). 163 | 164 | `beet import -l LOGFILE /mnt/external/work/incoming/` # Write a message to `LOGFILE` every time you skip an album or choose to take its tags “as-is” (see below) or the album is skipped as a duplicate; this lets you come back later and reexamine albums that weren’t tagged successfully. 165 | 166 | `beet import -q /mnt/external/work/incoming/` # Quiet mode. Never prompt for input and, instead, conservatively skip any albums that need your opinion. The `-ql` combination is recommended. 167 | 168 | `beet import -t /mnt/external/work/incoming/` # Timid mode, which is sort of the opposite of “quiet.” The importer will ask your permission for everything it does, confirming even very good matches with a prompt. 169 | 170 | `beet import -p /mnt/external/work/incoming/` # Automatically resume an interrupted import. The importer keeps track of imports that don’t finish completely (either due to a crash or because you stop them halfway through) and, by default, prompts you to decide whether to resume them. The `-p` flag automatically says “yes” to this question. Relatedly, `-P` flag automatically says “no.” 171 | 172 | `beet import -s /mnt/external/work/incoming/` # Run in singleton mode, tagging individual tracks instead of whole albums at a time. See the “as Tracks” choice below. This means you can use beet import `-AC` to quickly add a bunch of files to your library without doing anything to them. 173 | 174 | `beet import -g /mnt/external/work/incoming/` # Assume there are multiple albums contained in each directory. The tracks contained a directory are grouped by album artist and album name and you will be asked to import each of these groups separately. See the “Group albums” choice below. 175 | 176 | 177 | 178 | `beet update` 179 | 180 | `beet stats` 181 | 182 | `beet ls` # List all music of the library 183 | 184 | `beet ls -a` # List all albums of the library 185 | 186 | `beet rm ` # Remove track(s) of the library 187 | 188 | `beet rm -a ` # Remove album(s) of the library 189 | 190 | ## Tips 191 | 192 | ### Enabling tab-completion in bash 193 | 194 | Beets includes support for Bash shell command completion. To enable completion, put the following line into your `.bashrc`: 195 | 196 | ``` 197 | ~/.bashrc 198 | 199 | eval "$(beet completion)" 200 | ``` 201 | 202 | You will also need to install `bash-completion` for this to work. 203 | 204 | ## Links 205 | 206 | * [Documentation](https://beets.readthedocs.io) 207 | * [Beets @ jundar.de (German)](https://jundar.de/beets-konfigurieren/) 208 | * [Beets Docker](https://blog.linuxserver.io/2016/10/08/managing-your-music-collection-with-beets/) 209 | * [music-workflow](https://github.com/djdembeck/music-workflow) 210 | 211 | ### Configs 212 | 213 | * https://github.com/hashhar/picard-beets-config 214 | * https://github.com/kergoth/Beets-Library 215 | * https://github.com/RollingStar/dial-beets 216 | * https://github.com/trapd00r/configs/tree/master/beets 217 | 218 | ### Similar 219 | 220 | * [roon-tagger](https://github.com/babysnakes/roon-tagger) 221 | -------------------------------------------------------------------------------- /config.yaml: -------------------------------------------------------------------------------- 1 | # Global Options ################################################################################## 2 | 3 | include: # A list of extra configuration files to include. 4 | # IMPORTANT: Most configurations doesn't seem to work in external files, so leave them here. 5 | - local.yaml # Edit paths to your needs. 6 | - secrets.yaml # Secret strings (REDUCTED) like usernames and passwords. Add this file to git.ignore. 7 | - plugins.yaml # Activate/deactivate plugins here. 8 | 9 | original_date: yes # Use the original date for the release. 10 | 11 | per_disc_numbering: yes # The track numbers are incremented throughout a multi disk release. 12 | 13 | threaded: yes # Indicating whether the autotagger should use multiple threads. 14 | # This makes things substantially faster by overlapping work. 15 | parentwork: # This plugin adds five tags: 16 | # - parentwork: The title of the parent work. 17 | # - mb_parentworkid: The musicbrainz id of the parent work. 18 | # - parentwork_disambig: The disambiguation of the parent work title. 19 | # - parent_composer: The composer of the parent work. 20 | # - parent_composer_sort: The sort name of the parent work composer. 21 | # - work_date: The composition date of the work, or the first parent work that has a composition date. Format: yyyy-mm-dd. 22 | force: no # As a default, parentwork only fetches work info for recordings that do not already have a parentwork tag. 23 | # If force is enabled, it fetches it for all recordings. Default: no. 24 | auto: yes # If enabled, automatically fetches works at import. 25 | # It takes quite some time, because beets is restricted to one musicbrainz query per second. Default: no. 26 | 27 | ################################################################################################### 28 | 29 | 30 | # Paths ########################################################################################### 31 | 32 | asciify_path: yes # Convert all non-ASCII characters in paths to ASCII equivalents. 33 | 34 | clutter: # When beets imports all the files in a directory, it tries to remove the directory if it’s empty. 35 | # A directory is considered empty if it only contains files whose names match the glob patterns in clutter, 36 | # which should be a list of strings. 37 | # The importer only removes recursively searched subdirectories—the top-level directory you specify on the command line is never deleted. 38 | [ 39 | .DS_Store, # Default. 40 | Thumbs.DB # Default. 41 | ] 42 | 43 | bucket: 44 | bucket_alpha_regex: 45 | [A-Z] # Create folders with the first letters of the band names. 46 | 47 | paths: # Directory and naming scheme. 48 | # The aunique{} function ensures that identically-named albums are placed in different directories. 49 | default: %bucket{$artist,alpha}/$albumartist/$album%aunique{}/$track $title 50 | singleton: %bucket{$artist,alpha}/$artist/Non-Album/$title 51 | albumtype:soundtrack: Soundtracks/$album%aunique{}/$track $title 52 | comp: Compilations/$album%aunique{}/$track $title 53 | 54 | # copyartifacts ############################### 55 | ext:jpg: $albumpath/scans/cover 56 | ext:png: $albumpath/scans/cover 57 | ext:pdf: $albumpath/scans/booklet 58 | ############################################### 59 | 60 | max_filename_length: 255 # 0 = unlimited. 61 | 62 | ################################################################################################## 63 | 64 | 65 | # Import ########################################################################################## 66 | 67 | import: # Beets can move or copy files but it doesn’t make sense to do both). 68 | write: yes # Controlling whether metadata (e.g., ID3) tags are written to files when using beet import. 69 | #copy: yes # Keep your current directory structure. 70 | # The option is ignored if move is enabled (i.e., beets can move or copy files but it doesn’t make sense to do both). 71 | move: yes # Move the files. Otherwise there will be duplicates. 72 | resume: yes # Controls whether interrupted imports should be resumed. 73 | # “Yes” means that imports are always resumed when possible; 74 | # “no” means resuming is disabled entirely; 75 | # “ask” (the default) means that the user should be prompted when resuming is possible. 76 | incremental: no # Don't record imported directories. 77 | incremental_skip_later: no # Controlling whether imported directories are recorded and whether these recorded directories are skipped. 78 | from_scratch: no # Controlling whether existing metadata is discarded when a match is applied. 79 | quiet_fallback: skip # Either skip (default) or asis, specifying what should happen in quiet mode when there is no strong recommendation. 80 | none_rec_action: ask # Either ask (default), asis or skip. 81 | # Specifies what should happen during an interactive import session when there is no recommendation. 82 | # Useful when you are only interested in processing medium and strong recommendations interactively. 83 | timid: no # Controlling whether the importer runs in timid mode, 84 | # in which it asks for confirmation on every autotagging match, even the ones that seem very close. 85 | log: /mnt/internal/music/import.log 86 | default_action: apply # One of apply, skip, asis, or none, indicating which option should be the default when selecting an action for a given match. 87 | # This is the action that will be taken when you type return without an option letter. 88 | languages: en de # Prefer transliterated English names. 89 | detail: no # Whether the importer UI should show detailed information about each match it finds. 90 | # When enabled, this mode prints out the title of every track, regardless of whether it matches the original metadata. 91 | # The default behavior only shows changes. Default: no. 92 | group_albums: no # By default, the beets importer groups tracks into albums based on the directories they reside in. 93 | # This option instead uses files’ metadata to partition albums. 94 | # Enable this option if you have directories that contain tracks from many albums mixed together. 95 | autotag: yes # If most of your collection consists of obscure music, 96 | # you may be interested in disabling autotagging by setting this option to no. 97 | duplicate_action: ask # Either skip, keep, remove, merge or ask. Controls how duplicates are treated in import task. 98 | # “skip” means that new item (album or track) will be skipped; 99 | # “keep” means keep both old and new items; 100 | # “remove” means remove old item; 101 | # “merge” means merge into one album; 102 | # “ask” means the user should be prompted for the action each time. 103 | bell: yes # Ring the terminal bell to get your attention when the importer needs your input. 104 | 105 | importadded: 106 | preserve_mtimes: no # After importing files, re-set their mtimes to their original value. Default: no. 107 | preserve_write_mtimes: no # After writing files, re-set their mtimes to their original value. Default: no. 108 | 109 | ################################################################################################### 110 | 111 | 112 | # AcousticBrainz ################################################################################## 113 | 114 | absubmit: # The absubmit plugin lets you submit acoustic analysis results to the AcousticBrainz server. 115 | auto: yes # Analyze every file on import. Otherwise, you need to use the beet absubmit command explicitly. Default: no 116 | force: no # Analyze items and submit of AcousticBrainz data even for tracks that already have it. Default: no. 117 | pretend: no # Do not analyze and submit of AcousticBrainz data but print out the items which would be processed. Default: no. 118 | 119 | 120 | acoustid: 121 | apikey: REDACTED # Command: beet submit 122 | 123 | chroma: # Turning on fingerprinting can increase the accuracy of the autotagger - especially on files with very poor metadata. 124 | # The Acoustid plugin extends the autotagger to use acoustic fingerprinting to find information for arbitrary audio. 125 | # Install that plugin if you’re willing to spend a little more CPU power to get tags for unidentified albums. 126 | # (But be aware that it does slow down the process.) 127 | auto: yes # Fingerprint-based autotagging. 128 | 129 | acousticbrainz: # The acousticbrainz plugin gets acoustic-analysis information from the AcousticBrainz project. 130 | auto: yes # Enable AcousticBrainz during beet import. Default: yes. 131 | force: yes # Download AcousticBrainz data even for tracks that already have it. Default: no. 132 | tags: # Which tags from the list above to set on your files. Default: [] (all). 133 | [ # As far as I know, the following tags couldn't be read by Roon. 134 | average_loudness, 135 | bpm, # ToDo: Mostly zero. 136 | chords_changes_rate, 137 | chords_key, 138 | chords_number_rate, 139 | chords_scale, 140 | danceable, 141 | gender, 142 | genre_rosamerica, 143 | initial_key, # This is a built-in beets field, which can also be provided by Key Finder Plugin. 144 | key_strength, 145 | mood_acoustic, 146 | mood_aggressive, 147 | mood_electronic, 148 | mood_happy, 149 | mood_party, 150 | mood_relaxed, 151 | mood_sad, 152 | moods_mirex, 153 | rhythm, 154 | timbre, 155 | tonal, 156 | voice_instrumental 157 | ] 158 | 159 | ################################################################################################### 160 | 161 | 162 | # MusicBrainz ##################################################################################### 163 | 164 | musicbrainz: 165 | user: REDACTED 166 | pass: REDACTED 167 | searchlimit: 20 # Recommendation from: https://github.com/kernitus/beets-oldestdate 168 | extra_tags: # Enable improved MediaBrainz queries from tags. 169 | [ 170 | catalognum, 171 | country, 172 | label, 173 | media, 174 | year 175 | ] 176 | 177 | match: 178 | preferred: 179 | media: ['Digital Media|File', 'Digital Media'] # Priorize digital media. 180 | countries: ['DE', 'XW', 'US', 'GB|UK'] 181 | 182 | strong_rec_thresh: 0.75 # Reflects the distance threshold below which beets will make a “strong recommendation” that the metadata be used. 183 | # Strong recommendations are accepted automatically (except in “timid” mode), 184 | # so you can use this to make beets ask your opinion more or less often. 185 | # The threshold is a distance value between 0.0 and 1.0, so you can think of it as the opposite of a similarity value. 186 | # For example, if you want to automatically accept any matches above 90% similarity, use: "strong_rec_thresh: 0.10" 187 | # The default strong recommendation threshold is 0.04. 188 | # When a match is below the medium recommendation threshold 189 | # or the distance between it and the next-best match is above the gap threshold, 190 | # the importer will suggest that match but not automatically confirm it. 191 | # Otherwise, you’ll see a list of options to choose from. 192 | 193 | medium_rec_thresh: 0.125 # The medium_rec_thresh and rec_gap_thresh options work similarly. 194 | 195 | mbcollection: 196 | auto: yes # Automatically amend your MusicBrainz collection whenever you import a new album. 197 | collection: REDACTED # Which MusicBrainz collection to update. Use the ID from the URL instead of the name. 198 | remove: yes # Remove albums from collections which are no longer present in the beets database. 199 | # ToDo: remove doesn't work. 200 | 201 | mbsubmit: # As MusicBrainz currently does not support submitting albums programmatically, 202 | # the recommended workflow is to copy the output of the Print tracks choice and 203 | # paste it into the parser that can be found by clicking on the “Track Parser” button on MusicBrainz “Tracklist” tab. 204 | format: $track. $title - $artist ($length) 205 | # The format used for printing the tracks, defined using the same template syntax as beets’ path formats. 206 | # Default: $track. $title - $artist ($length). 207 | threshold: medium # The minimum strength of the autotagger recommendation that will cause the Print tracks choice to be displayed on the prompt. 208 | # Default: medium (causing the choice to be displayed for all albums that have a recommendation of medium strength or lower). 209 | # Valid values: none, low, medium, strong. 210 | 211 | ################################################################################################### 212 | 213 | 214 | # Bandcamp ######################################################################################## 215 | 216 | # beetcamp 217 | bandcamp: # Beetcamp. Uses the bandcamp URL as id (for both albums and songs). 218 | # If no matching release is found when importing you can select enter Id and paste the bandcamp URL. 219 | 220 | preferred_media: Digital # A comma-separated list of media to prioritise when fetching albums. 221 | 222 | include_digital_only_tracks: true 223 | # For media that isn't Digital Media, include all tracks, 224 | # even if their titles contain digital only (or alike). 225 | 226 | search_max: 10 # Maximum number of items to fetch through search queries. Default: 10. 227 | 228 | art: true # Add a source to the FetchArt plug-in to download album art for Bandcamp albums 229 | # (requires FetchArt plug-in enabled). 230 | 231 | #exclude_extra_fields: # The data that is added after the core auto tagging process is considered extra: 232 | #- lyrics # (currently) lyrics and comments (release description) fields. 233 | #- comments # Since there yet isn't an easy way to preview them before they get applied, 234 | # you can ignore them if you find them irrelevant or inaccurate. 235 | 236 | ################################################################################################### 237 | 238 | 239 | # Last.fm ######################################################################################### 240 | 241 | lastimport: 242 | per_page: 500 # The number of tracks to request from the API at once. Default: 500. 243 | retry_limit: 3 # How many times should we re-send requests to Last.fm on failure? Default: 3. 244 | lastfm: 245 | user: REDACTED 246 | api_key: REDACTED 247 | types: 248 | play_count: int 249 | rating: float 250 | 251 | lastgenre: # Fetches tags from Last.fm and assigns them as genres to your albums and items. 252 | auto: yes # Fetch genres automatically during import. Default: yes. 253 | canonical: ~/.config/beets/genres/genres-tree.yaml 254 | # Use a canonicalization tree. Setting this to yes will use a built-in tree. 255 | whitelist: ~/.config/beets/genres/genres.txt 256 | # The filename of a custom genre list, yes to use the internal whitelist, or no to consider all genres valid. 257 | # Default: yes. 258 | count: 5 # Number of genres to fetch. Default: 1 259 | fallback: 'Pop/Rock' # A string if to use a fallback genre when no genre is found. 260 | # You can use the empty string '' to reset the genre. 261 | # Default: None. 262 | separator: '; ' 263 | force: no # By default, beets will always fetch new genres, even if the files already have one. 264 | # To instead leave genres in place in when they pass the #whitelist: ~/.config/beets/genres.txt, 265 | # set the force option to no. 266 | min_weight: 10 # Minimum popularity factor below which genres are discarded. Default: 10. 267 | prefer_specific: no # Sort genres by the most to least specific, rather than most to least popular. Default: no. 268 | source: track # Which entity to look up in Last.fm. Can be either artist, album or track. Default: album. 269 | title_case: yes # Convert the new tags to TitleCase before saving. Default: yes. 270 | 271 | ################################################################################################### 272 | 273 | 274 | # Muspy ########################################################################################### 275 | 276 | follow: # Get notifications about new releases from album artists in your Beets library using muspy. 277 | email: REDACTED 278 | password: REDACTED 279 | userid: REDACTED 280 | auto: yes 281 | 282 | ################################################################################################### 283 | 284 | 285 | # Lyrics ########################################################################################## 286 | 287 | lyrics: 288 | auto: yes # Fetch lyrics automatically during import. Default: yes. 289 | fallback: '' # By default, the file will be left unchanged when no lyrics are found. 290 | # Use the empty string '' to reset the lyrics in such a case. 291 | # Default: None. 292 | force: no # By default, beets won’t fetch lyrics if the files already have ones. 293 | # To instead always fetch lyrics, set the force option to yes. 294 | # Default: no. 295 | #google_API_key: None # Your Google API key (to enable the Google Custom Search backend). 296 | # Default: None. 297 | #google_engine_ID: # The custom search engine to use. 298 | # Default: The beets custom search engine, which gathers an updated list of sources known to be scrapeable. 299 | sources: # List of sources to search for lyrics. 300 | # An asterisk * expands to all available sources. 301 | # Both it and the genius source will only be enabled if BeautifulSoup is installed. 302 | - bandcamp # ToDo: Not shure if this entry is really nescessary. 303 | - genius 304 | - lyricwiki 305 | - google # The google source will be automatically deactivated if no google_API_key is setup. 306 | - musixmatch # Possibly just 30% of a whole song text 307 | # Leave in last position or comment it out. 308 | # @test 309 | ################################################################################################### 310 | 311 | 312 | # Pictures ######################################################################################## 313 | 314 | # In Roon, all the images embedded in the file tags, are stored next to the audio files or 315 | # stored in a folder called artwork or scans next to the files are displayed. 316 | # This includes all images that include cover, front or folder. 317 | 318 | art_filename: cover # When importing album art, the name of the file (without extension) where the cover art image should be placed. 319 | # This is a template string, so you can use any of the syntax available to Path Formats. 320 | 321 | copyartifacts: 322 | extensions: .jpg .pdf .png 323 | print_ignored: yes 324 | 325 | fetchart: 326 | auto: yes # Enable automatic album art fetching during import. 327 | cautious: no # Pick only trusted album art by ignoring filenames that do not contain one of the keywords in "cover_names". 328 | enforce_ratio: yes # Only allow images with 1:1 aspect ratio 329 | minwidth: 1000 # Only images with a width bigger or equal to minwidth are considered as valid album art candidates. 330 | maxwidth: 3000 # A maximum image width to downscale fetched images if they are too big. 331 | # The height is recomputed so that the aspect ratio is preserved. 332 | sources: # An asterisk * expands to all available sources. 333 | - filesystem # No remote art sources are queried if local art is found in the filesystem. 334 | - coverart 335 | - albumart 336 | - fanarttv 337 | - bandcamp 338 | fanarttv_key: REDACTED # API key to use for the fanart API. 339 | store_source: yes # Store the art source (e.g. filesystem) in the beets database as art_source. 340 | 341 | embedart: 342 | auto: no # Enable automatic album art embedding. 343 | compare_threshold: 50 # A threshold of 0 (the default) disables similarity checking and always embeds new images. 344 | # Recommended between 10 and 100. 345 | # The smaller the threshold number, the more similar the images must be. 346 | ifempty: yes # Avoid embedding album art for files that already have art embedded. 347 | maxwidth: 0 # A maximum width to downscale images before embedding them (the original image file is not altered). 348 | # The resize operation reduces image width to at most maxwidth pixels. 349 | # The height is recomputed so that the aspect ratio is preserved. See also Image Resizing for further caveats about image resizing. 350 | remove_art_file: no # Automatically remove the album art file for the album after it has been embedded. 351 | # This option is best used alongside the FetchArt plugin to download art with the purpose 352 | # of directly embedding it into the file’s metadata without an “intermediate” album art file. 353 | 354 | ################################################################################################### 355 | 356 | 357 | # ReplayGain ###################################################################################### 358 | 359 | replaygain: 360 | auto: yes # Enable ReplayGain analysis during import. Default: yes. 361 | # ReplayGain analysis is not fast, so you may want to disable it during import. 362 | backend: ffmpeg # The analysis backend; either gstreamer, command, or audiotools. Default: command. 363 | overwrite: no # Re-analyze files that already have ReplayGain tags. Default: no. 364 | targetlevel: 89 # A number of decibels for the target loudness level. Default: 89. 365 | per_disc: no # Calculate album ReplayGain on disc level instead of album level. Default: no. 366 | 367 | ################################################################################################### 368 | 369 | 370 | # Maintanance ##################################################################################### 371 | 372 | duplicates: 373 | album: no # List duplicate albums instead of tracks. Default: no. 374 | checksum: ffmpeg -i {file} -f crc - 375 | # Use an arbitrary command to compute a checksum of items. 376 | # This overrides the keys option the first time it is run; 377 | # however, because it caches the resulting checksum as flexattrs in the database, 378 | # you can use --key=name_of_the_checksumming_program --key=any_other_keys 379 | # (or set the keys configuration option) the second time around. 380 | # Default: ffmpeg -i {file} -f crc -. 381 | copy: none # A destination base directory into which to copy matched items. 382 | # Default: none (disabled). 383 | count: yes # Print a count of duplicate tracks or albums in the format 384 | # $albumartist - $album - $title: $count (for tracks) 385 | # or 386 | # $albumartist - $album: $count (for albums). 387 | # Default: no. 388 | delete: no # Removes matched items from the library and from the disk. Default: no 389 | format: format_item # A specific format with which to print every track or album. 390 | # This uses the same template syntax as beets’ path formats. 391 | # The usage is inspired by, and therefore similar to, the list command. 392 | # Default: format_item 393 | full: yes # List every track or album that has duplicates, not just the duplicates themselves. Default: no 394 | keys: [mb_trackid, mb_albumid] 395 | # Define in which track or album fields duplicates are to be searched. 396 | # By default, the plugin uses the musicbrainz track and album IDs for this purpose. 397 | # Using the keys option (as a YAML list in the configuration file, 398 | # or as space-delimited strings in the command-line), 399 | # you can extend this behavior to consider other attributes. 400 | # Default: [mb_trackid, mb_albumid] 401 | merge: no # Merge duplicate items by consolidating tracks and/or metadata where possible. 402 | move: none # A destination base directory into which it will move matched items. Default: none (disabled). 403 | path: no # Output the path instead of metadata when listing duplicates. Default: no. 404 | strict: no # Do not report duplicate matches if some of the attributes are not defined (ie. null or empty). Default: no 405 | #tag: no # A key=value pair. 406 | # The plugin will add a new key attribute with value value as a flexattr to the database for duplicate items. Default: no. 407 | tiebreak: {} # Dictionary of lists of attributes keyed by items or albums to use when choosing duplicates. 408 | # By default, the tie-breaking procedure favors the most complete metadata attribute set. 409 | # If you would like to consider the lower bitrates as duplicates, for example, set tiebreak: items: [bitrate]. 410 | # Default: {}. 411 | 412 | check: 413 | import: yes # Add checksums for new files during the import process. 414 | # This also disables integrity checks on import and will not ask you to skip the import of corrupted files. 415 | write-check: yes # Verify checksums before writing files with beet write or beet modify. 416 | write-update: yes # Update checksums after writing files with beet write or beet modify. 417 | convert-update: no # Update the checksum if a file has been converted with the --keep-new flag. 418 | threads: 1 # Threads to compute checksums. 419 | 420 | missing: 421 | #format: $albumartist - $album - $title 422 | # A specific format with which to print every track. 423 | # This uses the same template syntax as beets’ path formats. 424 | # The usage is inspired by, and therefore similar to, the list command. 425 | # Default: format_item. 426 | count: yes # Print a count of missing tracks per album, with format defaulting to $albumartist - $album: $missing. 427 | # Default: no. 428 | total: yes # Print a single count of missing tracks in all albums. 429 | # Default: no. 430 | 431 | ################################################################################################### 432 | 433 | # Export ########################################################################################## 434 | 435 | convert: # By default, the command places converted files into the destination directory and leaves your library pristine. 436 | auto: no # Import transcoded versions of your files automatically during imports. 437 | command: ffmpeg -i $source -sample_fmt s16 -ar 44100 $dest 438 | extension: flac 439 | source: /mnt/external/work/roon-export 440 | dest: /mnt/external/work/converted 441 | # The directory where the files will be converted (or copied) to. Default: none. 442 | # With this option enabled, the importer will transcode all (in the default configuration) non-MP3 files 443 | # over the maximum bitrate before adding them to your library. 444 | #tmpdir: none # The directory where temporary files will be stored during import. Default: none (system default), 445 | copy_album_art: no # Since the covers are embedded in the files when Roon exports them, this configuration is not necessary. 446 | embed: no # Embed album art in converted items. Default: yes. 447 | #id3v23: inherit # Can be used to override the global id3v23 option. Default: inherit. 448 | never_convert_lossy_files: yes 449 | # Cross-conversions between lossy codecs—such as mp3, ogg vorbis, etc. 450 | # Makes little sense as they will decrease quality even further. 451 | # If set to yes, lossy files are always copied. 452 | quiet: false # Prevent the plugin from announcing every file it processes. 453 | # Default: false. 454 | threads: 1 # The number of threads to use for parallel encoding. 455 | # By default, the plugin will detect the number of processors available and use them all. 456 | 457 | permissions: # octal modes # Maybe nescessary for smb shares like ROCK or NAS drives. 458 | file: 777 459 | dir: 777 460 | 461 | ################################################################################################### 462 | 463 | # UI ############################################################################################## 464 | 465 | verbose: no 466 | 467 | ui: 468 | color: yes 469 | colors: 470 | text_success: green 471 | text_warning: blue 472 | text_error: red 473 | text_highlight: blue 474 | text_highlight_minor: lightgray 475 | action_default: darkblue 476 | action: purple 477 | 478 | hook: 479 | hooks: 480 | ############################################# 481 | - event: album_imported 482 | command: echo "\"{album}\"" 483 | - event: import 484 | command: echo "imported from {paths}" 485 | ############################################# 486 | - event: art_set 487 | command: echo "Coverart saved" 488 | - event: import_begin 489 | command: echo "Roon import started..." 490 | - event: import_task_apply 491 | command: echo "Metadata applied" 492 | - event: item_copied 493 | command: echo "\"{item}\" copied from \"{source}\" to \"{destination}\"" 494 | - event: item_moved 495 | command: echo "Moved \"{item}\"" 496 | - event: write 497 | command: echo "Writing to {path}" 498 | - event: cli_exit 499 | command: echo "All tasks finished!" 500 | -------------------------------------------------------------------------------- /genres/genres-tree.yaml: -------------------------------------------------------------------------------- 1 | - african: 2 | - african heavy metal 3 | - african hip hop 4 | - afrobeat 5 | - apala 6 | - benga 7 | - bikutsi 8 | - bongo flava 9 | - cape jazz 10 | - chimurenga 11 | - coupé-décalé 12 | - fuji music 13 | - genge 14 | - highlife 15 | - hiplife 16 | - isicathamiya 17 | - jit 18 | - jùjú 19 | - kapuka 20 | - kizomba 21 | - kuduro 22 | - kwaito 23 | - kwela 24 | - makossa 25 | - maloya 26 | - marrabenta 27 | - mbalax 28 | - mbaqanga 29 | - mbube 30 | - morna 31 | - museve 32 | - palm-wine 33 | - raï 34 | - sakara 35 | - sega 36 | - seggae 37 | - semba 38 | - soukous 39 | - taarab 40 | - zouglou 41 | - asian: 42 | - east asian: 43 | - anison 44 | - c-pop 45 | - cantopop 46 | - enka 47 | - hong kong english pop 48 | - j-pop 49 | - k-pop 50 | - kayōkyoku 51 | - korean pop 52 | - mandopop 53 | - onkyokei 54 | - taiwanese pop 55 | - fann at-tanbura 56 | - fijiri 57 | - khaliji 58 | - liwa 59 | - sawt 60 | - south and southeast asian: 61 | - baila 62 | - bhangra 63 | - bhojpuri 64 | - dangdut 65 | - filmi 66 | - indian pop 67 | - lavani 68 | - luk thung: 69 | - luk krung 70 | - manila sound 71 | - morlam 72 | - pinoy pop 73 | - pop sunda 74 | - ragini 75 | - thai pop 76 | - avant-garde: 77 | - experimental music 78 | - lo-fi 79 | - musique concrète 80 | - blues: 81 | - african blues 82 | - blues rock 83 | - blues shouter 84 | - british blues 85 | - canadian blues 86 | - chicago blues 87 | - classic female blues 88 | - contemporary r&b 89 | - country blues 90 | - delta blues 91 | - detroit blues 92 | - electric blues 93 | - gospel blues 94 | - hill country blues 95 | - hokum blues 96 | - jazz blues 97 | - jump blues 98 | - kansas city blues 99 | - louisiana blues 100 | - memphis blues 101 | - piano blues 102 | - piedmont blues 103 | - punk blues 104 | - soul blues 105 | - st. louis blues 106 | - swamp blues 107 | - texas blues 108 | - west coast blues 109 | - caribbean and latin american: 110 | - bachata 111 | - baithak gana 112 | - bolero 113 | - brazilian: 114 | - axé 115 | - bossa nova 116 | - brazilian rock 117 | - brega 118 | - choro 119 | - forró 120 | - frevo 121 | - funk carioca 122 | - lambada 123 | - maracatu 124 | - música popular brasileira 125 | - música sertaneja 126 | - pagode 127 | - samba 128 | - samba rock 129 | - tecnobrega 130 | - tropicalia 131 | - zouk-lambada 132 | - calypso 133 | - chutney 134 | - chutney soca 135 | - compas 136 | - mambo 137 | - merengue 138 | - méringue 139 | - other latin: 140 | - chicha 141 | - criolla 142 | - cumbia 143 | - huayno 144 | - mariachi 145 | - ranchera 146 | - tejano 147 | - punta 148 | - punta rock 149 | - rasin 150 | - reggaeton 151 | - salsa 152 | - soca 153 | - son 154 | - timba 155 | - twoubadou 156 | - zouk 157 | - classical: 158 | - ballet 159 | - baroque: 160 | - baroque music 161 | - cantata 162 | - chamber music: 163 | - string quartet 164 | - classical music 165 | - concerto: 166 | - concerto grosso 167 | - contemporary classical 168 | - modern classical 169 | - opera 170 | - oratorio 171 | - orchestra: 172 | - orchestral 173 | - symphonic 174 | - symphony 175 | - organum 176 | - mass: 177 | - requiem 178 | - sacred music: 179 | - cantique 180 | - gregorian chant 181 | - sonata 182 | - comedy: 183 | - comedy music 184 | - comedy rock 185 | - humor 186 | - parody music 187 | - stand-up 188 | - country: 189 | - alternative country: 190 | - cowpunk 191 | - americana 192 | - australian country music 193 | - bakersfield sound 194 | - bluegrass: 195 | - progressive bluegrass 196 | - reactionary bluegrass 197 | - blues country 198 | - cajun: 199 | - cajun fiddle tunes 200 | - christian country music 201 | - classic country 202 | - close harmony 203 | - country pop 204 | - country rap 205 | - country rock 206 | - country soul 207 | - cowboy/western music 208 | - dansband music 209 | - franco-country 210 | - gulf and western 211 | - hellbilly music 212 | - hokum 213 | - honky tonk 214 | - instrumental country 215 | - lubbock sound 216 | - nashville sound 217 | - neotraditional country 218 | - outlaw country 219 | - progressive country 220 | - psychobilly/punkabilly 221 | - red dirt 222 | - rockabilly 223 | - sertanejo 224 | - texas country 225 | - traditional country music 226 | - truck-driving country 227 | - western swing 228 | - zydeco 229 | - easy listening: 230 | - background music 231 | - beautiful music 232 | - elevator music 233 | - furniture music 234 | - lounge music 235 | - middle of the road 236 | - new-age music 237 | - electronic: 238 | - ambient: 239 | - ambient dub 240 | - ambient house 241 | - ambient techno 242 | - dark ambient 243 | - drone music 244 | - illbient 245 | - isolationism 246 | - lowercase 247 | - asian underground 248 | - breakbeat: 249 | - 4-beat 250 | - acid breaks 251 | - baltimore club 252 | - big beat 253 | - breakbeat hardcore 254 | - broken beat 255 | - florida breaks 256 | - nu skool breaks 257 | - chiptune: 258 | - bitpop 259 | - game boy music 260 | - nintendocore 261 | - video game music 262 | - yorkshire bleeps and bass 263 | - disco: 264 | - cosmic disco 265 | - disco polo 266 | - euro disco 267 | - italo disco 268 | - nu-disco 269 | - space disco 270 | - downtempo: 271 | - acid jazz 272 | - balearic beat 273 | - chill out 274 | - dub music 275 | - dubtronica 276 | - ethnic electronica 277 | - moombahton 278 | - nu jazz 279 | - trip hop 280 | - drum and bass: 281 | - darkcore 282 | - darkstep 283 | - drumfunk 284 | - drumstep 285 | - hardstep 286 | - intelligent drum and bass 287 | - jump-up 288 | - liquid funk 289 | - neurofunk 290 | - oldschool jungle: 291 | - darkside jungle 292 | - ragga jungle 293 | - raggacore 294 | - sambass 295 | - techstep 296 | - electro: 297 | - crunk 298 | - electro backbeat 299 | - electro-grime 300 | - electropop 301 | - electroacoustic: 302 | - acousmatic music 303 | - computer music 304 | - electroacoustic improvisation 305 | - field recording 306 | - live coding 307 | - live electronics 308 | - soundscape composition 309 | - tape music 310 | - electronic rock: 311 | - alternative dance: 312 | - baggy 313 | - madchester 314 | - dance-punk 315 | - dance-rock 316 | - dark wave 317 | - electroclash 318 | - electronicore 319 | - electropunk 320 | - ethereal wave 321 | - indietronica 322 | - new rave 323 | - space rock 324 | - synthpop 325 | - synthpunk 326 | - electronica: 327 | - berlin school 328 | - chillwave 329 | - electronic art music 330 | - electronic dance music 331 | - folktronica 332 | - freestyle music 333 | - glitch 334 | - idm 335 | - laptronica 336 | - skweee 337 | - sound art 338 | - synthcore 339 | - eurodance: 340 | - bubblegum dance 341 | - italo dance 342 | - turbofolk 343 | - hardcore: 344 | - bouncy house 345 | - bouncy techno 346 | - breakcore 347 | - digital hardcore 348 | - doomcore 349 | - dubstyle 350 | - gabber 351 | - happy hardcore 352 | - hardstyle 353 | - jumpstyle 354 | - makina 355 | - speedcore 356 | - terrorcore 357 | - uk hardcore 358 | - hi-nrg: 359 | - eurobeat 360 | - hard nrg 361 | - new beat 362 | - house: 363 | - acid house 364 | - chicago house 365 | - deep house 366 | - diva house 367 | - dutch house 368 | - electro house 369 | - freestyle house 370 | - french house 371 | - funky house 372 | - ghetto house 373 | - hardbag 374 | - hip house 375 | - italo house 376 | - latin house 377 | - minimal house 378 | - progressive house 379 | - rave music 380 | - swing house 381 | - tech house 382 | - tribal house 383 | - uk hard house 384 | - us garage 385 | - vocal house 386 | - industrial: 387 | - aggrotech 388 | - coldwave 389 | - cybergrind 390 | - dark electro 391 | - death industrial 392 | - electro-industrial 393 | - electronic body music: 394 | - futurepop 395 | - industrial metal: 396 | - neue deutsche härte 397 | - industrial rock 398 | - noise: 399 | - japanoise 400 | - power electronics 401 | - power noise 402 | - witch house 403 | - post-disco: 404 | - boogie 405 | - dance-pop 406 | - progressive: 407 | - progressive house/trance: 408 | - disco house 409 | - dream house 410 | - space house 411 | - progressive breaks 412 | - progressive drum & bass 413 | - progressive techno 414 | - techno: 415 | - acid techno 416 | - detroit techno 417 | - free tekno 418 | - ghettotech 419 | - minimal 420 | - nortec 421 | - schranz 422 | - techno-dnb 423 | - technopop 424 | - tecno brega 425 | - toytown techno 426 | - trance: 427 | - acid trance 428 | - classic trance 429 | - dream trance 430 | - goa trance: 431 | - dark psytrance 432 | - full on 433 | - psybreaks 434 | - psyprog 435 | - suomisaundi 436 | - hard trance 437 | - tech trance 438 | - uplifting trance: 439 | - orchestral uplifting 440 | - vocal trance 441 | - uk garage: 442 | - 2-step 443 | - 4x4 444 | - bassline 445 | - breakstep 446 | - dubstep 447 | - funky 448 | - grime 449 | - speed garage 450 | - trap 451 | - folk: 452 | - american folk revival 453 | - anti-folk 454 | - british folk revival 455 | - celtic music 456 | - contemporary folk 457 | - filk music 458 | - freak folk 459 | - indie folk 460 | - industrial folk 461 | - neofolk 462 | - progressive folk 463 | - psychedelic folk 464 | - sung poetry 465 | - techno-folk 466 | - hip hop: 467 | - alternative hip hop 468 | - avant-garde hip hop 469 | - chap hop 470 | - christian hip hop 471 | - conscious hip hop 472 | - country-rap 473 | - crunkcore 474 | - cumbia rap 475 | - east coast hip hop: 476 | - brick city club 477 | - hardcore hip hop 478 | - mafioso rap 479 | - new jersey hip hop 480 | - electro music 481 | - freestyle rap 482 | - g-funk 483 | - gangsta rap 484 | - golden age hip hop 485 | - hip hop soul 486 | - hip pop 487 | - hyphy 488 | - industrial hip hop 489 | - instrumental hip hop 490 | - jazz rap 491 | - low bap 492 | - lyrical hip hop 493 | - merenrap 494 | - midwest hip hop: 495 | - chicago hip hop 496 | - detroit hip hop 497 | - horrorcore 498 | - st. louis hip hop 499 | - twin cities hip hop 500 | - motswako 501 | - nerdcore 502 | - new jack swing 503 | - new school hip hop 504 | - old school hip hop 505 | - political hip hop 506 | - rap opera 507 | - rap rock: 508 | - rap metal 509 | - rapcore 510 | - songo-salsa 511 | - southern hip hop: 512 | - atlanta hip hop: 513 | - snap music 514 | - bounce music 515 | - houston hip hop: 516 | - chopped and screwed 517 | - miami bass 518 | - turntablism 519 | - underground hip hop 520 | - urban pasifika 521 | - west coast hip hop: 522 | - chicano rap 523 | - jerkin' 524 | - jazz: 525 | - asian american jazz 526 | - avant-garde jazz 527 | - bebop 528 | - boogie-woogie 529 | - british dance band 530 | - chamber jazz 531 | - continental jazz 532 | - cool jazz 533 | - crossover jazz 534 | - cubop 535 | - dixieland 536 | - ethno jazz 537 | - european free jazz 538 | - free funk 539 | - free improvisation 540 | - free jazz 541 | - gypsy jazz 542 | - hard bop 543 | - jazz fusion 544 | - jazz rock 545 | - jazz-funk 546 | - kansas city jazz 547 | - latin jazz 548 | - livetronica 549 | - m-base 550 | - mainstream jazz 551 | - modal jazz 552 | - neo-bop jazz 553 | - neo-swing 554 | - novelty ragtime 555 | - orchestral jazz 556 | - post-bop 557 | - punk jazz 558 | - ragtime 559 | - shibuya-kei 560 | - ska jazz 561 | - smooth jazz 562 | - soul jazz 563 | - straight-ahead jazz 564 | - stride jazz 565 | - swing 566 | - third stream 567 | - trad jazz 568 | - vocal jazz 569 | - west coast gypsy jazz 570 | - west coast jazz 571 | - other: 572 | - worldbeat 573 | - pop: 574 | - adult contemporary 575 | - arab pop 576 | - baroque pop 577 | - bubblegum pop 578 | - chanson 579 | - christian pop 580 | - classical crossover 581 | - europop: 582 | - austropop 583 | - balkan pop 584 | - french pop 585 | - latin pop 586 | - laïkó 587 | - nederpop 588 | - russian pop 589 | - iranian pop 590 | - jangle pop 591 | - latin ballad 592 | - levenslied 593 | - louisiana swamp pop 594 | - mexican pop 595 | - motorpop 596 | - new romanticism 597 | - pop rap 598 | - popera 599 | - psychedelic pop 600 | - schlager 601 | - soft rock 602 | - sophisti-pop 603 | - space age pop 604 | - sunshine pop 605 | - surf pop 606 | - teen pop 607 | - traditional pop music 608 | - turkish pop 609 | - vispop 610 | - wonky pop 611 | - rhythm and blues: 612 | - funk: 613 | - deep funk 614 | - go-go 615 | - p-funk 616 | - soul: 617 | - blue-eyed soul 618 | - neo soul 619 | - northern soul 620 | - rock: 621 | - alternative rock: 622 | - britpop: 623 | - post-britpop 624 | - dream pop 625 | - grunge: 626 | - post-grunge 627 | - indie pop: 628 | - dunedin sound 629 | - twee pop 630 | - indie rock 631 | - noise pop 632 | - nu metal 633 | - post-punk revival 634 | - post-rock: 635 | - post-metal 636 | - sadcore 637 | - shoegaze 638 | - slowcore 639 | - art rock 640 | - beat music 641 | - chinese rock 642 | - christian rock 643 | - dark cabaret 644 | - desert rock 645 | - experimental rock 646 | - folk rock 647 | - garage rock 648 | - glam rock 649 | - hard rock 650 | - heavy metal: 651 | - alternative metal: 652 | - funk metal 653 | - black metal: 654 | - viking metal 655 | - christian metal 656 | - death metal: 657 | - death/doom 658 | - goregrind 659 | - melodic death metal 660 | - technical death metal 661 | - doom metal: 662 | - epic doom metal 663 | - funeral doom 664 | - drone metal 665 | - epic metal 666 | - folk metal: 667 | - celtic metal 668 | - medieval metal 669 | - pagan metal 670 | - funk metal 671 | - glam metal 672 | - gothic metal 673 | - industrial metal: 674 | - industrial death metal 675 | - metalcore: 676 | - deathcore 677 | - mathcore: 678 | - djent 679 | - synthcore 680 | - neoclassical metal 681 | - post-metal 682 | - power metal: 683 | - progressive power metal 684 | - progressive metal 685 | - sludge metal 686 | - speed metal 687 | - stoner rock: 688 | - stoner metal 689 | - symphonic metal 690 | - thrash metal: 691 | - crossover thrash 692 | - groove metal 693 | - progressive thrash metal 694 | - teutonic thrash metal 695 | - traditional heavy metal 696 | - math rock 697 | - new wave: 698 | - world fusion 699 | - paisley underground 700 | - pop rock 701 | - post-punk: 702 | - gothic rock 703 | - no wave 704 | - noise rock 705 | - power pop 706 | - progressive rock: 707 | - canterbury scene 708 | - krautrock 709 | - new prog 710 | - rock in opposition 711 | - psychedelic rock: 712 | - acid rock 713 | - freakbeat 714 | - neo-psychedelia 715 | - raga rock 716 | - punk rock: 717 | - anarcho punk: 718 | - crust punk: 719 | - d-beat 720 | - art punk 721 | - christian punk 722 | - deathrock 723 | - folk punk: 724 | - celtic punk 725 | - gypsy punk 726 | - garage punk 727 | - grindcore: 728 | - crustgrind 729 | - noisegrind 730 | - hardcore punk: 731 | - post-hardcore: 732 | - emo: 733 | - screamo 734 | - powerviolence 735 | - street punk 736 | - thrashcore 737 | - horror punk 738 | - oi! 739 | - pop punk 740 | - psychobilly 741 | - riot grrrl 742 | - ska punk: 743 | - ska-core 744 | - skate punk 745 | - rock and roll 746 | - southern rock 747 | - sufi rock 748 | - surf rock 749 | - visual kei: 750 | - nagoya kei 751 | - reggae: 752 | - roots reggae 753 | - reggae fusion 754 | - reggae en español: 755 | - spanish reggae 756 | - reggae 110 757 | - reggae bultrón 758 | - romantic flow 759 | - lovers rock 760 | - raggamuffin: 761 | - ragga 762 | - dancehall 763 | - ska: 764 | - 2 tone 765 | - dub 766 | - rocksteady 767 | -------------------------------------------------------------------------------- /genres/genres.txt: -------------------------------------------------------------------------------- 1 | 2 tone 2 | 2-step garage 3 | 4-beat 4 | 4x4 garage 5 | 8-bit 6 | acapella 7 | acid 8 | acid breaks 9 | acid house 10 | acid jazz 11 | acid rock 12 | acoustic music 13 | acousticana 14 | adult contemporary music 15 | african popular music 16 | african rumba 17 | afrobeat 18 | aleatoric music 19 | alternative country 20 | alternative dance 21 | alternative hip hop 22 | alternative metal 23 | alternative rock 24 | ambient 25 | ambient house 26 | ambient music 27 | americana 28 | anarcho punk 29 | anti-folk 30 | apala 31 | ape haters 32 | arab pop 33 | arabesque 34 | arabic pop 35 | argentine rock 36 | ars antiqua 37 | ars nova 38 | art punk 39 | art rock 40 | ashiq 41 | asian american jazz 42 | australian country music 43 | australian hip hop 44 | australian pub rock 45 | austropop 46 | avant-garde 47 | avant-garde jazz 48 | avant-garde metal 49 | avant-garde music 50 | axé 51 | bac-bal 52 | bachata 53 | baggy 54 | baila 55 | baile funk 56 | baisha xiyue 57 | baithak gana 58 | baião 59 | bajourou 60 | bakersfield sound 61 | bakou 62 | bakshy 63 | bal-musette 64 | balakadri 65 | balinese gamelan 66 | balkan pop 67 | ballad 68 | ballata 69 | ballet 70 | bamboo band 71 | bambuco 72 | banda 73 | bangsawan 74 | bantowbol 75 | barbershop music 76 | barndance 77 | baroque 78 | baroque music 79 | baroque pop 80 | bass music 81 | batcave 82 | batucada 83 | batuco 84 | batá-rumba 85 | beach music 86 | beat 87 | beatboxing 88 | beautiful music 89 | bebop 90 | beiguan 91 | bel canto 92 | bend-skin 93 | benga 94 | berlin school of electronic music 95 | bhajan 96 | bhangra 97 | bhangra-wine 98 | bhangragga 99 | bhangramuffin 100 | big band 101 | big band music 102 | big beat 103 | biguine 104 | bihu 105 | bikutsi 106 | biomusic 107 | bitcore 108 | bitpop 109 | black metal 110 | blackened death metal 111 | blue-eyed soul 112 | bluegrass 113 | blues 114 | blues ballad 115 | blues-rock 116 | boogie 117 | boogie woogie 118 | boogie-woogie 119 | bossa nova 120 | brass band 121 | brazilian funk 122 | brazilian jazz 123 | breakbeat 124 | breakbeat hardcore 125 | breakcore 126 | breton music 127 | brill building pop 128 | britfunk 129 | british blues 130 | british invasion 131 | britpop 132 | broken beat 133 | brown-eyed soul 134 | brukdown 135 | brutal death metal 136 | bubblegum dance 137 | bubblegum pop 138 | bulerias 139 | bumba-meu-boi 140 | bunraku 141 | burger-highlife 142 | burgundian school 143 | byzantine chant 144 | ca din tulnic 145 | ca pe lunca 146 | ca trù 147 | cabaret 148 | cadence 149 | cadence rampa 150 | cadence-lypso 151 | café-aman 152 | cai luong 153 | cajun music 154 | cakewalk 155 | calenda 156 | calentanos 157 | calgia 158 | calypso 159 | calypso jazz 160 | calypso-style baila 161 | campursari 162 | canatronic 163 | candombe 164 | canon 165 | canrock 166 | cantata 167 | cante chico 168 | cante jondo 169 | canterbury scene 170 | cantiga 171 | cantique 172 | cantiñas 173 | canto livre 174 | canto nuevo 175 | canto popular 176 | cantopop 177 | canzone napoletana 178 | cape jazz 179 | capoeira music 180 | caracoles 181 | carceleras 182 | cardas 183 | cardiowave 184 | carimbó 185 | cariso 186 | carnatic music 187 | carol 188 | cartageneras 189 | cassette culture 190 | casséy-co 191 | cavacha 192 | caveman 193 | caña 194 | celempungan 195 | cello rock 196 | celtic 197 | celtic fusion 198 | celtic metal 199 | celtic punk 200 | celtic reggae 201 | celtic rock 202 | cha-cha-cha 203 | chakacha 204 | chalga 205 | chamamé 206 | chamber jazz 207 | chamber music 208 | chamber pop 209 | champeta 210 | changuí 211 | chanson 212 | chant 213 | charanga 214 | charanga-vallenata 215 | charikawi 216 | chastushki 217 | chau van 218 | chemical breaks 219 | chicago blues 220 | chicago house 221 | chicago soul 222 | chicano rap 223 | chicha 224 | chicken scratch 225 | children's music 226 | chillout 227 | chillwave 228 | chimurenga 229 | chinese music 230 | chinese pop 231 | chinese rock 232 | chip music 233 | cho-kantrum 234 | chongak 235 | chopera 236 | chorinho 237 | choro 238 | chouval bwa 239 | chowtal 240 | christian alternative 241 | christian black metal 242 | christian electronic music 243 | christian hardcore 244 | christian hip hop 245 | christian industrial 246 | christian metal 247 | christian music 248 | christian punk 249 | christian r&b 250 | christian rock 251 | christian ska 252 | christmas carol 253 | christmas music 254 | chumba 255 | chut-kai-pang 256 | chutney 257 | chutney soca 258 | chutney-bhangra 259 | chutney-hip hop 260 | chutney-soca 261 | chylandyk 262 | chzalni 263 | chèo 264 | cigányzene 265 | classic 266 | classic country 267 | classic female blues 268 | classic rock 269 | classical 270 | classical music 271 | classical music era 272 | clicks n cuts 273 | close harmony 274 | club music 275 | cocobale 276 | coimbra fado 277 | coladeira 278 | colombianas 279 | combined rhythm 280 | comedy 281 | comedy rap 282 | comedy rock 283 | comic opera 284 | comparsa 285 | compas direct 286 | compas meringue 287 | concert overture 288 | concerto 289 | concerto grosso 290 | congo 291 | conjunto 292 | contemporary christian 293 | contemporary christian music 294 | contemporary classical 295 | contemporary r&b 296 | contonbley 297 | contradanza 298 | cool jazz 299 | corrido 300 | corsican polyphonic song 301 | cothoza mfana 302 | country 303 | country blues 304 | country gospel 305 | country music 306 | country pop 307 | country r&b 308 | country rock 309 | country-rap 310 | countrypolitan 311 | couple de sonneurs 312 | coupé-décalé 313 | cowpunk 314 | cretan music 315 | crossover jazz 316 | crossover music 317 | crossover thrash 318 | crossover thrash metal 319 | crunk 320 | crunk&b 321 | crunkcore 322 | crust punk 323 | csárdás 324 | cuarteto 325 | cuban rumba 326 | cuddlecore 327 | cueca 328 | cumbia 329 | cumbia villera 330 | cybergrind 331 | dabka 332 | dadra 333 | daina 334 | dalauna 335 | dance 336 | dance music 337 | dance-pop 338 | dance-punk 339 | dance-rock 340 | dancehall 341 | dangdut 342 | danger music 343 | dansband 344 | danza 345 | danzón 346 | dark ambient 347 | dark cabaret 348 | dark pop 349 | darkcore 350 | darkstep 351 | darkwave 352 | de ascultat la servici 353 | de codru 354 | de dragoste 355 | de jale 356 | de pahar 357 | death industrial 358 | death metal 359 | death rock 360 | death/doom 361 | deathcore 362 | deathgrind 363 | deathrock 364 | deep funk 365 | deep house 366 | deep soul 367 | degung 368 | delta blues 369 | dementia 370 | desert rock 371 | desi 372 | detroit blues 373 | detroit techno 374 | dhamar 375 | dhimotiká 376 | dhrupad 377 | dhun 378 | digital hardcore 379 | dirge 380 | dirty dutch 381 | dirty rap 382 | dirty rap/pornocore 383 | dirty south 384 | disco 385 | disco house 386 | disco polo 387 | disney 388 | disney hardcore 389 | disney pop 390 | diva house 391 | divine rock 392 | dixieland 393 | dixieland jazz 394 | djambadon 395 | djent 396 | dodompa 397 | doina 398 | dombola 399 | dondang sayang 400 | donegal fiddle tradition 401 | dongjing 402 | doo wop 403 | doom metal 404 | doomcore 405 | downtempo 406 | drag 407 | dream pop 408 | drone doom 409 | drone metal 410 | drone music 411 | dronology 412 | drum and bass 413 | dub 414 | dub house 415 | dubanguthu 416 | dubstep 417 | dubtronica 418 | dunedin sound 419 | dunun 420 | dutch jazz 421 | décima 422 | early music 423 | east coast blues 424 | east coast hip hop 425 | easy listening 426 | electric blues 427 | electric folk 428 | electro 429 | electro backbeat 430 | electro hop 431 | electro house 432 | electro punk 433 | electro-industrial 434 | electro-swing 435 | electroclash 436 | electrofunk 437 | electronic 438 | electronic art music 439 | electronic body music 440 | electronic dance 441 | electronic luk thung 442 | electronic music 443 | electronic rock 444 | electronica 445 | electropop 446 | elevator music 447 | emo 448 | emo pop 449 | emo rap 450 | emocore 451 | emotronic 452 | enka 453 | epic doom metal 454 | epic metal 455 | eremwu eu 456 | ethereal pop 457 | ethereal wave 458 | euro 459 | euro disco 460 | eurobeat 461 | eurodance 462 | europop 463 | eurotrance 464 | eurourban 465 | exotica 466 | experimental music 467 | experimental noise 468 | experimental pop 469 | experimental rock 470 | extreme metal 471 | ezengileer 472 | fado 473 | falak 474 | fandango 475 | farruca 476 | fife and drum blues 477 | filk 478 | film score 479 | filmi 480 | filmi-ghazal 481 | finger-style 482 | fjatpangarri 483 | flamenco 484 | flamenco rumba 485 | flower power 486 | foaie verde 487 | fofa 488 | folk hop 489 | folk metal 490 | folk music 491 | folk pop 492 | folk punk 493 | folk rock 494 | folktronica 495 | forró 496 | franco-country 497 | freak-folk 498 | freakbeat 499 | free improvisation 500 | free jazz 501 | free music 502 | freestyle 503 | freestyle house 504 | freetekno 505 | french pop 506 | frenchcore 507 | frevo 508 | fricote 509 | fuji 510 | fuji music 511 | fulia 512 | full on 513 | funaná 514 | funeral doom 515 | funk 516 | funk metal 517 | funk rock 518 | funkcore 519 | funky house 520 | furniture music 521 | fusion jazz 522 | g-funk 523 | gaana 524 | gabba 525 | gabber 526 | gagaku 527 | gaikyoku 528 | gaita 529 | galant 530 | gamad 531 | gambang kromong 532 | gamelan 533 | gamelan angklung 534 | gamelan bang 535 | gamelan bebonangan 536 | gamelan buh 537 | gamelan degung 538 | gamelan gede 539 | gamelan kebyar 540 | gamelan salendro 541 | gamelan selunding 542 | gamelan semar pegulingan 543 | gamewave 544 | gammeldans 545 | gandrung 546 | gangsta rap 547 | gar 548 | garage rock 549 | garrotin 550 | gavotte 551 | gelugpa chanting 552 | gender wayang 553 | gending 554 | german folk music 555 | gharbi 556 | gharnati 557 | ghazal 558 | ghazal-song 559 | ghetto house 560 | ghettotech 561 | girl group 562 | glam metal 563 | glam punk 564 | glam rock 565 | glitch 566 | gnawa 567 | go-go 568 | goa 569 | goa trance 570 | gong-chime music 571 | goombay 572 | goregrind 573 | goshu ondo 574 | gospel music 575 | gothic metal 576 | gothic rock 577 | granadinas 578 | grebo 579 | gregorian chant 580 | grime 581 | grindcore 582 | groove metal 583 | group sounds 584 | grunge 585 | grupera 586 | guaguanbo 587 | guajira 588 | guasca 589 | guitarra baiana 590 | guitarradas 591 | gumbe 592 | gunchei 593 | gunka 594 | guoyue 595 | gwo ka 596 | gwo ka moderne 597 | gypsy jazz 598 | gypsy punk 599 | gypsybilly 600 | gyu ke 601 | habanera 602 | hajnali 603 | hakka 604 | halling 605 | hambo 606 | hands up 607 | hapa haole 608 | happy hardcore 609 | haqibah 610 | hard 611 | hard bop 612 | hard house 613 | hard rock 614 | hard trance 615 | hardcore hip hop 616 | hardcore metal 617 | hardcore punk 618 | hardcore techno 619 | hardstyle 620 | harepa 621 | harmonica blues 622 | hasaposérviko 623 | heart attack 624 | heartland rock 625 | heavy beat 626 | heavy metal 627 | hesher 628 | hi-nrg 629 | highlands 630 | highlife 631 | highlife fusion 632 | hillybilly music 633 | hindustani classical music 634 | hip hop 635 | hip hop & rap 636 | hip hop soul 637 | hip house 638 | hiplife 639 | hiragasy 640 | hiva usu 641 | hong kong and cantonese pop 642 | hong kong english pop 643 | honky tonk 644 | honkyoku 645 | hora lunga 646 | hornpipe 647 | horror punk 648 | horrorcore 649 | horrorcore rap 650 | house 651 | house music 652 | hua'er 653 | huasteco 654 | huayno 655 | hula 656 | humor 657 | humppa 658 | hunguhungu 659 | hyangak 660 | hymn 661 | hyphy 662 | hát chau van 663 | hát chèo 664 | hát cãi luong 665 | hát tuồng 666 | ibiza music 667 | icaro 668 | idm 669 | igbo music 670 | ijexá 671 | ilahije 672 | illbient 673 | impressionist music 674 | improvisational 675 | incidental music 676 | indian pop 677 | indie folk 678 | indie music 679 | indie pop 680 | indie rock 681 | indietronica 682 | indo jazz 683 | indo rock 684 | indonesian pop 685 | indoyíftika 686 | industrial death metal 687 | industrial hip-hop 688 | industrial metal 689 | industrial music 690 | industrial musical 691 | industrial rock 692 | instrumental rock 693 | intelligent dance music 694 | international latin 695 | inuit music 696 | iranian pop 697 | irish folk 698 | irish rebel music 699 | iscathamiya 700 | isicathamiya 701 | isikhwela jo 702 | island 703 | isolationist 704 | italo dance 705 | italo disco 706 | italo house 707 | itsmeños 708 | izvorna bosanska muzika 709 | j'ouvert 710 | j-fusion 711 | j-pop 712 | j-rock 713 | jaipongan 714 | jaliscienses 715 | jam band 716 | jam rock 717 | jamana kura 718 | jamrieng samai 719 | jangle pop 720 | japanese pop 721 | jarana 722 | jariang 723 | jarochos 724 | jawaiian 725 | jazz 726 | jazz blues 727 | jazz fusion 728 | jazz metal 729 | jazz rap 730 | jazz-funk 731 | jazz-rock 732 | jegog 733 | jenkka 734 | jesus music 735 | jibaro 736 | jig 737 | jig punk 738 | jing ping 739 | jingle 740 | jit 741 | jitterbug 742 | jive 743 | joged 744 | joged bumbung 745 | joik 746 | jonnycore 747 | joropo 748 | jota 749 | jtek 750 | jug band 751 | jujitsu 752 | juju 753 | juke joint blues 754 | jump blues 755 | jumpstyle 756 | jungle 757 | junkanoo 758 | juré 759 | jùjú 760 | k-pop 761 | kaba 762 | kabuki 763 | kachāshī 764 | kadans 765 | kagok 766 | kagyupa chanting 767 | kaiso 768 | kalamatianó 769 | kalattuut 770 | kalinda 771 | kamba pop 772 | kan ha diskan 773 | kansas city blues 774 | kantrum 775 | kantádhes 776 | kargyraa 777 | karma 778 | kaseko 779 | katajjaq 780 | kawachi ondo 781 | kayōkyoku 782 | ke-kwe 783 | kebyar 784 | kecak 785 | kecapi suling 786 | kertok 787 | khaleeji 788 | khap 789 | khelimaski djili 790 | khene 791 | khoomei 792 | khorovodi 793 | khplam wai 794 | khrung sai 795 | khyal 796 | kilapanda 797 | kinko 798 | kirtan 799 | kiwi rock 800 | kizomba 801 | klape 802 | klasik 803 | klezmer 804 | kliningan 805 | kléftiko 806 | kochare 807 | kolomyjka 808 | komagaku 809 | kompa 810 | konpa 811 | korean pop 812 | koumpaneia 813 | kpanlogo 814 | krakowiak 815 | krautrock 816 | kriti 817 | kroncong 818 | krump 819 | krzesany 820 | kuduro 821 | kulintang 822 | kulning 823 | kumina 824 | kun-borrk 825 | kundere 826 | kundiman 827 | kussundé 828 | kutumba wake 829 | kveding 830 | kvæði 831 | kwaito 832 | kwassa kwassa 833 | kwela 834 | käng 835 | kélé 836 | kĩkũyũ pop 837 | la la 838 | latin american 839 | latin jazz 840 | latin pop 841 | latin rap 842 | lavway 843 | laïko 844 | laïkó 845 | le leagan 846 | legényes 847 | lelio 848 | letkajenkka 849 | levenslied 850 | lhamo 851 | lieder 852 | light music 853 | light rock 854 | likanos 855 | liquid drum&bass 856 | liquid funk 857 | liquindi 858 | llanera 859 | llanto 860 | lo-fi 861 | lo-fi music 862 | loki djili 863 | long-song 864 | louisiana blues 865 | louisiana swamp pop 866 | lounge music 867 | lovers rock 868 | lowercase 869 | lubbock sound 870 | lucknavi thumri 871 | luhya omutibo 872 | luk grung 873 | lullaby 874 | lundu 875 | lundum 876 | m-base 877 | madchester 878 | madrigal 879 | mafioso rap 880 | maglaal 881 | magnificat 882 | mahori 883 | mainstream jazz 884 | makossa 885 | makossa-soukous 886 | malagueñas 887 | malawian jazz 888 | malhun 889 | maloya 890 | maluf 891 | maluka 892 | mambo 893 | manaschi 894 | mandarin pop 895 | manding swing 896 | mango 897 | mangue bit 898 | mangulina 899 | manikay 900 | manila sound 901 | manouche 902 | manzuma 903 | mapouka 904 | mapouka-serré 905 | marabi 906 | maracatu 907 | marga 908 | mariachi 909 | marimba 910 | marinera 911 | marrabenta 912 | martial industrial 913 | martinetes 914 | maskanda 915 | mass 916 | matamuerte 917 | math rock 918 | mathcore 919 | matt bello 920 | maxixe 921 | mazurka 922 | mbalax 923 | mbaqanga 924 | mbube 925 | mbumba 926 | medh 927 | medieval folk rock 928 | medieval metal 929 | medieval music 930 | meditation 931 | mejorana 932 | melhoun 933 | melhûn 934 | melodic black metal 935 | melodic death metal 936 | melodic hardcore 937 | melodic metalcore 938 | melodic music 939 | melodic trance 940 | memphis blues 941 | memphis rap 942 | memphis soul 943 | mento 944 | merengue 945 | merengue típico moderno 946 | merengue-bomba 947 | meringue 948 | merseybeat 949 | metal 950 | metalcore 951 | metallic hardcore 952 | mexican pop 953 | mexican rock 954 | mexican son 955 | meykhana 956 | mezwed 957 | miami bass 958 | microhouse 959 | middle of the road 960 | midwest hip hop 961 | milonga 962 | min'yo 963 | mineras 964 | mini compas 965 | mini-jazz 966 | minimal techno 967 | minimalist music 968 | minimalist trance 969 | minneapolis sound 970 | minstrel show 971 | minuet 972 | mirolóyia 973 | modal jazz 974 | modern classical 975 | modern classical music 976 | modern laika 977 | modern rock 978 | modinha 979 | mohabelo 980 | montuno 981 | monumental dance 982 | mor lam 983 | mor lam sing 984 | morna 985 | motorpop 986 | motown 987 | mozambique 988 | mpb 989 | mugam 990 | multicultural 991 | murga 992 | musette 993 | museve 994 | mushroom jazz 995 | music drama 996 | music hall 997 | musiqi-e assil 998 | musique concrète 999 | mutuashi 1000 | muwashshah 1001 | muzak 1002 | méringue 1003 | música campesina 1004 | música criolla 1005 | música de la interior 1006 | música llanera 1007 | música nordestina 1008 | música popular brasileira 1009 | música tropical 1010 | nagauta 1011 | nakasi 1012 | nangma 1013 | nanguan 1014 | narcocorrido 1015 | nardcore 1016 | narodna muzika 1017 | nasheed 1018 | nashville sound 1019 | nashville sound/countrypolitan 1020 | national socialist black metal 1021 | naturalismo 1022 | nederpop 1023 | neo soul 1024 | neo-classical metal 1025 | neo-medieval 1026 | neo-prog 1027 | neo-psychedelia 1028 | neoclassical 1029 | neoclassical metal 1030 | neoclassical music 1031 | neofolk 1032 | neotraditional country 1033 | nerdcore 1034 | neue deutsche härte 1035 | neue deutsche welle 1036 | new age music 1037 | new beat 1038 | new instrumental 1039 | new jack swing 1040 | new orleans blues 1041 | new orleans jazz 1042 | new pop 1043 | new prog 1044 | new rave 1045 | new romantic 1046 | new school hip hop 1047 | new taiwanese song 1048 | new wave 1049 | new wave of british heavy metal 1050 | new wave of new wave 1051 | new weird america 1052 | new york blues 1053 | new york house 1054 | newgrass 1055 | nganja 1056 | nightcore 1057 | nintendocore 1058 | nisiótika 1059 | no wave 1060 | noh 1061 | noise music 1062 | noise pop 1063 | noise rock 1064 | nongak 1065 | norae undong 1066 | nordic folk dance music 1067 | nordic folk music 1068 | nortec 1069 | norteño 1070 | northern soul 1071 | nota 1072 | nu breaks 1073 | nu jazz 1074 | nu metal 1075 | nu soul 1076 | nueva canción 1077 | nyatiti 1078 | néo kýma 1079 | obscuro 1080 | oi! 1081 | old school hip hop 1082 | old-time 1083 | oldies 1084 | olonkho 1085 | oltului 1086 | ondo 1087 | opera 1088 | operatic pop 1089 | oratorio 1090 | orchestra 1091 | orchestral 1092 | organ trio 1093 | organic ambient 1094 | organum 1095 | orgel 1096 | oriental metal 1097 | ottava rima 1098 | outlaw country 1099 | outsider music 1100 | p-funk 1101 | pagan metal 1102 | pagan rock 1103 | pagode 1104 | paisley underground 1105 | palm wine 1106 | palm-wine 1107 | pambiche 1108 | panambih 1109 | panchai baja 1110 | panchavadyam 1111 | pansori 1112 | paranda 1113 | parang 1114 | parody 1115 | parranda 1116 | partido alto 1117 | pasillo 1118 | patriotic 1119 | peace punk 1120 | pelimanni music 1121 | petenera 1122 | peyote song 1123 | philadelphia soul 1124 | piano blues 1125 | piano rock 1126 | piedmont blues 1127 | pimba 1128 | pinoy pop 1129 | pinoy rock 1130 | pinpeat orchestra 1131 | piphat 1132 | piyyutim 1133 | plainchant 1134 | plena 1135 | pleng phua cheewit 1136 | pleng thai sakorn 1137 | political hip hop 1138 | polka 1139 | polo 1140 | polonaise 1141 | pols 1142 | polska 1143 | pong lang 1144 | pop 1145 | pop folk 1146 | pop music 1147 | pop punk 1148 | pop rap 1149 | pop rock 1150 | pop sunda 1151 | pornocore 1152 | porro 1153 | post disco 1154 | post-britpop 1155 | post-disco 1156 | post-grunge 1157 | post-hardcore 1158 | post-industrial 1159 | post-metal 1160 | post-minimalism 1161 | post-punk 1162 | post-rock 1163 | post-romanticism 1164 | pow-wow 1165 | power electronics 1166 | power metal 1167 | power noise 1168 | power pop 1169 | powerviolence 1170 | ppongtchak 1171 | praise song 1172 | program symphony 1173 | progressive bluegrass 1174 | progressive country 1175 | progressive death metal 1176 | progressive electronic 1177 | progressive electronic music 1178 | progressive folk 1179 | progressive folk music 1180 | progressive house 1181 | progressive metal 1182 | progressive power metal 1183 | progressive rock 1184 | progressive trance 1185 | progressive thrash metal 1186 | protopunk 1187 | psych folk 1188 | psychedelic music 1189 | psychedelic pop 1190 | psychedelic rock 1191 | psychedelic trance 1192 | psychobilly 1193 | punk blues 1194 | punk cabaret 1195 | punk jazz 1196 | punk rock 1197 | punta 1198 | punta rock 1199 | qasidah 1200 | qasidah modern 1201 | qawwali 1202 | quadrille 1203 | quan ho 1204 | queercore 1205 | quiet storm 1206 | rada 1207 | raga 1208 | raga rock 1209 | ragga 1210 | ragga jungle 1211 | raggamuffin 1212 | ragtime 1213 | rai 1214 | rake-and-scrape 1215 | ramkbach 1216 | ramvong 1217 | ranchera 1218 | rap 1219 | rap metal 1220 | rap rock 1221 | rapcore 1222 | rara 1223 | rare groove 1224 | rasiya 1225 | rave 1226 | raw rock 1227 | raï 1228 | rebetiko 1229 | red dirt 1230 | reel 1231 | reggae 1232 | reggae 110 1233 | reggae bultrón 1234 | reggae en español 1235 | reggae fusion 1236 | reggae highlife 1237 | reggaefusion 1238 | reggaeton 1239 | rekilaulu 1240 | relax music 1241 | religious 1242 | rembetiko 1243 | renaissance music 1244 | requiem 1245 | rhapsody 1246 | rhyming spiritual 1247 | rhythm & blues 1248 | rhythm and blues 1249 | ricercar 1250 | riot grrrl 1251 | rock 1252 | rock and roll 1253 | rock en español 1254 | rock opera 1255 | rockabilly 1256 | rocksteady 1257 | rococo 1258 | romantic flow 1259 | romantic period in music 1260 | rondeaux 1261 | ronggeng 1262 | roots reggae 1263 | roots rock 1264 | roots rock reggae 1265 | rumba 1266 | russian pop 1267 | rímur 1268 | sabar 1269 | sacred harp 1270 | sacred music 1271 | sadcore 1272 | saibara 1273 | sakara 1274 | salegy 1275 | salsa 1276 | salsa erotica 1277 | salsa romantica 1278 | saltarello 1279 | samba 1280 | samba-canção 1281 | samba-reggae 1282 | samba-rock 1283 | sambai 1284 | sanjo 1285 | sato kagura 1286 | sawt 1287 | saya 1288 | scat 1289 | schlager 1290 | schottisch 1291 | schranz 1292 | scottish baroque music 1293 | screamo 1294 | scrumpy and western 1295 | sea shanty 1296 | sean nós 1297 | second viennese school 1298 | sega music 1299 | seggae 1300 | seis 1301 | semba 1302 | sephardic music 1303 | serialism 1304 | set dance 1305 | sevdalinka 1306 | sevillana 1307 | shabab 1308 | shabad 1309 | shalako 1310 | shan'ge 1311 | shango 1312 | shape note 1313 | shibuya-kei 1314 | shidaiqu 1315 | shima uta 1316 | shock rock 1317 | shoegaze 1318 | shoegazer 1319 | shoka 1320 | shomyo 1321 | show tune 1322 | sica 1323 | siguiriyas 1324 | silat 1325 | sinawi 1326 | situational 1327 | ska 1328 | ska punk 1329 | skacore 1330 | skald 1331 | skate punk 1332 | skiffle 1333 | slack-key guitar 1334 | slide 1335 | slowcore 1336 | sludge metal 1337 | slängpolska 1338 | smooth jazz 1339 | soca 1340 | soft rock 1341 | son 1342 | son montuno 1343 | son-batá 1344 | sonata 1345 | songo 1346 | songo-salsa 1347 | sophisti-pop 1348 | soukous 1349 | soul 1350 | soul blues 1351 | soul jazz 1352 | soul music 1353 | southern gospel 1354 | southern harmony 1355 | southern hip hop 1356 | southern metal 1357 | southern rock 1358 | southern soul 1359 | space age pop 1360 | space music 1361 | space rock 1362 | spectralism 1363 | speed garage 1364 | speed metal 1365 | speedcore 1366 | spirituals 1367 | spouge 1368 | sprechgesang 1369 | square dance 1370 | squee 1371 | st. louis blues 1372 | stand-up 1373 | steelband 1374 | stoner metal 1375 | stoner rock 1376 | straight edge 1377 | strathspeys 1378 | stride 1379 | string 1380 | string quartet 1381 | sufi music 1382 | suite 1383 | sunshine pop 1384 | suomirock 1385 | super eurobeat 1386 | surf ballad 1387 | surf instrumental 1388 | surf music 1389 | surf pop 1390 | surf rock 1391 | swamp blues 1392 | swamp pop 1393 | swamp rock 1394 | swing 1395 | swing music 1396 | swingbeat 1397 | sygyt 1398 | symphonic 1399 | symphonic black metal 1400 | symphonic metal 1401 | symphonic poem 1402 | symphonic rock 1403 | symphony 1404 | synthcore 1405 | synthpop 1406 | synthpunk 1407 | t'ong guitar 1408 | taarab 1409 | tai tu 1410 | taiwanese pop 1411 | tala 1412 | talempong 1413 | tambu 1414 | tamburitza 1415 | tamil christian keerthanai 1416 | tango 1417 | tanguk 1418 | tappa 1419 | tarana 1420 | tarantella 1421 | taranto 1422 | tech 1423 | tech house 1424 | tech trance 1425 | technical death metal 1426 | technical metal 1427 | techno 1428 | technoid 1429 | technopop 1430 | techstep 1431 | techtonik 1432 | teen pop 1433 | tejano 1434 | tejano music 1435 | tekno 1436 | tembang sunda 1437 | teutonic thrash metal 1438 | texas blues 1439 | thai pop 1440 | thillana 1441 | thrash metal 1442 | thrashcore 1443 | thumri 1444 | tibetan pop 1445 | tiento 1446 | timbila 1447 | tin pan alley 1448 | tinga 1449 | tinku 1450 | toeshey 1451 | togaku 1452 | trad jazz 1453 | traditional bluegrass 1454 | traditional heavy metal 1455 | traditional pop music 1456 | trallalero 1457 | trance 1458 | tribal house 1459 | trikitixa 1460 | trip hop 1461 | trip rock 1462 | trip-hop 1463 | tropicalia 1464 | tropicalismo 1465 | tropipop 1466 | truck-driving country 1467 | tumba 1468 | turbo-folk 1469 | turkish music 1470 | turkish pop 1471 | turntablism 1472 | tuvan throat-singing 1473 | twee pop 1474 | twist 1475 | two tone 1476 | táncház 1477 | uk garage 1478 | uk pub rock 1479 | unblack metal 1480 | underground music 1481 | uplifting 1482 | uplifting trance 1483 | urban cowboy 1484 | urban folk 1485 | urban jazz 1486 | vallenato 1487 | vaudeville 1488 | venezuela 1489 | verbunkos 1490 | verismo 1491 | viking metal 1492 | villanella 1493 | virelai 1494 | vispop 1495 | visual kei 1496 | visual music 1497 | vocal 1498 | vocal house 1499 | vocal jazz 1500 | vocal music 1501 | volksmusik 1502 | waila 1503 | waltz 1504 | wangga 1505 | warabe uta 1506 | wassoulou 1507 | weld 1508 | were music 1509 | west coast hip hop 1510 | west coast jazz 1511 | western 1512 | western blues 1513 | western swing 1514 | witch house 1515 | wizard rock 1516 | women's music 1517 | wong shadow 1518 | wonky pop 1519 | wood 1520 | work song 1521 | world fusion 1522 | world fusion music 1523 | world music 1524 | worldbeat 1525 | xhosa music 1526 | xoomii 1527 | yo-pop 1528 | yodeling 1529 | yukar 1530 | yé-yé 1531 | zajal 1532 | zapin 1533 | zarzuela 1534 | zeibekiko 1535 | zeuhl 1536 | ziglibithy 1537 | zouglou 1538 | zouk 1539 | zouk chouv 1540 | zouklove 1541 | zulu music 1542 | zydeco 1543 | -------------------------------------------------------------------------------- /local.yaml: -------------------------------------------------------------------------------- 1 | # Edit this file to fit your system. 2 | 3 | directory: /mnt/internal/music # Destination. 4 | library: /mnt/internal/music/library.db # Database 5 | #pluginpath: 6 | #- ~/.config/beets/beetsplug/fetchartist # https://github.com/dkanada/beets-fetchartist 7 | #- ~/.config/beets/beetsplug/discogs_extradata 8 | -------------------------------------------------------------------------------- /plugins.yaml: -------------------------------------------------------------------------------- 1 | # List of useful plugins. 2 | # Commented out (#) plugins are not in use yet. 3 | 4 | plugins: 5 | [ 6 | #absubmit, # Lets you submit acoustic analysis results to the AcousticBrainz server. 7 | # ToDo: install the extractor binary from https://acousticbrainz.org/download 8 | acousticbrainz, # Gets acoustic-analysis information from the AcousticBrainz project. 9 | badfiles, # ToDo. Adds a beet bad command to check for missing and corrupt files. 10 | bandcamp, # Beetcamp. Use bandcamp as an autotagger source for eg. artwork and lyrics. 11 | bucket, # Groups your files into buckets folders representing ranges. 12 | chroma, # Chromaprint/Acoustid Plugin. 13 | check, # Add checksum automatically. 14 | convert, # Lets you transcoding audio and embedding album art. 15 | copyartifacts, # A plugin that moves non-music files during the import process. 16 | duplicates, # Adds a new command, duplicates or dup, which finds and lists duplicate tracks or albums in your collection. 17 | edit, # Lets you modify music metadata using your favorite text editor. ToDo: No config file yet. 18 | embedart, # Embed the album art directly into each file’s metadata. 19 | export, # Lets you get data from the items and export the content as JSON, CSV, or XML. 20 | fetchart, # Retrieves album art images from various sources on the Web and stores them as image files. 21 | follow, # Get notifications about new releases from album artists in your Beets library using muspy. 22 | fromfilename, # The FromFilename plugin adds the ability to guess tags from the filenames. 23 | # Use this plugin if your tracks have useful names (like “03 Call Me Maybe.mp3”) but their tags don’t reflect that. 24 | hook, # Lets you run commands in response to these events. 25 | importadded, # Useful when an existing collection is imported and the time when albums and items were added should be preserved. 26 | info, # The info plugin provides a command that dumps the current tag values for any file format supported by beets. 27 | lastimport, # Doesn't write tags to files - only database. So not useful at the moment. 28 | lastgenre, # Fetches tags from Last.fm and assigns them as genres to your albums and items. 29 | lyrics, # Fetches and stores song lyrics from databases on the Web. 30 | mbcollection, # Lets you submit your catalog to MusicBrainz to maintain your music collection list there. 31 | mbsubmit, # Provides an extra prompt choice during an import session that prints the tracks 32 | # of the current album in a format that is parseable by MusicBrainz’s track parser. 33 | mbsync, # This plugin provides the mbsync command, 34 | # which lets you fetch metadata from MusicBrainz for albums and tracks that already have MusicBrainz IDs. 35 | missing, # This plugin adds a new command, missing or miss, 36 | # which finds and lists, for every album in your collection, which or how many tracks are missing. 37 | parentwork, # Fetches the work title, parent work title and parent work composer from MusicBrainz. 38 | permissions, # Set file permissions for imported music files and its directories. Permissions will be adjusted automatically on import. 39 | replaygain, # This plugin adds support for ReplayGain, a technique for normalizing audio playback levels. 40 | unimported # Allows to list all files in the library folder which are not listed in the beets library database, including art files. 41 | ] 42 | -------------------------------------------------------------------------------- /secrets_sample.yaml: -------------------------------------------------------------------------------- 1 | acoustid: 2 | apikey: your_api_key 3 | discogs_extradata: 4 | token: usertoken 5 | fetchart: 6 | fanarttv_key: your_api_key 7 | follow: 8 | email: your_email 9 | password: seekrit 10 | userid: your_user_id 11 | lastfm: 12 | user: you 13 | api_key: your_api_key 14 | mbcollection: 15 | collection: your_collection_id 16 | musicbrainz: 17 | user: you 18 | pass: seekrit 19 | --------------------------------------------------------------------------------