noisetorch / NoiseTorch

Real-time microphone noise suppression on Linux.
Other
9.36k stars 232 forks source link

Virtual Microphone is silent #421

Open Albert753258 opened 1 year ago

Albert753258 commented 1 year ago

Describe the bug null output, LADSPA Plugin Noise Suppressor for Voice (Mono) on Null Output And filtered microphone are silent

To Reproduce I builded latest NoiseTorch from sources (also tried 0.12.2), but all of null output, LADSPA Plugin Noise Suppressor for Voice (Mono) on Null Output And filtered microphone are silent. My microphone was reported as stereo (but it is mono). Remapping it as stereo didn't helped

Expected behavior Working noise cancelling

Screenshots image

image

Logs

.local/bin/noisetorch -log
2023/10/29 20:53:53 Application starting. Version: v0.12.2-45-ge5c4d36 (custom)
2023/10/29 20:53:53 CAP_SYS_RESOURCE: true
2023/10/29 20:53:53 Checking if config needs to be initialized
2023/10/29 20:53:53 Couldn't resolve $XDG_CONFIG_HOME falling back to '/home/albert/.config'
2023/10/29 20:53:53 Wrote temp librnnoise to: /tmp/librnnoise-561744294.so
2023/10/29 20:53:53 Couldn't resolve $XDG_CONFIG_HOME falling back to '/home/albert/.config'
2023/10/29 20:53:53 Audioserver package name: pulseaudio
2023/10/29 20:53:53 Audioserver package version: 16.1
2023/10/29 20:53:53 Detected PulseAudio
2023/10/29 20:53:53 Getting caps for: /home/albert/.local/bin/noisetorch
2023/10/29 20:53:53 Audioserver package name: pulseaudio
2023/10/29 20:53:53 Audioserver package version: 16.1
2023/10/29 20:53:53 Detected PulseAudio
2023/10/29 20:53:53 Connected to audio server. Server name 'PulseAudio'
2023/10/29 20:53:53 Output alsa_output.pci-0000_01_00.1.hdmi-stereo, {Index:0 Name:alsa_output.pci-0000_01_00.1.hdmi-stereo Description:GP107GL High Definition Audio Controller Digital Stereo (HDMI) SampleSpec:{Format:3 Channels:2 Rate:44100} ChannelMap:[1 2] ModuleIndex:6 Cvolume:[0 0] Muted:true MonitorSourceIndex:0 MonitorSourceName:alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor Latency:36460 Driver:module-alsa-card.c Flags:422 PropList:map[alsa.card:1 alsa.card_name:HDA NVidia alsa.class:generic alsa.device:3 alsa.id:Generic Digital alsa.long_card_name:HDA NVidia at 0xa4000000 irq 17 alsa.name:Generic Digital alsa.resolution_bits:16 alsa.subclass:generic-mix alsa.subdevice:0 alsa.subdevice_name:subdevice #0 device.access_mode:mmap+timer device.api:alsa device.buffering.buffer_size:352768 device.buffering.fragment_size:176384 device.bus:pci device.bus_path:pci-0000:01:00.1 device.class:sound device.description:GP107GL High Definition Audio Controller Digital Stereo (HDMI) device.icon_name:audio-card-pci device.product.id:0fb9 device.product.name:GP107GL High Definition Audio Controller device.profile.description:Digital Stereo (HDMI) device.profile.name:hdmi-stereo device.string:hdmi:1 device.vendor.id:10de device.vendor.name:NVIDIA Corporation module-udev-detect.discovered:1 sysfs.path:/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1] RequestedLatency:40000 BaseVolume:65536 SinkState:1 NVolumeSteps:65537 CardIndex:0 Ports:[{Name:hdmi-output-0 Description:HDMI / DisplayPort Pririty:5900 Available:0}] ActivePortName:hdmi-output-0 Formats:[{Encoding:1 PropList:map[]}]}
2023/10/29 20:53:53 Output alsa_output.pci-0000_00_1f.3.analog-stereo, {Index:1 Name:alsa_output.pci-0000_00_1f.3.analog-stereo Description:Built-in Audio Analog Stereo SampleSpec:{Format:3 Channels:2 Rate:44100} ChannelMap:[1 2] ModuleIndex:7 Cvolume:[11231 10974] Muted:false MonitorSourceIndex:1 MonitorSourceName:alsa_output.pci-0000_00_1f.3.analog-stereo.monitor Latency:34296 Driver:module-alsa-card.c Flags:183 PropList:map[alsa.card:0 alsa.card_name:HDA Intel PCH alsa.class:generic alsa.device:0 alsa.id:ALC255 Analog alsa.long_card_name:HDA Intel PCH at 0xa4620000 irq 136 alsa.name:ALC255 Analog alsa.resolution_bits:16 alsa.subclass:generic-mix alsa.subdevice:0 alsa.subdevice_name:subdevice #0 device.access_mode:mmap+timer device.api:alsa device.buffering.buffer_size:352800 device.buffering.fragment_size:176400 device.bus:pci device.bus_path:pci-0000:00:1f.3 device.class:sound device.description:Built-in Audio Analog Stereo device.form_factor:internal device.icon_name:audio-card-pci device.product.id:a171 device.product.name:CM238 HD Audio Controller device.profile.description:Analog Stereo device.profile.name:analog-stereo device.string:front:0 device.vendor.id:8086 device.vendor.name:Intel Corporation module-udev-detect.discovered:1 sysfs.path:/devices/pci0000:00/0000:00:1f.3/sound/card0] RequestedLatency:40000 BaseVolume:65536 SinkState:1 NVolumeSteps:65537 CardIndex:1 Ports:[{Name:analog-output-speaker Description:Speakers Pririty:10000 Available:1} {Name:analog-output-headphones Description:Headphones Pririty:9900 Available:0}] ActivePortName:analog-output-headphones Formats:[{Encoding:1 PropList:map[]}]}
2023/10/29 20:53:56 Querying pulse rlimit
2023/10/29 20:53:56 Rlimit: {Cur:200000 Max:200000}. Trying to remove.
2023/10/29 20:53:56 Rlimit: {Cur:18446744073709551615 Max:18446744073709551615}
2023/10/29 20:53:56 Loading supressor for pulse
2023/10/29 20:53:56 Loaded null sink as idx: 31
2023/10/29 20:53:56 Loaded ladspa sink as idx: 32
2023/10/29 20:53:56 Loaded loopback as idx: 33
2023/10/29 20:53:56 Loaded remap source as idx: 34
2023/10/29 20:53:56 Couldn't resolve $XDG_CONFIG_HOME falling back to '/home/albert/.config
pactl list sources short
0   alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor    module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
1   alsa_output.pci-0000_00_1f.3.analog-stereo.monitor  module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
2   alsa_input.pci-0000_00_1f.3.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
3   record_mono module-remap-source.c   s16le 1ch 44100Hz   RUNNING
10  nui_mic_denoised_out.monitor    module-null-sink.c  s16le 2ch 48000Hz   RUNNING
11  nui_mic_raw_in.monitor  module-ladspa-sink.c    float32le 2ch 48000Hz   RUNNING
12  nui_mic_remap   module-remap-source.c   s16le 2ch 48000Hz   RUNNING
pactl list short
0   module-device-restore       
1   module-stream-restore       
2   module-card-restore     
3   module-augment-properties       
4   module-switch-on-port-available     
5   module-udev-detect      
6   module-alsa-card    device_id="1" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"    
7   module-alsa-card    device_id="0" name="pci-0000_00_1f.3" card_name="alsa_card.pci-0000_00_1f.3" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"    
8   module-bluetooth-policy     
9   module-bluetooth-discover       
10  module-bluez5-discover      
11  module-native-protocol-unix     
12  module-gsettings        
13  module-default-device-restore       
14  module-always-sink      
15  module-intended-roles       
16  module-suspend-on-idle      
17  module-systemd-login        
18  module-position-event-sounds        
19  module-role-cork        
20  module-filter-heuristics        
21  module-filter-apply     
22  module-remap-source source_name=record_mono master=alsa_input.pci-0000_00_1f.3.analog-stereo master_channel_map=front-left channel_map=mono 
31  module-null-sink    sink_name=nui_mic_denoised_out rate=48000   
32  module-ladspa-sink  sink_name=nui_mic_raw_in sink_master=nui_mic_denoised_out label=nt-filter plugin=/tmp/librnnoise-561744294.so control=0 
33  module-loopback source=record_mono sink=nui_mic_raw_in channels=1 latency_msec=1 source_dont_move=true sink_dont_move=true  
34  module-remap-source master=nui_mic_denoised_out.monitor source_name=nui_mic_remap source_properties="device.description='Filtered Microphone for Remapped Built-in Audio Analog Stereo'"    
0   alsa_output.pci-0000_01_00.1.hdmi-stereo    module-alsa-card.c  s16le 2ch 44100Hz   IDLE
1   alsa_output.pci-0000_00_1f.3.analog-stereo  module-alsa-card.c  s16le 2ch 44100Hz   IDLE
6   nui_mic_denoised_out    module-null-sink.c  s16le 2ch 48000Hz   RUNNING
7   nui_mic_raw_in  module-ladspa-sink.c    float32le 2ch 48000Hz   RUNNING
0   alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor    module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
1   alsa_output.pci-0000_00_1f.3.analog-stereo.monitor  module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
2   alsa_input.pci-0000_00_1f.3.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
3   record_mono module-remap-source.c   s16le 1ch 44100Hz   RUNNING
10  nui_mic_denoised_out.monitor    module-null-sink.c  s16le 2ch 48000Hz   RUNNING
11  nui_mic_raw_in.monitor  module-ladspa-sink.c    float32le 2ch 48000Hz   RUNNING
12  nui_mic_remap   module-remap-source.c   s16le 2ch 48000Hz   RUNNING
11  6   -   module-ladspa-sink.c    float32le 2ch 48000Hz
12  7   -   module-loopback.c   s16le 1ch 44092Hz
0   2   -   module-remap-source.c   s16le 1ch 44100Hz
1   0   4   protocol-native.c   float32le 1ch 25Hz
2   1   4   protocol-native.c   float32le 1ch 25Hz
3   2   4   protocol-native.c   float32le 1ch 25Hz
4   3   4   protocol-native.c   float32le 1ch 25Hz
20  3   -   module-loopback.c   s16le 1ch 44100Hz
21  10  -   module-remap-source.c   s16le 2ch 48000Hz
22  10  4   protocol-native.c   float32le 1ch 25Hz
23  10  4   protocol-native.c   float32le 1ch 25Hz
24  11  4   protocol-native.c   float32le 1ch 25Hz
25  11  4   protocol-native.c   float32le 1ch 25Hz
26  12  4   protocol-native.c   float32le 1ch 25Hz
0   module-systemd-login.c  (null)
1   protocol-native.c   gnome-shell
2   protocol-native.c   gsd-power
4   protocol-native.c   pavucontrol
5   protocol-native.c   gnome-control-center
6   protocol-native.c   gnome-shell
7   protocol-native.c   gsd-media-keys
17  protocol-native.c   pactl
0   bell-window-system  s16le 2ch 44100Hz   0.387
0   alsa_card.pci-0000_01_00.1  module-alsa-card.c
1   alsa_card.pci-0000_00_1f.3  module-alsa-card.c

Desktop (please complete the following information):

TheDukeofErl commented 1 year ago

If my memory serves me correctly, Noisetorch actually will only grab one of the channels on a stereo audio device. Could you try muxing the the stereo to mono (or, alternatively, making sure the remapped stereo has audio on both channels) and try again? My guess here is that it's mono but is though to be stereo for whatever reason, so one of the channels has no audio on it, and that's the one NT is grabbing.

Albert753258 commented 1 year ago

Please check this video. Right channel has very awfull sound, but left is normal. I am remapping stereo from left channel

load-module module-remap-source source_name=record_mono master=alsa_input.pci-0000_00_1f.3.analog-stereo master_channel_map=front-left channel_map=mono
set-default-source record_mono

https://github.com/noisetorch/NoiseTorch/assets/56261876/2acdc39b-fc4e-4430-846d-02712826ff0a