跳到主要內容

使用RNN模型作語音訊號的除噪

使用RNN模型作語音訊號的除噪

 O​riginal Voice Clip:錄下的人聲語音訊號

 O​ffice Noise:錄下的辦公室背景噪音

 Mixing:前2項混合而成的訊號

 After RNN:透過RNN模型除噪後的語音訊號波形

 By Directional Mic in F15K:筆電上指向型麥克風的所錄下除噪後的波形

結論:透過RNN模型除噪的功能,具有近似指向型麥克風的除噪功能。也就是以軟體處理的技術來取代實體裝置。

 From lower right 2 pictures, voice clip mixed with background noise was restored well in comparison to audio waveform recording by directional mic and original voice clip waveform.


Ref:
https://people.xiph.org/~jm/demo/rnnoise/
https://hacks.mozilla.org/2017/09/rnnoise-deep-learning-noise-suppression/
https://github.com/xiph/rnnoise

mic denoise rnn
        audacity:
        import -> raw data -> Signed 16bit/Little endian/one channel, 48000
        rnn
        frank@frank-GL753VD:~/1T/back0529/mic
        import format: Signed 16 bit mono format
        frank@frank-GL753VD:~/1T/back0529/mic
        ~/1T/back0529/mic/RNNtest/F15K/tsai1.raw  ---->recorded by 2 mic (directional mic)
        ~/1T/back0529/mic/RNNtest/AS3EA/OUTtsai1.pcm  ---->after RNN
        ~/1T/back0529/mic/RNNtest/AS3EA/tsai1.pcm  ----> after Mixing





留言

這個網誌中的熱門文章

增強式學習

   迴力球遊戲-ATARI     賽車遊戲DQN-ATARI 賽車遊戲-TORCS Ref:     李宏毅老師 YOUTUBE DRL 1-3 On-policy VS Off-policy On-policy     The agent learned and the agent interacting with the environment is the same     阿光自已下棋學習 Off-policy     The agent learned and the agent interacting with the environment is different     佐助下棋,阿光在旁邊看 Add a baseline:     It is possible that R is always positive     So R subtract a expectation value Policy in " Policy Gradient" means output action, like left/right/fire gamma-discounted rewards: 時間愈遠的貢獻,降低其權重 Reward Function & Action is defined in prior to training MC v.s. TD MC 蒙弟卡羅: critic after episode end : larger variance(cuz conditions differ a lot in every episode), unbiased (judge until episode end, more fair) TD: Temporal-difference approach: critic during episode :smaller variance, biased maybe atari : a3c  ...

Frameworks overview

Picture courtesy from Paul Huang

tensorflow

TensorFlow Docker requirements Install Docker  on your local  host  machine. For GPU support on Linux,  install nvidia-docker . Docker is the easiest way to enable TensorFlow  GPU support  on Linux since only the  NVIDIA® GPU driver  is required on the  host  machine  (the  NVIDIA® CUDA® Toolkit  does not need to be installed). docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command] $ docker run -it --rm tensorflow/tensorflow    python -c "import tensorflow as tf; print(tf.__version__)" Note:   nvidia-docker  v1 uses the  nvidia-docker  alias, where v2 uses  docker --runtime=nvidia . CUDA 9.0 for TensorFlow < 1.13.0 nvidia-docker2 intsall prerequisites: NVIDIA driver  and Docker  . If you have a custom  /etc/docker/daemon.json , the  nvidia-docker2  package might override it....