Real Time Speech Enhancement in the Waveform Domain (Interspeech 2020)We provide a PyTorch implementation of the paper Real Time Speech Enhancement in the Waveform Domain. In which, we present a causal speech enhancement model working on the raw waveform that runs in real-time on a laptop CPU. The proposed model is based on an encoder-decoder architecture with skip-connections. It is optimized on both time and frequency domains, using multiple loss functions. Empirical evidence shows that it is capable of removing various kinds of background noise including stationary and non-stationary noises, as well as room reverb. Additionally, we suggest a set of data augmentation techniques applied directly on the raw waveform which further improve model performance and its generalization abilities.
Other
1.62k
stars
299
forks
source link
Using RTP packet stream as input and output!! #131
I have a scenario, that maybe someone can help with.
I want to run this denoiser on a remote server so that it will accept RTP packets from a remote client, denoise, and then send the output as RTP to the remote client.
I thought of a few ways but as I'm not very advanced in this domain, I am not sure if they are a viable option.
1) create a virtual source and sink with PulseAudio to receive and send the RTP packets.
Here code will most likely stay the same and I will use the virtual source and sink as input and output with denoiser.live (don't yet know if that's possible.)
2) Use python sockets and pyaudio to change the live.py input and output. (I have been reading up on sockets and transmitting audio data using rtp/udp)
Here sounddevice input stream will be replaced by pyaudio stream.
If anyone can comment on my approach or suggest something better, would be great.
Also please suggest any helpful material regarding this task.
Hi, Great project and works extremely well.
I have a scenario, that maybe someone can help with. I want to run this denoiser on a remote server so that it will accept RTP packets from a remote client, denoise, and then send the output as RTP to the remote client.
I thought of a few ways but as I'm not very advanced in this domain, I am not sure if they are a viable option.
1) create a virtual source and sink with PulseAudio to receive and send the RTP packets. Here code will most likely stay the same and I will use the virtual source and sink as input and output with denoiser.live (don't yet know if that's possible.)
2) Use python sockets and pyaudio to change the live.py input and output. (I have been reading up on sockets and transmitting audio data using rtp/udp) Here sounddevice input stream will be replaced by pyaudio stream.
If anyone can comment on my approach or suggest something better, would be great.
Also please suggest any helpful material regarding this task.
Thank you