Description of problem: I'm unable to play 24bit PCM audio on Fedora 8 Version-Release number of selected component (if applicable): alsa-lib-1.0.15-1.fc8 How reproducible: every time Steps to Reproduce: 1. attempt to play 24bit PCM using aplay 2. 3. Actual results: get the following aplay error: aplay: set_params:901: Sample format non available Expected results: hear music Additional info: same 24bit audio files play fine (w/ aplay) under F-7
It appears this problem is due to the alsa configuration for both the default and pulse devices, neither are setup for 24bit in F8. In F7 the default device _is_ configured for 24bit. This can be seen easily using the nifty utility called alsacap available here: http://www.volkerschatz.com/noise/alsa.html This utility will essentially dump the configuration for a given PCM device. here's what I get on my audio workstation under F8: ---------- [dave@homer tmp]$ ./alsacap -d default *** Exploring configuration space of device `default' for playback *** 1..32 channels Sampling rate 8000..48000 Hz Sample formats: U8, S16_LE, S16_BE, FLOAT_LE, FLOAT_BE, MU_LAW, A_LAW [dave@homer tmp]$ ./alsacap -d pulse *** Exploring configuration space of device `pulse' for playback *** 1..32 channels Sampling rate 8000..48000 Hz Sample formats: U8, S16_LE, S16_BE, FLOAT_LE, FLOAT_BE, MU_LAW, A_LAW [dave@homer tmp]$ ---------- And under F7: ---------- [fedora@localhost tmp]$ ./alsacap -d default *** Exploring configuration space of device `default' for playback *** 1..10000 channels Sampling rate 4000..4294967295 Hz Sample formats: S8, U8, S16_LE, S16_BE, U16_LE, U16_BE, S24_LE, S24_BE, U24_LE, U24_BE, S32_LE, S32_BE, U32_LE, U32_BE, FLOAT_LE, FLOAT_BE, FLOAT64_LE, FLOAT64_BE, MU_LAW, A_LAW, IMA_ADPCM, S24_3LE, S24_3BE, U24_3LE, U24_3BE, S20_3LE, S20_3BE, U20_3LE, U20_3BE, S18_3LE, S18_3BE, U18_3LE, U18_3BE [fedora@localhost tmp]$ ---------- So as can be easily seen here the F7 configuration is setup to support *many* more formats that F8, specifically the 24bit (S24*) formats.
Created attachment 306552 [details] displays the capabilities of your sound card and its ALSA driver I'm attaching the alsacap utility here
apologies I neglected to mention my soundcar .... it's a RME digi96/8 PST
just tested w/ the F9 Live disk, doesn't work there either. Looks to be the exact same config as F8 ..... [fedora@localhost tmp]$ ./alsacap -d default *** Exploring configuration space of device `default' for playback *** 1..32 channels Sampling rate 8000..48000 Hz Sample formats: U8, S16_LE, S16_BE, FLOAT_LE, FLOAT_BE, MU_LAW, A_LAW [fedora@localhost tmp]$
Do you run Pulse audio? If so, can you remove it from your ALSA config file (the alsa-plugin in /etc/alsa/alsa.conf) and check aplay again?
indeed, the pulse config seems to be at fault. commenting out: "/etc/alsa/pulse-default.conf" in /etc/alsa/alsa.conf got things working ---------- [dave@homer tmp]$ ./alsacap -d default *** Exploring configuration space of device `default' for playback *** 1..10000 channels Sampling rate 4000..4294967295 Hz Sample formats: S8, U8, S16_LE, S16_BE, U16_LE, U16_BE, S24_LE, S24_BE, U24_LE, U24_BE, S32_LE, S32_BE, U32_LE, U32_BE, FLOAT_LE, FLOAT_BE, FLOAT64_LE, FLOAT64_BE, MU_LAW, A_LAW, IMA_ADPCM, S24_3LE, S24_3BE, U24_3LE, U24_3BE, S20_3LE, S20_3BE, U20_3LE, U20_3BE, S18_3LE, S18_3BE, U18_3LE, U18_3BE [dave@homer tmp]$ ./alsacap -d pulse *** Exploring configuration space of device `pulse' for playback *** ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM pulse Error opening sound device: Device does not exist. Aborting. [dave@homer tmp]$ aplay 24bit-testfile-short.wav Playing WAVE '24bit-testfile-short.wav' : Signed 24 bit Little Endian in 3bytes, Rate 48000 Hz, Stereo Aborted by signal Interrupt... [dave@homer wavbreaker24]$ ----------
PA nowadays supports 32bit integer sample playback just fine. Usually 24bit means 32bit samples with their 8 LSB set to 0 in contrast to 24bit packed samples. If more exotic sample types are requested you need to use ALSA's "plug" device on top of "pulse".