noise-suppression-for-voice icon indicating copy to clipboard operation
noise-suppression-for-voice copied to clipboard

pusleaudio crashed on odroid

Open max529 opened this issue 2 years ago • 3 comments

Hi,

I built this library from source on my odroid N2. When I try to load the plugin with the following command pulseaudio is crashing without error.

pacmd load-module module-ladspa-sink sink_name=mic_raw_in sink_master=mic_denoised_out label=noise_suppressor_stereo plugin=/home/private/download/rrnoise/noise-suppression-for-voice-0.91/bin/ladspa/librnnoise_ladspa.so control=50

I checked the journalctl but the only think I had is

Mar 08 16:28:22 odroid systemd[2407]: pulseaudio.service: Main process exited, code=killed, status=9/KILL Mar 08 16:28:22 odroid systemd[2407]: pulseaudio.service: Failed with result 'signal'. Mar 08 16:28:22 odroid systemd[2407]: pulseaudio.service: Scheduled restart job, restart counter is at 12. Mar 08 16:28:22 odroid systemd[2407]: Stopped Sound Service. Mar 08 16:28:22 odroid systemd[2407]: Starting Sound Service... Mar 08 16:28:22 odroid pulseaudio[2979]: Stale PID file, overwriting. Mar 08 16:28:22 odroid systemd[2407]: Started Sound Service.

Any ideas?

max529 avatar Mar 08 '22 16:03 max529

You should disable pulseaudio service and start pulseaudio manually under gdb and see what happens. Maybe you compiled for the wrong arch, maybe something else...

werman avatar Mar 13 '22 12:03 werman

So I tried to get more informations with gdb but pulseaudio still crashing without reason. I ran the cmd : pacmd load-module module-ladspa-sink sink_name=mic_raw_in sink_master=mic_denoised_out label=noise_suppressor_stereo plugin=librnnoise_ladspa control=50

