Git Product home page Git Product logo

speech-denoiser's People

Contributors

lucianodato avatar trebmuh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

speech-denoiser's Issues

Provide a wet/dry control

Since rrnoise API is still in flux and you cannot provide meaningful controls for the plugin, maybe you can add a wet/dry control so that one can make the noise removal less strong (in some cases, the start of some F or S are removed a bit too much by rrnoise).

In the code you already use a wet/dry value for soft bypass anyway, so it should be very simple to do.

Any way to get this to work on Mac?

I'm thinking about moving to a Mac for my audio processing but I really need a plugin for RNNoise to bring with me. Is there a way I can use this in a DAW on Mac?

NOOB HERE how can i remove noise from recorded files and how to install this software ?

info i am windows user but i am willing to install linux since i want to learn programming and i want to remove noise from {justpaste.it/2h1dw} this archives by using this software
what i want to know
-Q1 how to install this in linux and what are plug-in and how to install them?
-Q2 how to remove noise ?
removing this noise is so much imp for me any help would be helpful !!

Use less CPU when soft-bypassing

Currently, soft-bypassing only sets the wet factor to 0, still performing the same denoising work. Since RNNoise is kind of expensive (my computer cannot run it reliably at 64 frames/period, it uses more than 90% dsp), bypassing it should disable the noise computations (maybe still keeping the buffer full to be able to feed RNNoise as soon as the wet_dry variable is > 0).

A workaround currently is to remove completely the plugin, which is usable because it has no parameter (yet?).

tag for release

Hey there!

really nice plugin. I'd like to move it to the Arch Linux [community] repository. For that to happen you'll need to release a first version of it though!

