xiongyihui / notes

Notes
https://xiongyihui.github.io/notes/
3 stars 0 forks source link

use snd-aloop as a virtual sound card #32

Open xiongyihui opened 2 years ago

xiongyihui commented 2 years ago
  1. load the kernel module sudo modprobe snd-aloop
  2. check the supported parameters by aloop, run arecord --dump-hw-params -D hw:loopback
/ # arecord --dump-hw-params -D hw:loopback
ALSA lib pcm_hw.c:1806:(_snd_pcm_hw_open) Invalid value for card
arecord: main:828: audio open error: No such device
/ # arecord --dump-hw-params -D hw:Loopback
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:Loopback":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE S16_BE S32_LE S32_BE FLOAT_LE FLOAT_BE
SUBFORMAT:  STD
SAMPLE_BITS: [16 32]
FRAME_BITS: [16 1024]
CHANNELS: [1 32]
RATE: [8000 192000]
PERIOD_TIME: (5 65536000]
PERIOD_SIZE: [1 524288]
PERIOD_BYTES: [64 1048576]
PERIODS: [1 1024]
BUFFER_TIME: (5 131072000]
BUFFER_SIZE: [1 1048576]
BUFFER_BYTES: [64 2097152]
TICK_TIME: ALL
--------------------
arecord: set_params:1339: Sample format non available
Available formats:
- S16_LE
- S16_BE
- S32_LE
- S32_BE
- FLOAT_LE
- FLOAT_BE
  1. play a sine wave to hw:Loopback,0, run speaker-test -D hw:Loopback,0 -c 4 -r 48000 -t sine
  2. record the sine wave from hw:Loopback,1, run arecord -D hw:Loopback,1 -r 48000 -c 4 -f S16_LE -v -Vmono /tmp/a.wav