The result in gbd : [pulseaudio] client.c: Created 4 "UNIX socket client" D: [pulseaudio] module-ladspa-sink.c: Using default input ladspa port mapping D: [pulseaudio] module-ladspa-sink.c: Using default output ladspa port mapping D: [pulseaudio] module-ladspa-sink.c: Module: librnnoise_ladspa D: [pulseaudio] module-ladspa-sink.c: Label: noise_suppressor_stereo D: [pulseaudio] module-ladspa-sink.c: Unique ID: 9354877 D: [pulseaudio] module-ladspa-sink.c: Name: Noise Suppressor for Voice (Stereo) D: [pulseaudio] module-ladspa-sink.c: Maker: werman D: [pulseaudio] module-ladspa-sink.c: Copyright: GPL v3 D: [pulseaudio] module-ladspa-sink.c: Port 0 is input: Input (L) D: [pulseaudio] module-ladspa-sink.c: Port 1 is input: Input (R) D: [pulseaudio] module-ladspa-sink.c: Port 2 is output: Output (L) D: [pulseaudio] module-ladspa-sink.c: Port 3 is output: Output (R) D: [pulseaudio] module-ladspa-sink.c: Port 4 is control: VAD Threshold (%) D: [pulseaudio] module-ladspa-sink.c: Will run 1 plugin instances D: [pulseaudio] module-ladspa-sink.c: Trying to read 1 control values D: [pulseaudio] module-ladspa-sink.c: cdata: '50' D: [pulseaudio] module-ladspa-sink.c: Read config value 50.000000 (p=0) D: [pulseaudio] module-ladspa-sink.c: Binding 50.000000 to port VAD Threshold (%) I: [pulseaudio] sink.c: Created sink 3 "mic_raw_in" with sample spec float32le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink.c: device.master_device = "mic_denoised_out" I: [pulseaudio] sink.c: device.class = "filter" I: [pulseaudio] sink.c: device.ladspa.module = "librnnoise_ladspa" I: [pulseaudio] sink.c: device.ladspa.label = "noise_suppressor_stereo" I: [pulseaudio] sink.c: device.ladspa.name = "Noise Suppressor for Voice (Stereo)" I: [pulseaudio] sink.c: device.ladspa.maker = "werman" I: [pulseaudio] sink.c: device.ladspa.copyright = "GPL v3" I: [pulseaudio] sink.c: device.ladspa.unique_id = "9354877" I: [pulseaudio] sink.c: device.description = "LADSPA Plugin Noise Suppressor for Voice (Stereo) on Null Output" I: [pulseaudio] sink.c: device.icon_name = "audio-card" I: [pulseaudio] source.c: Created source 4 "mic_raw_in.monitor" with sample spec float32le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] source.c: device.description = "Monitor of LADSPA Plugin Noise Suppressor for Voice (Stereo) on Null Output" I: [pulseaudio] source.c: device.class = "monitor" I: [pulseaudio] source.c: device.icon_name = "audio-input-microphone" D: [pulseaudio] module-stream-restore.c: Not restoring device for stream sink-input-by-media-role:filter, because already set to 'mic_denoised_out'. D: [pulseaudio] module-intended-roles.c: Not setting device for stream LADSPA Stream, because already set. D: [pulseaudio] sink-input.c: Negotiated format: pcm, format.sample_format = "\"float32le\"" format.rate = "48000" format.channels = "2" format.channel_map = "\"front-left,front-right\"" I: [pulseaudio] sink-input.c: Trying to change sample spec D: [pulseaudio] sink.c: Default and alternate sample rates are the same, so there is no point in switching. D: [pulseaudio] module-stream-restore.c: Not restoring volume for sink input sink-input-by-media-role:filter, because it connects a filter to the master sink. D: [pulseaudio] module-suspend-on-idle.c: Sink mic_denoised_out becomes busy, resuming. D: [pulseaudio] sink.c: mic_denoised_out: suspend_cause: IDLE -> (none) D: [pulseaudio] sink.c: mic_denoised_out: state: SUSPENDED -> IDLE D: [pulseaudio] module-suspend-on-idle.c: Sink mic_denoised_out becomes idle, timeout in 5 seconds. D: [pulseaudio] source.c: mic_denoised_out.monitor: suspend_cause: IDLE -> (none) D: [pulseaudio] source.c: mic_denoised_out.monitor: state: SUSPENDED -> IDLE D: [pulseaudio] module-suspend-on-idle.c: Sink mic_denoised_out becomes idle, timeout in 5 seconds. I: [pulseaudio] resampler.c: Forcing resampler 'copy', because of fixed, identical sample rates. D: [pulseaudio] resampler.c: Resampler: D: [pulseaudio] resampler.c: rate 48000 -> 48000 (method copy) D: [pulseaudio] resampler.c: format float32le -> s16le (intermediate s16le) D: [pulseaudio] resampler.c: channels 2 -> 2 (resampling 2) D: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0 D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0 I: [pulseaudio] sink-input.c: Created input 0 "LADSPA Stream" on mic_denoised_out with sample spec float32le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink-input.c: media.name = "LADSPA Stream" I: [pulseaudio] sink-input.c: media.role = "filter" I: [pulseaudio] sink-input.c: module-stream-restore.id = "sink-input-by-media-role:filter" D: [pulseaudio] memblockq.c: memblockq requested: maxlength=16777216, tlength=0, base=8, prebuf=1, minreq=1 maxrewind=0 D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=16777216, tlength=16777216, base=8, prebuf=8, minreq=8 maxrewind=0 D: [pulseaudio] sink.c: Default and alternate sample rates are the same, so there is no point in switching. D: [null-sink] sink-input.c: Requesting rewind due to uncorking D: [null-sink] module-null-sink.c: Requested to rewind 384000 bytes. D: [null-sink] sink.c: Processing rewind... D: [null-sink] source.c: Processing rewind... D: [null-sink] module-null-sink.c: Rewound 384000 bytes. D: [pulseaudio] module-suspend-on-idle.c: Sink mic_denoised_out becomes busy, resuming. D: [pulseaudio] sink.c: mic_denoised_out: state: IDLE -> RUNNING D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. D: [null-sink] module-ladspa-sink.c: Requesting rewind due to state change. D: [null-sink] module-null-sink.c: Requested to rewind 384000 bytes. D: [null-sink] sink.c: Processing rewind... D: [null-sink] source.c: Processing rewind... D: [null-sink] module-null-sink.c: Rewound 8540 bytes. D: [pulseaudio] sink.c: mic_raw_in: state: INIT -> IDLE [Thread 0x7fa1d2f0d0 (LWP 4453) exited] [Thread 0x7fb1f820d0 (LWP 4448) exited] [Thread 0x7fb27e10d0 (LWP 4447) exited] [Thread 0x7fb30390d0 (LWP 4446) exited] [Thread 0x7fb73237d0 (LWP 4436) exited]

Program terminated with signal SIGKILL, Killed. The program no longer exists.

max529 avatar Mar 14 '22 07:03 max529

SIGKILL - something killing it from outside, could you check dmesg? Could it be OOM...

werman avatar Mar 14 '22 13:03 werman