Please keep in mind, that you have a submodule in your code (consider using git subtree instead), that will turn out to be just an empty folder, once you do a git tag for this project (as github sadly doesn't do this).

Error in Installtion

Hi,
I am using a ubuntu 14.04 PC to install speech-denoiser.
After giving "chmod +x install.sh && ./install.sh" command i am getting this errors:

./autogen.sh: 10: ./autogen.sh: autoreconf: not found
mv: cannot stat ‘../ltmain.sh’: No such file or directory
./install.sh: line 24: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
./install.sh: line 36: meson: command not found
./install.sh: line 41: cd: build: No such file or directory
./install.sh: line 42: ninja: command not found
./install.sh: line 43: ninja: command not found

Any chance of an update to the rnnoise code?

I haven't checked yet, but it would be nice if the rnnoise tree were updated to the current upstream version, which has seen two years of development since you last cloned it. I can try myself, but I haven't seen if the API has changed significantly yet.

cant install, I believe i got all the requirements

`ldf@ldf-MS-7B79:~/speech-denoiser$ chmod +x install.sh && ./install.sh
You are on a Linux system. Building for Linux
Updating build configuration files for rnnoise, please wait....
./autogen.sh: 10: autoreconf: not found
mv: cannot stat '../ltmain.sh': No such file or directory
./install.sh: line 24: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
The Meson build system
Version: 0.53.2
Source dir: /home/ldf/speech-denoiser
Build dir: /home/ldf/speech-denoiser/build
Build type: native build
Project name: speech-denoiser
Project version: undefined
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64

meson.build:13:0: ERROR: C library 'rnnoise-nu' not found

A full log can be found at /home/ldf/speech-denoiser/build/meson-logs/meson-log.txt
ninja: error: loading 'build.ninja': No such file or directory
ninja: error: loading 'build.ninja': No such file or directory` installed everything and i got this error? Am I still missing something?

Windows installation

I'm interested in using this for a project, is there any way I can install this on a Windows platform?

meson.build failing with mesion version 0.47.0

Hi there!
When using the latest version from Arch repos (0.47.0) meson cannot build the software:

meson.build:13:0: ERROR:  C library 'rnnoise' not found

A full log can be found at /home/crocoduck/abs/.BuildTests/speech-denoiser-git/src/speech-denoiser/build/meson-logs/meson-log.txt
==> ERROR: A failure occurred in build().
    Aborting...

However, it does build just fine when using meson 0.46.1, which is the latest one cached by pacman on my system. I attached the meson-log.txt file.

It could be very well a problem in the Arch Linux meson package, but to make sure I must ask whether you are observing the same. The other option is that meson 0.47.0 has some change that break your meson.build file, or some bug. This is the issue that inspired me to downgrade meson.

Hope it helps!

meson-log.txt

Having issues installing, I am new to Linux can someone assist?

I type the install commands and this happens

ldf@ldf-MS-7B79:~/speech-denoiser$ chmod +x install.sh && ./install.sh You are on a Linux system. Building for Linux Updating build configuration files for rnnoise, please wait.... configure.ac:8: installing 'scripts/compile' configure.ac:13: installing 'scripts/install-sh' configure.ac:13: installing 'scripts/missing' Makefile.am:9: error: Libtool library used but 'LIBTOOL' is undefined Makefile.am:9: The usual way to define 'LIBTOOL' is to add 'LT_INIT' Makefile.am:9: to 'configure.ac' and run 'aclocal' and 'autoconf' again. Makefile.am:9: If 'LT_INIT' is in 'configure.ac', make sure Makefile.am:9: its definition is in aclocal's search path. Makefile.am: installing 'scripts/depcomp' autoreconf: automake failed with exit status: 1 mv: cannot stat '../ltmain.sh': No such file or directory configure: WARNING: unrecognized options: --disable-shared, --enable-static checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define EXTENSIONS... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for a BSD-compatible install... /usr/bin/install -c checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make supports the include directive... yes (GNU style) checking whether make supports nested variables... yes checking dependency style of gcc... gcc3 checking whether to enable maintainer-specific portions of Makefiles... yes checking for inline... inline ./configure: line 4436: LT_INIT: command not found checking whether make supports nested variables... (cached) yes ./configure: line 4532: LT_LIB_M: command not found checking for gcc way to treat warnings as errors... -Werror checking if gcc supports attribute(( visibility("default") ))... yes checking if gcc supports -fvisibility=hidden... yes configure: creating ./config.status config.status: error: cannot find input file:Makefile.in'
make: *** No targets specified and no makefile found. Stop.
The Meson build system
Version: 0.53.2
Source dir: /home/ldf/speech-denoiser
Build dir: /home/ldf/speech-denoiser/build
Build type: native build
Project name: speech-denoiser
Project version: undefined
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64

meson.build:13:0: ERROR: C library 'rnnoise-nu' not found

A full log can be found at /home/ldf/speech-denoiser/build/meson-logs/meson-log.txt
ninja: error: loading 'build.ninja': No such file or directory
ninja: error: loading 'build.ninja': No such file or directory

glibc might be a needed dependency

Hi there!

Amazing software here! While preparing an Arch Linux PKGBUILD I found this by running namcap on the end result:

$ namcap speech-denoiser-git-r33.24fe9f4-1-x86_64.pkg.tar.xz 
speech-denoiser-git E: Dependency glibc detected and not included (libraries ['usr/lib/libc.so.6', 'usr/lib/libm.so.6'] needed in files ['usr/lib/lv2/sdenoise.lv2/sdenoise.so'])

Maybe worth to check if glibc is a required dependency and, if so, update README.md likewise.

Unable to install plugin on ubuntu18.04

While installing i am getting below error

CC src/denoise.lo
src/denoise.c: In function ‘rnnoise_init’:
src/denoise.c:328:12: error: ‘RNNState {aka struct RNNState}’ has no member named ‘model’
st->rnn.model = model;
^
src/denoise.c:330:12: error: ‘RNNState {aka struct RNNState}’ has no member named ‘model’
st->rnn.model = &model_cb;
^
src/denoise.c:331:56: error: ‘RNNState {aka struct RNNState}’ has no member named ‘model’
st->rnn.vad_gru_state = calloc(sizeof(float), st->rnn.model->vad_gru_size);
^
src/denoise.c:332:58: error: ‘RNNState {aka struct RNNState}’ has no member named ‘model’
st->rnn.noise_gru_state = calloc(sizeof(float), st->rnn.model->noise_gru_size);
^
src/denoise.c:333:60: error: ‘RNNState {aka struct RNNState}’ has no member named ‘model’
st->rnn.denoise_gru_state = calloc(sizeof(float), st->rnn.model->denoise_gru_size);
^
Makefile:625: recipe for target 'src/denoise.lo' failed
make[1]: *** [src/denoise.lo] Error 1

.so library

Thanks for your work,is it possible to provide a so library with a .h file?not just a plugin?Thanks

Git Submodules?

Hi!
While lurking around in the code I had a look at static_rnnoise.sh. I see that you clone rnnoise there. I was just wondering whether you considered using a Git Submodule instead. Just a thought.

cannot load plugin using ffmpeg lv2

I'm on Ubuntu 19.04, and I successfully built and installed your sdenoise.lv2 plugin from your master branch. I have also installed ffmpeg which can allegedly transform audio files using an installed lv2 filter.

Presumably the command to use your filter is ...

ffmpeg -i $INPUT -af lv2=plugin=https\\\\://github.com/lucianodato/speech-denoiser $OUTPUT

... but it gives me an Error initializing filter 'lv2' with args 'plugin=https://github.com/lucianodato/speech-denoiser' error:

ding@ding-linux-03:~/Desktop/denoise$ INPUT=/data/sample_car.wav
ding@ding-linux-03:~/Desktop/denoise$ OUTPUT=/data/sample_car.sdenoise.wav
ding@ding-linux-03:~/Desktop/denoise$ docker run \
> --mount type=bind,src=/home/ding/Desktop/denoise-data,dst=/data \
> denoise \
> "ffmpeg -i $INPUT -af lv2=plugin=https\\\\://github.com/lucianodato/speech-denoiser $OUTPUT"
ffmpeg version 4.1.3-0ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Ubuntu 8.3.0-6ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from '/data/sample_car.wav':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:01:05.02, bitrate: 1411 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
error: attempt to map invalid URI `https'
[lv2 @ 0x561771d961c0] Invalid plugin URI <https>
[AVFilterGraph @ 0x561771d4ebc0] Error initializing filter 'lv2' with args 'plugin=https://github.com/lucianodato/speech-denoiser'
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!

BTW, here is the Dockerfile that I used get this ffmpeg command ready.

FROM ubuntu:19.04

SHELL ["/bin/bash", "-c"]

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install --yes apt-utils \
 && apt-get install --yes ffmpeg build-essential cmake git python3 python3-pip ninja-build \
                          dh-autoreconf pkg-config lv2-dev

RUN pip3 install meson

# --------------------------------
# lv2 speech-denoiser
# --------------------------------
RUN mkdir -p /github/lucianodato/speech-denoiser
WORKDIR /github/lucianodato/speech-denoiser
RUN chmod -R a+rwx . \
 && git clone https://github.com/lucianodato/speech-denoiser.git .

RUN chmod +x install.sh \
 && ./install.sh

# --------------------------------
# data folder
# --------------------------------
RUN mkdir /data \
 && chmod -R a+rwx /data

WORKDIR /data

ENTRYPOINT ["/bin/bash", "-c"]

And here are the actual docker commands that I used:

docker build --tag denoise:latest .
INPUT=/data/sample_car.wav
OUTPUT=/data/sample_car.sdenoise.wav
docker run \
	--mount type=bind,src=/home/ding/Desktop/denoise-data,dst=/data \
	denoise \
	"ffmpeg -i $INPUT -af lv2=plugin=https\\\\://github.com/lucianodato/speech-denoiser $OUTPUT"

Consider rnnoise-nu

Hi,

I've been fussing with RNNoise and made a slightly-incompatible fork that:

(1) Supports multiple neural network models, several of which I've trained (and I'm still training more),

(2) Supports a simple ASCII file format for future models, and

(3) Parameterizes the maximum attenuation to perform.

I've been scratching my head over whether to learn a whole plugin infrastructure in order to get it working slightly more tastefully, and since you have mixing wet and dry as a todo item (with the goal presumably the same as maximum attenuation, but frankly doing it in the library is a bit cleaner), maybe we can scratch each other's itches.

My rnnoise: https://github.com/GregorR/rnnoise-nu

My rnnoise models (informational, not needed to use the library): https://github.com/GregorR/rnnoise-models

In terms of the library, the changes are small. rnnoise_create takes an RNNModel * as an argument, or NULL to use the default (this was what necessitated breaking compatibility). rnnoise_models returns a NULL-terminated list of models (meaningless string names) and rnnoise_get_model gets a model by name. Alternatively, rnnoise_model_from_file can load a model from a file, to be freed by rnnoise_model_free. Finally, rnnoise_set_param lets you set the (solitary) configurable parameter.

(An aside: My knowledge of LV2 is limited to... well, nothing, but I was surprised to find while poking at your library that there doesn't seem to be any mention of number of channels. Does LV2 just send each channel through a different instance of the plugin, or is this plugin single-channel-specific?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.