Hmmm. Restarting helped, for a bit. Then it reappeared when I opened pavuctl. Maybe it's something else entirely.
do you have timer based scheduling enabled or disabled?
In etc/pulse/daemon.conf I have:
Code:
; realtime-scheduling = yes
; realtime-priority = 5
So I guess not? Should I change to no?
Edit: it's running fine today. And sounding delicious. 🙂
Last edited:
Hmmmmm, I played something from my NAS over our (currently weak) wifi network and it started. Could this have something to do with it? It seems fine again with some music copied onto the microSD card. I am in the middle of setting up a wired connection to a network switch in my study, so as such that would not be a disaster. Although i don't understand how this would explain a timing difference between different channels.
It's right on top in Htop, whatever window I have on top, PA, PAXOR en PAVUCTL are always on top. Priority seems sorted.
It's right on top in Htop, whatever window I have on top, PA, PAXOR en PAVUCTL are always on top. Priority seems sorted.
Last edited:
might have to do with using wifi, I'm not sure though. timer based scheduling seems utterly broken when LADPSA plugins are involved.
Please refer to this post to disable it:
Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux
Please refer to this post to disable it:
Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux
If using on RPi set the timing based scheduling off in the /etc/pulse/default.pa:
load-module module-udev-detect tsched=0
It avoids crackling.
load-module module-udev-detect tsched=0
It avoids crackling.
load-module module-udev-detect tsched=0
Should I simply add the line underneath the rest? Or type tsched=0 after where it says load-module module-udev-detect?
I have reached the point where I can find the d**n file, open it with sudo and add/save, but not the point where I instantly recognize what to do with lines of code. 😉
might have to do with using wifi, I'm not sure though. timer based scheduling seems utterly broken when LADPSA plugins are involved.
Please refer to this post to disable it:
Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux
Whoops, replied too soon and after reading only the second reply. I just did this, will reboot and try.
Just add tsched=0 to the end of the line.
It cures stuttering (it is better word than crackling).
It cures stuttering (it is better word than crackling).
That seems to have made it worse. Both over wifi and from the microSD card. I have no more time to work on it this afternoon. It does seem related in some way to this scheduling setting.
You can try removing and inserting filters after the RPi has started up. If that doesn't help I don't know an answer at the moment, sorry.
There are plans to completely switch to a different approach regarding filter implementation and to use camillaDSP for that. This will probably solve the problem with ladspa plugins and also provide FIR filters. As I'm quite busy with designing hardware though that will probably take some months to implement.
There are plans to completely switch to a different approach regarding filter implementation and to use camillaDSP for that. This will probably solve the problem with ladspa plugins and also provide FIR filters. As I'm quite busy with designing hardware though that will probably take some months to implement.
Last edited:
I used RPi 3 v1.2 with the latest Raspbian 2020-02-13, only wired ethernet, but it should not be an issue. RPI has power only for 44.1/48kHZ sample rate. Bigger problem are multiple PA streams, but it is true also for the desktop PC. Here are my notes for RPI installation:
1. was only related to old Onkyo SR-TX806, I do not need it for newer VSX-924
sudo nano /boot/config.txt
# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1 //default
# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=1
# 1080p at 25Hz for Onkyo SR-TX806
hdmi_mode=33
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
hdmi_drive=2
# added, do not advertise unsupported modes of Onkyo, otherwise it does not turn on the input
hdmi_force_mode=1
2. reboot.
alsamixer // increase volume and test
speaker-test -r 48000 -D hw:0,1 -c 8
3. install PA and pavucontrol
sudo apt install pulseaudio pavucontrol
and set according to phofman:
https://www.diyaudio.com/forums/pc-...sign-implementation-linux-47.html#post5880096
nano ~/.asoundrc
insert:
pcm.hdmi8ch { type hw card ALSA device 1 channels 8 }
sudo nano /etc/pulse/default.pa
Modify it to:
load-module module-udev-detect tsched=0
load-module module-alsa-sink device="hdmi8ch"
set-default-sink alsa_output.hdmi8ch
Now sinks looks like this:
pi@paxor:~ $ pactl list sinks
Sink #0
State: SUSPENDED
Name: alsa_output.hdmi8ch
Description: Built-in Audio
Driver: module-alsa-sink.c
Sample Specification: s16le 8ch 44100Hz
Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
Owner Module: 5
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB, rear-left: 65536 / 100% / 0.00 dB, rear-right: 65536 / 100% / 0.00 dB, front-center: 65536 / 100% / 0.00 dB, lfe: 65536 / 100% / 0.00 dB, side-left: 65536 / 100% / 0.00 dB, side-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.hdmi8ch.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "bcm2835 IEC958/HDMI"
alsa.id = "bcm2835 IEC958/HDMI"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/sound/card0"
device.form_factor = "internal"
device.string = "hdmi8ch"
device.buffering.buffer_size = "131072"
device.buffering.fragment_size = "131072"
device.access_mode = "mmap+timer"
device.description = "Built-in Audio"
device.icon_name = "audio-card"
Formats:
pcm
Sink #1
State: SUSPENDED
Name: alsa_output.platform-soc_audio.analog-mono
Description: Built-in Audio Analog Mono
Driver: module-alsa-card.c
Sample Specification: s16le 1ch 44100Hz
Channel Map: mono
Owner Module: 21
Mute: no
Volume: mono: 55909 / 85% / -4.14 dB
balance 0.00
Base Volume: 56210 / 86% / -4.00 dB
Monitor Source: alsa_output.platform-soc_audio.analog-mono.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "bcm2835 ALSA"
alsa.id = "bcm2835 ALSA"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/sound/card0"
device.form_factor = "internal"
device.string = "hw:0"
device.buffering.buffer_size = "131072"
device.buffering.fragment_size = "131072"
device.access_mode = "mmap+timer"
device.profile.name = "analog-mono"
device.profile.description = "Analog Mono"
device.description = "Built-in Audio Analog Mono"
alsa.mixer_name = "Broadcom Mixer"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports:
analog-output: Analog Output (priority: 9900)
Active Port: analog-output
Formats:
pcm
install Pulseaudio Crossover Rack
Debian repository :: T5! DIY Audio Software & Hardware
Pulseaudio Crossover Rack :: T5! DIY Audio Software & Hardware
Run and let install required components by PIP.
1. was only related to old Onkyo SR-TX806, I do not need it for newer VSX-924
sudo nano /boot/config.txt
# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1 //default
# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=1
# 1080p at 25Hz for Onkyo SR-TX806
hdmi_mode=33
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
hdmi_drive=2
# added, do not advertise unsupported modes of Onkyo, otherwise it does not turn on the input
hdmi_force_mode=1
2. reboot.
alsamixer // increase volume and test
speaker-test -r 48000 -D hw:0,1 -c 8
3. install PA and pavucontrol
sudo apt install pulseaudio pavucontrol
and set according to phofman:
https://www.diyaudio.com/forums/pc-...sign-implementation-linux-47.html#post5880096
nano ~/.asoundrc
insert:
pcm.hdmi8ch { type hw card ALSA device 1 channels 8 }
sudo nano /etc/pulse/default.pa
Modify it to:
load-module module-udev-detect tsched=0
load-module module-alsa-sink device="hdmi8ch"
set-default-sink alsa_output.hdmi8ch
Now sinks looks like this:
pi@paxor:~ $ pactl list sinks
Sink #0
State: SUSPENDED
Name: alsa_output.hdmi8ch
Description: Built-in Audio
Driver: module-alsa-sink.c
Sample Specification: s16le 8ch 44100Hz
Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
Owner Module: 5
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB, rear-left: 65536 / 100% / 0.00 dB, rear-right: 65536 / 100% / 0.00 dB, front-center: 65536 / 100% / 0.00 dB, lfe: 65536 / 100% / 0.00 dB, side-left: 65536 / 100% / 0.00 dB, side-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.hdmi8ch.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "bcm2835 IEC958/HDMI"
alsa.id = "bcm2835 IEC958/HDMI"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/sound/card0"
device.form_factor = "internal"
device.string = "hdmi8ch"
device.buffering.buffer_size = "131072"
device.buffering.fragment_size = "131072"
device.access_mode = "mmap+timer"
device.description = "Built-in Audio"
device.icon_name = "audio-card"
Formats:
pcm
Sink #1
State: SUSPENDED
Name: alsa_output.platform-soc_audio.analog-mono
Description: Built-in Audio Analog Mono
Driver: module-alsa-card.c
Sample Specification: s16le 1ch 44100Hz
Channel Map: mono
Owner Module: 21
Mute: no
Volume: mono: 55909 / 85% / -4.14 dB
balance 0.00
Base Volume: 56210 / 86% / -4.00 dB
Monitor Source: alsa_output.platform-soc_audio.analog-mono.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "bcm2835 ALSA"
alsa.id = "bcm2835 ALSA"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/sound/card0"
device.form_factor = "internal"
device.string = "hw:0"
device.buffering.buffer_size = "131072"
device.buffering.fragment_size = "131072"
device.access_mode = "mmap+timer"
device.profile.name = "analog-mono"
device.profile.description = "Analog Mono"
device.description = "Built-in Audio Analog Mono"
alsa.mixer_name = "Broadcom Mixer"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports:
analog-output: Analog Output (priority: 9900)
Active Port: analog-output
Formats:
pcm
install Pulseaudio Crossover Rack
Debian repository :: T5! DIY Audio Software & Hardware
Pulseaudio Crossover Rack :: T5! DIY Audio Software & Hardware
Run and let install required components by PIP.
I have some recommendations regarding the problem with sinks getting out of sync here:
I just enabled real time scheduling for the pulseaudio daemon. The problem seems to have gotten way better (In fact up to now it didn't occur again, even with heavy IO, network loads or computational load).
To do this add a line to /etc/security/limits.conf:
obviously you should replace <username> with the actual username you want to use pulseaudio with.
and add two lines to /etc/pulse/daemon.conf:
Worth a try!
I just enabled real time scheduling for the pulseaudio daemon. The problem seems to have gotten way better (In fact up to now it didn't occur again, even with heavy IO, network loads or computational load).
To do this add a line to /etc/security/limits.conf:
Code:
<username> - rtprio 95
obviously you should replace <username> with the actual username you want to use pulseaudio with.
and add two lines to /etc/pulse/daemon.conf:
Code:
realtime-scheduling = yes
realtime-priority = 5
Worth a try!
Worth a try!
Thanks. I just added these lines to the files mentioned. It's up about 10 minutes, so far so good.
- Home
- Source & Line
- PC Based
- Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux