You are not logged in.

#1 2021-01-17 08:56:00

Serrg
Member
Registered: 2019-12-21
Posts: 22

[SOLVED]Pulseaudio default sample rate and Creative Sounblaster ZXR

Hello, i am trying set another sample rate, different from 48000 kHz (i want to set 192000 kHz).

PulseAudio version: 14.0
Arch Kernel: 5.9.14.arch1-1

I also have alsa-firmware installed with firmware for my soundcard.

Here is my daemon.conf in home directory

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; enable-memfd = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto
 log-level = debug
; log-meta = no
; log-time = no
; log-backtrace = 0

; resample-method = soxr-hq
avoid-resampling = true
; enable-remixing = yes
; remixing-use-all-sink-channels = yes
; enable-lfe-remixing = no
; lfe-crossover-freq = 0

flat-volumes = no
; flat-volumes = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 200000

default-sample-format = s32le
default-sample-rate = 192000
; alternate-sample-rate = 48000
default-sample-channels = 2
; default-channel-map = front-left,front-right

default-fragments = 4
default-fragment-size-msec = 25

; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0

When i try to set value, different from 48kHz to 192kHz or 92kHz sound is no working anymore.

I get this message in dmesg

[ 3934.044060] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3934.173260] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3934.267729] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=96000
[ 3934.396568] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3934.525531] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3934.620295] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3934.749458] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3934.843854] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=96000
[ 3934.973248] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3935.101958] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3935.197201] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3935.326122] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3935.420834] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=96000
[ 3935.550428] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3935.679205] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3935.774117] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3935.902939] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3935.997574] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=96000
[ 3936.126435] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=2097152
[ 3936.255271] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3936.303315] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=768000
[ 3936.397767] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3936.445556] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=48000
[ 3936.539949] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3936.669210] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3936.716843] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=768000
[ 3936.811223] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3936.858679] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=48000
[ 3936.953192] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3937.082077] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3937.129689] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=768000
[ 3937.224325] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3937.271911] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=48000
[ 3937.366367] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3937.495148] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072
[ 3937.543002] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=768000
[ 3937.637467] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3937.684851] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=1536000, period=48000
[ 3937.779394] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=3072000, period=1536000
[ 3937.908380] snd_hda_intel 0000:05:00.0: Too many BDL entries: buffer=4194304, period=131072

Here deadbeef log

янв 17 11:52:22 arch-pc pulseaudio[2960]: Trying to change sample spec
янв 17 11:52:22 arch-pc pulseaudio[2960]: Sink auto_null becomes busy, resuming.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Sink auto_null becomes idle, timeout in 5 seconds.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Resampler:
янв 17 11:52:22 arch-pc pulseaudio[2960]:   rate 44100 -> 192000 (method speex-float-1)
янв 17 11:52:22 arch-pc pulseaudio[2960]:   format s16le -> s16le (intermediate float32le)
янв 17 11:52:22 arch-pc pulseaudio[2960]:   channels 2 -> 2 (resampling 2)
янв 17 11:52:22 arch-pc pulseaudio[2960]: Choosing speex quality setting 1.
янв 17 11:52:22 arch-pc pulseaudio[2960]: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
янв 17 11:52:22 arch-pc pulseaudio[2960]: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
янв 17 11:52:22 arch-pc pulseaudio[2960]: Created input 1 "Music" on auto_null with sample spec s16le 2-канальный 4410 and channel map front-left,front-right
янв 17 11:52:22 arch-pc pulseaudio[2960]:     media.name = "Music"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.name = "Deadbeef"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     native-protocol.peer = "UNIX socket client"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     native-protocol.version = "34"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.process.id = "2001"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.process.user = "serg"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.process.host = "arch-pc"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.process.binary = "deadbeef"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.language = "ru_RU.UTF-8"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     window.x11.display = ":0"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.process.machine_id = "8a83aa266049458c875ca49604bfa545"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.process.session_id = "2"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     media.role = "music"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     application.icon_name = "deadbeef"
янв 17 11:52:22 arch-pc pulseaudio[2960]:     module-stream-restore.id = "sink-input-by-media-role:music"
янв 17 11:52:22 arch-pc pulseaudio[2960]: Requested tlength=250,00 ms, minreq=20,00 ms
янв 17 11:52:22 arch-pc pulseaudio[2960]: Adjust latency mode enabled, configuring sink latency to half of overall latency.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Requested latency=105,00 ms, Received latency=105,00 ms
янв 17 11:52:22 arch-pc pulseaudio[2960]: memblockq requested: maxlength=4194304, tlength=25580, base=4, prebuf=22056, minreq=3528 maxrewind=0
янв 17 11:52:22 arch-pc pulseaudio[2960]: memblockq sanitized: maxlength=4194304, tlength=25580, base=4, prebuf=22056, minreq=3528 maxrewind=0
янв 17 11:52:22 arch-pc pulseaudio[2960]: Final latency 250,01 ms = 105,01 ms + 2*20,00 ms + 105,00 ms
янв 17 11:52:22 arch-pc pulseaudio[2960]: Interface org.PulseAudio.Core1.Stream added for object /org/pulseaudio/core1/playback_stream1
янв 17 11:52:22 arch-pc pulseaudio[2960]: auto_null: state: IDLE -> RUNNING
янв 17 11:52:22 arch-pc pulseaudio[2960]: Requesting rewind due to end of underrun.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Requested to rewind 80640 bytes.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Processing rewind...
янв 17 11:52:22 arch-pc pulseaudio[2960]: Have to rewind 80640 bytes on render memblockq.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Processing rewind...
янв 17 11:52:22 arch-pc pulseaudio[2960]: Rewound 80640 bytes.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Requesting rewind due to end of underrun.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Requested to rewind 80640 bytes.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Processing rewind...
янв 17 11:52:22 arch-pc pulseaudio[2960]: Have to rewind 80640 bytes on render memblockq.
янв 17 11:52:22 arch-pc pulseaudio[2960]: Processing rewind...
янв 17 11:52:22 arch-pc pulseaudio[2960]: Rewound 80640 bytes.

