lucianodato / speech-denoiser

A speech denoise lv2 plugin based on RNNoise library
GNU Lesser General Public License v3.0
287 stars 29 forks source link

Complex filter with ffmpeg does not seem to work #17

Open melvinroest opened 5 years ago

melvinroest commented 5 years ago

I have a workaround for this, so it's not a huge issue. I described everything here, to see if some ffmpeg expert would be up for the task.

https://stackoverflow.com/questions/58600620/ffmpeg-complex-filtering-how-to-get-around

melvinroest commented 5 years ago

Also I made a guide for this stuff for Mac OS X people. I saw another issue about it, so I figured, might as well write a guide for myself and others.

How to compile ffmpeg, lv2 and speech-denoiser for mac and denoise your audio files (and put it into videos) on a Mac!

Helpful guide for compiling ffmpeg on MacOS:

Install depencencies

brew install automake fdk-aac git lame libass libtool libvorbis libvpx \
opus sdl shtool texi2html theora wget x264 x265 xvid nasm

Install lilv (dependency for lv2)

brew install lilv #because of ERROR: lilv-0 not found using pkg-config when doing ./configure right away

Configure ffmpeg

./configure  --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass \
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame \
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libopus --enable-libxvid --enable-lv2 \
--samples=fate-suite/

Make & Install

make
sudo make install

Install speech denoiser dependencies + the project itself

brew update
brew cask uninstall oclint
brew install lv2 meson ninja pkg-config autoconf m4 libtool automake

#Download and install speech denoiser
git clone https://github.com/lucianodato/speech-denoiser.git
cd speech-denoiser
chmod +x install.sh && ./install.sh

Check fo see if install exists

lv2ls #You got this command from installing lilv

Output: https://github.com/lucianodato/speech-denoiser (yep a URL)

Use your command!

#audio to denoised audio
ffmpeg -i out_cropped.mov -af 'lv2=plugin=https\\://github.com/lucianodato/speech-denoiser' -vcodec copy out_cropped_denoised.wav 

#for if you want to put it with a video
&&

ffmpeg -i out_cropped.mov -i out_cropped_denoised.wav -c:v copy -map 0:v:0 -map 1:a:0 out_cropped_denoised.mov