Building an audio-only ffmpeg
Since Musly and Essentia only require ffmpeg's audio functionality, it's possible to build a minimal ffmpeg version.
build-ffmpeg.sh
FFMPEG_AUDIO_FLAGS="
--enable-avresample
--disable-doc
--disable-debug
--disable-avdevice
--disable-swscale
--disable-avfilter
--disable-network
--disable-indevs
--disable-outdevs
--disable-muxers
--disable-demuxers
--disable-encoders
--disable-decoders
--disable-bsfs
--disable-filters
--disable-parsers
--disable-protocols
--disable-hwaccels
--enable-protocol=file
--enable-protocol=pipe
--enable-demuxer=image2
--enable-demuxer=aac
--enable-demuxer=ac3
--enable-demuxer=aiff
--enable-demuxer=ape
--enable-demuxer=asf
--enable-demuxer=au
--enable-demuxer=avi
--enable-demuxer=flac
--enable-demuxer=flv
--enable-demuxer=matroska
--enable-demuxer=mov
--enable-demuxer=m4v
--enable-demuxer=mp3
--enable-demuxer=mpc
--enable-demuxer=mpc8
--enable-demuxer=ogg
--enable-demuxer=pcm_alaw
--enable-demuxer=pcm_mulaw
--enable-demuxer=pcm_f64be
--enable-demuxer=pcm_f64le
--enable-demuxer=pcm_f32be
--enable-demuxer=pcm_f32le
--enable-demuxer=pcm_s32be
--enable-demuxer=pcm_s32le
--enable-demuxer=pcm_s24be
--enable-demuxer=pcm_s24le
--enable-demuxer=pcm_s16be
--enable-demuxer=pcm_s16le
--enable-demuxer=pcm_s8
--enable-demuxer=pcm_u32be
--enable-demuxer=pcm_u32le
--enable-demuxer=pcm_u24be
--enable-demuxer=pcm_u24le
--enable-demuxer=pcm_u16be
--enable-demuxer=pcm_u16le
--enable-demuxer=pcm_u8
--enable-demuxer=rm
--enable-demuxer=shorten
--enable-demuxer=tak
--enable-demuxer=tta
--enable-demuxer=wav
--enable-demuxer=wv
--enable-demuxer=xwma
--enable-decoder=aac
--enable-decoder=aac_latm
--enable-decoder=ac3
--enable-decoder=alac
--enable-decoder=als
--enable-decoder=ape
--enable-decoder=atrac1
--enable-decoder=atrac3
--enable-decoder=eac3
--enable-decoder=flac
--enable-decoder=gsm
--enable-decoder=gsm_ms
--enable-decoder=mp1
--enable-decoder=mp1float
--enable-decoder=mp2
--enable-decoder=mp2float
--enable-decoder=mp3
--enable-decoder=mp3float
--enable-decoder=mp3adu
--enable-decoder=mp3adufloat
--enable-decoder=mp3on4
--enable-decoder=mp3on4float
--enable-decoder=mpc7
--enable-decoder=mpc8
--enable-decoder=ra_144
--enable-decoder=ra_288
--enable-decoder=ralf
--enable-decoder=shorten
--enable-decoder=tak
--enable-decoder=truehd
--enable-decoder=tta
--enable-decoder=vorbis
--enable-decoder=wavpack
--enable-decoder=wmalossless
--enable-decoder=wmapro
--enable-decoder=wmav1
--enable-decoder=wmav2
--enable-decoder=wmavoice
--enable-decoder=pcm_alaw
--enable-decoder=pcm_bluray
--enable-decoder=pcm_dvd
--enable-decoder=pcm_f32be
--enable-decoder=pcm_f32le
--enable-decoder=pcm_f64be
--enable-decoder=pcm_f64le
--enable-decoder=pcm_lxf
--enable-decoder=pcm_mulaw
--enable-decoder=pcm_s8
--enable-decoder=pcm_s8_planar
--enable-decoder=pcm_s16be
--enable-decoder=pcm_s16be_planar
--enable-decoder=pcm_s16le
--enable-decoder=pcm_s16le_planar
--enable-decoder=pcm_s24be
--enable-decoder=pcm_s24daud
--enable-decoder=pcm_s24le
--enable-decoder=pcm_s24le_planar
--enable-decoder=pcm_s32be
--enable-decoder=pcm_s32le
--enable-decoder=pcm_s32le_planar
--enable-decoder=pcm_u8
--enable-decoder=pcm_u16be
--enable-decoder=pcm_u16le
--enable-decoder=pcm_u24be
--enable-decoder=pcm_u24le
--enable-decoder=pcm_u32be
--enable-decoder=pcm_u32le
--enable-decoder=pcm_zork
--enable-parser=aac
--enable-parser=aac_latm
--enable-parser=ac3
--enable-parser=cook
--enable-parser=dca
--enable-parser=flac
--enable-parser=gsm
--enable-parser=mlp
--enable-parser=mpegaudio
--enable-parser=tak
--enable-parser=vorbis
--enable-parser=vp3
--enable-parser=vp8
--disable-alsa
--disable-bzlib
--disable-iconv
--disable-lzma
--disable-libxcb
--disable-sdl2
--disable-xlib
--disable-zlib
--disable-cuda
--disable-cuvid
--disable-nvenc
--disable-vaapi
--disable-vdpau
--disable-vda
--disable-audiotoolbox
--disable-libv4l2
--disable-fft
"
FFMPEG_VERSION='ffmpeg-3.4.1'
mkdir build
cd build
wget https://ffmpeg.org/releases/$FFMPEG_VERSION.tar.xz
tar xf $FFMPEG_VERSION.tar.xz
cd $FFMPEG_VERSION
./configure \
$FFMPEG_AUDIO_FLAGS \
--prefix=/usr/local \
--enable-shared --disable-static
make -j4
make install