diff options
Diffstat (limited to 'modules/home.legacy/conf/beets/plugins/xtractor/default.nix')
-rw-r--r-- | modules/home.legacy/conf/beets/plugins/xtractor/default.nix | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/beets/plugins/xtractor/default.nix b/modules/home.legacy/conf/beets/plugins/xtractor/default.nix new file mode 100644 index 00000000..d4582c5f --- /dev/null +++ b/modules/home.legacy/conf/beets/plugins/xtractor/default.nix @@ -0,0 +1,95 @@ +{ + lib, + pkgs, + config, + ... +}: { + programs.beets.settings = { + xtractor = { + # This option is not yet implemented, thus requiring the hook + auto = true; + + dry-run = false; + # Writes the bpm key to the media files + write = true; + threads = 0; + # Also run for files, which already have the required keys + force = true; + quiet = false; + keep_output = true; + keep_profiles = true; + output_path = "${config.xdg.dataHome}/beets/xtactor"; + essentia_extractor = "${lib.getExe pkgs.essentia-extractor}"; + extractor_profile = { + highlevel = { + svm_models = let + m = pkgs.beetsExtraPlugins.xtractor.models; + in [ + "${m}/danceability.history" + "${m}/danceability.history.param" + "${m}/danceability.history.results.html" + "${m}/gender.history" + "${m}/gender.history.param" + "${m}/gender.history.results.html" + "${m}/genre_dortmund.history" + "${m}/genre_dortmund.history.param" + "${m}/genre_dortmund.history.results.html" + "${m}/genre_electronic.history" + "${m}/genre_electronic.history.param" + "${m}/genre_electronic.history.results.html" + "${m}/genre_rosamerica.history" + "${m}/genre_rosamerica.history.param" + "${m}/genre_rosamerica.history.results.html" + "${m}/genre_tzanetakis.history" + "${m}/genre_tzanetakis.history.param" + "${m}/genre_tzanetakis.history.results.html" + "${m}/ismir04_rhythm.history" + "${m}/ismir04_rhythm.history.param" + "${m}/ismir04_rhythm.history.results.html" + "${m}/mood_acoustic.history" + "${m}/mood_acoustic.history.param" + "${m}/mood_acoustic.history.results.html" + "${m}/mood_aggressive.history" + "${m}/mood_aggressive.history.param" + "${m}/mood_aggressive.history.results.html" + "${m}/mood_electronic.history" + "${m}/mood_electronic.history.param" + "${m}/mood_electronic.history.results.html" + "${m}/mood_happy.history" + "${m}/mood_happy.history.param" + "${m}/mood_happy.history.results.html" + "${m}/mood_party.history" + "${m}/mood_party.history.param" + "${m}/mood_party.history.results.html" + "${m}/mood_relaxed.history" + "${m}/mood_relaxed.history.param" + "${m}/mood_relaxed.history.results.html" + "${m}/mood_sad.history" + "${m}/mood_sad.history.param" + "${m}/mood_sad.history.results.html" + "${m}/moods_mirex.history" + "${m}/moods_mirex.history.param" + "${m}/moods_mirex.history.results.html" + "${m}/timbre.history" + "${m}/timbre.history.param" + "${m}/timbre.history.results.html" + "${m}/tonal_atonal.history" + "${m}/tonal_atonal.history.param" + "${m}/tonal_atonal.history.results.html" + "${m}/voice_instrumental.history" + "${m}/voice_instrumental.history.param" + "${m}/voice_instrumental.history.results.html" + ]; + }; + }; + }; + hook = { + hooks = [ + { + event = "import"; + command = "echo Remember to run 'beet xtractor'!"; + } + ]; + }; + }; +} |