]> git.alsa-project.org Git - alsa-utils.git/commit
aplay: try to use 16-bit format to increase capture quality
authorHui Wang <hui.wang@canonical.com>
Fri, 23 Oct 2020 08:47:10 +0000 (16:47 +0800)
committerJaroslav Kysela <perex@perex.cz>
Fri, 23 Oct 2020 09:39:52 +0000 (11:39 +0200)
commit0c5948e98a6a8535c89b7bcab13017d7732181c6
tree28cf4732a3afec5865b73200889e9de4c0ffcf28
parentb2ae0b074669f976c53a52bcd0129227321f88c9
aplay: try to use 16-bit format to increase capture quality

Recently users reported a bug, I tested it and found it is a common
issue on Laptop or Desktop machines.

The issue is users plug a headset and use "arecord test.wav" to
record a sound with default input volume, the recorded sound has
poor quality and nearly can't distinguish it is the sound we want
to record.

This is because the input volume is low and the default format is U8.
The driver records sound with 16bit, because the input volume is low,
most of samples are within (-256,+256), when converting 16bit to U8,
those samples will be 0x7f. This is called quantization noise and we
could only workaround it by increase the input volume or adding -f to
arecord.

But users want to record a better quality sound with default input
volume (after installing a new OS, the volume is the default volume),
and they don't want to add parameters to the arecord because most of
new linux users just use "arecord test.wav".

So this patch tries to change the default format from U8 to S16_LE/BE.
If the machine doesn't support S16_LE/BE, it still uses U8 as default
format.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
aplay/aplay.c