I have read, thath linux should support my soundcard. How can i change default sample rate?

Last edited by Serrg (2021-01-18 18:13:52)

Offline

#2 2021-01-17 09:53:48

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 12,250

Re: [SOLVED]Pulseaudio default sample rate and Creative Sounblaster ZXR

That driver is very new and very experimental, it's not surprising to me that only the "normal" often tested 48kHz/44kHz work.

Do these rates work on a normal ALSA test? E.g.

speaker-test -c2 -Dhw:0 -r 192000

if they work then it might indeed be an interaction issue with pulse, where in this case I'd suggest you try and disable tsched

Last edited by V1del (2021-01-17 10:05:50)

Offline

#3 2021-01-17 16:11:55

Serrg
Member
Registered: 2019-12-21
Posts: 22

Re: [SOLVED]Pulseaudio default sample rate and Creative Sounblaster ZXR

V1del wrote:

That driver is very new and very experimental, it's not surprising to me that only the "normal" often tested 48kHz/44kHz work.

Do these rates work on a normal ALSA test? E.g.

speaker-test -c2 -Dhw:0 -r 192000

if they work then it might indeed be an interaction issue with pulse, where in this case I'd suggest you try and disable tsched

Thank you for answer. Here is output. Seems with alsa it works fine.

speaker-test -D sysdefault:CARD=Creative -c 2 -r 192000 -F S32_LE

speaker-test 1.2.4

Playback device is sysdefault:CARD=Creative
Stream parameters are 192000Hz, S32_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 192000Hz (requested 192000Hz)
Buffer size range from 8192 to 65536
Period size range from 4095 to 4097
Using max buffer size 65536
Periods = 4
was set period_size = 4096
was set buffer_size = 65536

I also have tried

load-module module-udev-detect tsched=0

And now i can change sample rate without any problems. But when i watch video on youtube or mpv i hear "cracking" sound, but in deadbeef it works pretty well.

As i understand, there is nothing can be done? (because of the driver).

Offline

#4 2021-01-17 17:41:52

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 12,250

Re: [SOLVED]Pulseaudio default sample rate and Creative Sounblaster ZXR

By disabling tsched you can play around with the default-fragments and default-fragment-size-msec options, potentially increasing the buffers here helps with the crackling, see https://wiki.archlinux.org/index.php/Pu … PulseAudio for some guidance of what the different values do. There's likely no one size fits all here and you'll have to experiment a bit.

Offline

#5 2021-01-18 18:12:37

Serrg
Member
Registered: 2019-12-21
Posts: 22

Re: [SOLVED]Pulseaudio default sample rate and Creative Sounblaster ZXR

V1del wrote:

By disabling tsched you can play around with the default-fragments and default-fragment-size-msec options, potentially increasing the buffers here helps with the crackling, see https://wiki.archlinux.org/index.php/Pu … PulseAudio for some guidance of what the different values do. There's likely no one size fits all here and you'll have to experiment a bit.

thank you, i tried values from wiki and it seems works!

default-fragments = 3
default-fragment-size-msec = 5

Last edited by Serrg (2021-01-18 18:14:06)

Offline

Board footer

Powered by FluxBB