bertom denoiser

how to add bertom denoiser as vst

See: https://support.audacityteam.org/basics/customizing-audacity/installing-plugins

I can confirm it works in Audacity 3 …
Bertom VST3 only.png
Looks like a multi-band gate.

1 Like

How audacity checks plugin compatibility?
Is it possible to turn on some trace/debug mode to figure out why plugin is rejected?
I tried to run VST3 with audacity 3.4.2 from nix, because I run Debian 10 on my host which is super old.

$ nix-shell -p audacity

$ ldd  ~/demo/c/libbertom.so 
	linux-vdso.so.1 (0x00007ffe7e592000)
	libc.so.6 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6 (0x00007f3a1ae18000)
	/nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib64/ld-linux-x86-64.so.2 (0x00007f3a1bcb6000)
	libfreetype.so.6 => not found
	libcurl.so.4 => not found
	libdl.so.2 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libdl.so.2 (0x00007f3a1bcaf000)
	libpthread.so.0 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libpthread.so.0 (0x00007f3a1bcaa000)
	libm.so.6 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libm.so.6 (0x00007f3a1ad38000)
	libmvec.so.1 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libmvec.so.1 (0x00007f3a1ac3f000)

freetype and curl libs are missing so

$ nix-shell -p audacity -p freetype -p curl
export LD_LIBRARY_PATH=/nix/store/bsn22x0c23vl21wj5q8fv4ia0r2qbwhk-curl-8.4.0/lib:/nix/store/58jzh38bv85qm1p8z27a7dzcnaq29x22-freetype-2.13.2/lib:/nix/store/xxl2wa5b4pq7mnw4jmkmz5vl5fnvbz6h-freetype-2.13.0/lib:/nix/store/wxwljhqszqzg2wlvbckc7h61p5k8ap2v-curl-8.4.0/lib/

$ ldd  ~/demo/c/libbertom.so 
/home/dan/demo/c/libbertom.so: /nix/store/bsn22x0c23vl21wj5q8fv4ia0r2qbwhk-curl-8.4.0/lib/libcurl.so.4: no version information available (required by /home/dan/demo/c/libbertom.so)
	linux-vdso.so.1 (0x00007ffc2e5e8000)
	libc.so.6 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6 (0x00007f833fe18000)
	/nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib64/ld-linux-x86-64.so.2 (0x00007f8340da4000)
	libfreetype.so.6 => /nix/store/58jzh38bv85qm1p8z27a7dzcnaq29x22-freetype-2.13.2/lib/libfreetype.so.6 (0x00007f8340cd5000)
	libcurl.so.4 => /nix/store/bsn22x0c23vl21wj5q8fv4ia0r2qbwhk-curl-8.4.0/lib/libcurl.so.4 (0x00007f8340c1b000)
	libdl.so.2 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libdl.so.2 (0x00007f8340c16000)
	libpthread.so.0 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libpthread.so.0 (0x00007f8340c11000)
	libm.so.6 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libm.so.6 (0x00007f833fd38000)
	libmvec.so.1 => /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libmvec.so.1 (0x00007f833fc3f000)
	libz.so.1 => /nix/store/s5gzrzha72q79v92wqq61x9ir8xiwbxk-zlib-1.3/lib/libz.so.1 (0x00007f8340bf1000)
	libbz2.so.1 => /nix/store/7vg2sgzv2hidmj8plg4w31x2sqbbkfrg-bzip2-1.0.8/lib/libbz2.so.1 (0x00007f833fc2c000)
	libpng16.so.16 => /nix/store/a46nf6mzygm6nv8dkis6mybm8363inhc-libpng-apng-1.6.40/lib/libpng16.so.16 (0x00007f833fbf3000)
	libbrotlidec.so.1 => /nix/store/8py3bfw4k5b6lpxlwi3nmnakihxa63jp-brotli-1.1.0-lib/lib/libbrotlidec.so.1 (0x00007f833fbe5000)
	libnghttp2.so.14 => /nix/store/1cypijpn76f3p9ipbayy41dw9wrkngfr-nghttp2-1.57.0-lib/lib/libnghttp2.so.14 (0x00007f833fbb5000)
	libssh2.so.1 => /nix/store/fp6wxphhl73jlmhlncqy7q0wdz5vi4pw-libssh2-1.11.0/lib/libssh2.so.1 (0x00007f833fb6f000)
	libssl.so.3 => /nix/store/vzajrlhsdv2d39s7v6zv09ggajs05gwj-openssl-3.0.11/lib/libssl.so.3 (0x00007f833fac2000)
	libcrypto.so.3 => /nix/store/vzajrlhsdv2d39s7v6zv09ggajs05gwj-openssl-3.0.11/lib/libcrypto.so.3 (0x00007f833f646000)
	libgssapi_krb5.so.2 => /nix/store/4a2nvlybmsg95pq8zd6a0wch2gjv53zq-libkrb5-1.20.2/lib/libgssapi_krb5.so.2 (0x00007f833f5f3000)
	libbrotlicommon.so.1 => /nix/store/8py3bfw4k5b6lpxlwi3nmnakihxa63jp-brotli-1.1.0-lib/lib/libbrotlicommon.so.1 (0x00007f833f5d0000)
	libkrb5.so.3 => /nix/store/4a2nvlybmsg95pq8zd6a0wch2gjv53zq-libkrb5-1.20.2/lib/libkrb5.so.3 (0x00007f833f4f6000)
	libk5crypto.so.3 => /nix/store/4a2nvlybmsg95pq8zd6a0wch2gjv53zq-libkrb5-1.20.2/lib/libk5crypto.so.3 (0x00007f833f4c7000)
	libcom_err.so.3 => /nix/store/4a2nvlybmsg95pq8zd6a0wch2gjv53zq-libkrb5-1.20.2/lib/libcom_err.so.3 (0x00007f833f4c0000)
	libkrb5support.so.0 => /nix/store/4a2nvlybmsg95pq8zd6a0wch2gjv53zq-libkrb5-1.20.2/lib/libkrb5support.so.0 (0x00007f833f4b1000)
	libkeyutils.so.1 => /nix/store/abmvgf557s0ckg1a7l8n4kq4sf70g48k-keyutils-1.6.3-lib/lib/libkeyutils.so.1 (0x00007f833f4aa000)
	libresolv.so.2 => /nix/store/gqghjch4p1s69sv4mcjksb2kb65rwqjy-glibc-2.38-23/lib/libresolv.so.2 (0x00007f833f499000)

$ audacity

According to ldd all deps are found and found from nix and are consistent, but
audacity plugin manager still rejects bertom library.


Update I noticed that curl library requires special treatment, nonetheless libc is matching.


Update2:
Success with docker.

sudo docker run -it --privileged  -e DISPLAY=$DISPLAY --name=uu3  -v /dev:/dev  -v /tmp/.X11-unix:/tmp/.X11-unix:rw ubuntu:23.10 /bin/bash
 
# export QT_X11_NO_MITSHM=1
# mkdir -p /home/root
# apt install libfuse2

on host

$ xhost +local:root 1>/dev/null 2>&1

on container

# ./audacity-linux-3.4.2-x64.AppImage