Kernel version: 6.6.54-7.1.0-g3493ccd66900 #1-Torizon SMP PREEMPT Tue Dec 17 21:04:41 UTC 2024
Distro version: VERSION_ID=7.1.0-build.4
HW model: Toradex Verdin iMX8M Plus on Verdin Development Board
Toradex version: 0063 V1.1B
While trying to play a WAV file on Torizon, the ranges above 9600 and below 12000,
don’t seem to work at least with aplay. I assume, normally resampling would be handled by audio servers. But I can’t get PulseAudio or pipewire working within containers (aplay -l etc. list the cards, but pactl doesn’t). I suspected that it’s because /proc/asound is not accessible from within containers, but I also can’t share that according to docker.
So my question is, how to properly setup audio in a way, that works with Torizon?
Command I use to run the application container, based on a debian 12 container (+alsa):
docker run -it --rm --name=alsatest-run --device /dev/snd -e XDG_RUNTIME_DIR=/tmp/1000-runtime-dir -e WAYLAND_DISPLAY=wayland-0 -v /tmp:/tmp -v /var/run/dbus:/var/run/dbus -v /dev/galcore:/dev/galcore --device-cgroup-rule='c 199:* rmw' --security-opt seccomp=unconfined alsatest
Works:
aplay -f U8 -r 9600 --dump-hw-params /dev/random
Does not work:
aplay -f U8 -r 9601 --dump-hw-params /dev/random
Error message:
Playing raw data '/dev/random' : Unsigned 8 bit, Rate 9601 Hz, Mono
HW Params of device "default":
--------------------
ACCESS: MMAP_INTERLEAVED MMAP_NONINTERLEAVED MMAP_COMPLEX RW_INTERLEAVED RW_NONINTERLEAVED
FORMAT: 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 S20_LE S20_BE U20_LE U20_BE S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE U18_3BE
SUBFORMAT: STD
SAMPLE_BITS: [4 64]
FRAME_BITS: [4 640000]
CHANNELS: [1 10000]
RATE: [4000 4294967295)
PERIOD_TIME: (62 2047875]
PERIOD_SIZE: (0 4294967295)
PERIOD_BYTES: (0 4294967295)
PERIODS: (0 4294967295]
BUFFER_TIME: [1 4294967295]
BUFFER_SIZE: [1 4294967294]
BUFFER_BYTES: [1 4294967295]
TICK_TIME: ALL
--------------------
aplay: set_params:1416: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: U8
SUBFORMAT: STD
SAMPLE_BITS: 8
FRAME_BITS: 8
CHANNELS: 1
RATE: 9601
PERIOD_TIME: (124988 124989)
PERIOD_SIZE: [1200 1200]
PERIOD_BYTES: (1200 1201)
PERIODS: (3 4)
BUFFER_TIME: (499947 499948)
BUFFER_SIZE: 4800
BUFFER_BYTES: 4800
TICK_TIME: 0