You are not logged in.

#1 2017-07-08 20:22:29

Maniaxx
Member
Registered: 2014-05-14
Posts: 738

ALSA - increase playback buffer

Hallo,
playing audio with Wine/Winamp works properly unless there is high HDD I/O, CPU or similar. Tweaking buffers in Winamp doesn't help.
So i want to increase the ALSA audio buffer. My .asoundrc has just this to define default audio card:

pcm.!default {
	type hw
	card "Audigy2"
	device 0
}

There are options for dmix but i'm not sure if they're applicable for type hw as well. And i probably need to get the default values beforehand.

       period_time 0
       period_size 2048
       buffer_size 65536
       buffer_time 0
       periods 128

Any ideas?

Edit:
Buffer sizes are here:

$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 480
buffer_size: 1920

Its kinda small indeed. Now i need to get this increased somehow.

Last edited by Maniaxx (2017-07-08 20:31:11)


sys2064

Offline

#2 2017-07-08 20:32:45

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: ALSA - increase playback buffer

It would be better to run your audio player at a higher priority, both for CPU and I/O.

Use the "nice" command, for CPU. See links in my sig.

Offline

#3 2017-07-08 20:49:51

Maniaxx
Member
Registered: 2014-05-14
Posts: 738

Re: ALSA - increase playback buffer

Will try that as well, thx. Even though its not so trivial for Wine. It spawns so many processes.

Regarding ALSA docs the buffer can be modified by procfs.

http://alsa.opensrc.org/Proc_asound_documentation

pcm??/sub?/prealloc (RW)
 the number of pre-allocated buffer size in kb.
 you can specify the buffer size by writing to this proc file:

 # echo 128 > /proc/asound/card0/pcm0p/sub0/prealloc

 to allocate 128kbyte for playback, substream #0, stream #0
 on the card #0.

Last edited by Maniaxx (2017-07-08 21:22:41)


sys2064

Offline

Board footer

Powered by FluxBB