stopped working in alpine 3.22 due to switching to llvm, which strictly requres CXXFLAGS rather than CFLAGS the PKG_CONFIG_PATH change is unnecessary but might as well
standalone programs which take an audio file as argument
you may want to forget about all this fancy complicated stuff and just use event hooks instead (which doesn't need -e2ts or ffmpeg)
NOTE: these all require -e2ts to be functional, meaning you need to do at least one of these: apt install ffmpeg or pip3 install mutagen
some of these rely on libraries which are not MIT-compatible
- audio-bpm.py detects the BPM of music using the BeatRoot Vamp Plugin; imports GPL2
- audio-key.py detects the melodic key of music using the Mixxx fork of keyfinder; imports GPL3
these invoke standalone programs which are GPL or similar, so is legally fine for most purposes:
- media-hash.py generates checksums for audio and video streams; uses FFmpeg (LGPL or GPL)
- image-noexif.py removes exif tags from images; uses exiftool (GPLv1 or artistic-license)
these do not have any problematic dependencies at all:
- cksum.py computes various checksums
- exe.py grabs metadata from .exe and .dll files (example for retrieving multiple tags with one parser)
- wget.py lets you download files by POSTing URLs to copyparty
- also available as an event hook
dangerous plugins
plugins in this section should only be used with appropriate precautions:
- very-bad-idea.py combined with meadup.js converts copyparty into a janky yet extremely flexible chromecast clone
- also adds a virtual keyboard by @steinuil to the basic-upload tab for comfy couch crowd control
- anything uploaded through the android app (files or links) are executed on the server, meaning anyone can infect your PC with malware... so protect this with a password and keep it on a LAN!
- kamelåså is a much better (and MUCH safer) alternative to this plugin
- powered by chicken-curry-banana-pineapple-peanut pizza so you know it's good
- and, unlike this plugin, kamelåså even has windows support (nice)
dependencies
run install-deps.sh to build/install most dependencies required by these programs (supports windows/linux/macos)
alternatively (or preferably) use packages from your distro instead, then you'll need at least these:
- from distro:
numpy vamp-plugin-sdk beatroot-vamp mixxx-keyfinder ffmpeg - from pip:
keyfinder vamp
usage from copyparty
copyparty -e2dsa -e2ts followed by any combination of these:
-
-mtp key=f,audio-key.py -
-mtp .bpm=f,audio-bpm.py -
-mtp ahash,vhash=f,media-hash.py -
f,makes the detected value replace any existing values -
the
.in.bpmindicates numeric value -
assumes the python files are in the folder you're launching copyparty from, replace the filename with a relative/absolute path if that's not the case
-
mtpmodules will not run if a file has existing tags in the db, so clear out the tags with-e2tsrthe first time you launch with newmtpoptions
usage with volflags
instead of affecting all volumes, you can set the options for just one volume like so:
copyparty -v /mnt/nas/music:/music:r:c,e2dsa:c,e2ts immediately followed by any combination of these:
:c,mtp=key=f,audio-key.py:c,mtp=.bpm=f,audio-bpm.py:c,mtp=ahash,vhash=f,media-hash.py