выбор звукового устройства ALSA

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

выбор звукового устройства ALSA

Непрочитанное сообщение Olej » 21 янв 2019, 13:45

Как выбрать конкретное звуковое устройство для вывода ALSA (Advanced Linux Sound Architecture)?
Особенно это актуально: а). для одноплатных компьютеров SBC ARM, б). для новых сборок десктопов с HDMI выходом видео (+ аудио).

В качестве обрабатывающего звук пакета используем SoX (Sound eXchange) - пакет свободного кроссплатформенного аудиоредактора, использующегося много лет...

Код: Выделить всё

linaro@linaro-alip:~$ aptitude search sox
v   libplplot-ocaml-dev-soxk8                                -                                                                    
v   libplplot-ocaml-soxk8                                    -                                                                    
p   libsox-dev                                               - Development files for the SoX library                              
p   libsox-fmt-all                                           - All SoX format libraries                                           
p   libsox-fmt-alsa                                          - SoX alsa format I/O library                                        
p   libsox-fmt-ao                                            - SoX Libao format I/O library                                       
p   libsox-fmt-base                                          - Minimal set of SoX format libraries                                
p   libsox-fmt-mp3                                           - SoX MP2 and MP3 format library                                     
p   libsox-fmt-oss                                           - SoX OSS format I/O library                                         
p   libsox-fmt-pulse                                         - SoX PulseAudio format I/O library                                  
p   libsox3                                                  - SoX library of audio effects and processing                        
p   libsoxr-dev                                              - High quality 1D sample-rate conversion library (development files) 
p   libsoxr-lsr0                                             - High quality 1D sample-rate conversion library (libsamplerate bindi
i A libsoxr0                                                 - High quality 1D sample-rate conversion library                     
p   sox                                                      - Swiss army knife of sound processing                               

Код: Выделить всё

linaro@linaro-alip:~$ sudo apt install sox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libopencore-amrnb0 libopencore-amrwb0 libsox-fmt-alsa libsox-fmt-base libsox3
Suggested packages:
  libsox-fmt-all
The following NEW packages will be installed:
  libopencore-amrnb0 libopencore-amrwb0 libsox-fmt-alsa libsox-fmt-base libsox3 sox
0 upgraded, 6 newly installed, 0 to remove and 892 not upgraded.
Need to get 612 kB of archives.
After this operation, 1,453 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian buster/main arm64 libopencore-amrnb0 arm64 0.1.3-2.1+b2 [81.1 kB]
Get:2 http://deb.debian.org/debian buster/main arm64 libopencore-amrwb0 arm64 0.1.3-2.1+b2 [41.7 kB]
Get:3 http://deb.debian.org/debian buster/main arm64 libsox3 arm64 14.4.2-3 [231 kB]
Get:4 http://deb.debian.org/debian buster/main arm64 libsox-fmt-alsa arm64 14.4.2-3 [50.8 kB]
Get:5 http://deb.debian.org/debian buster/main arm64 libsox-fmt-base arm64 14.4.2-3 [69.2 kB]
Get:6 http://deb.debian.org/debian buster/main arm64 sox arm64 14.4.2-3 [138 kB]
Fetched 612 kB in 6s (107 kB/s)
Selecting previously unselected package libopencore-amrnb0:arm64.
(Reading database ... 117037 files and directories currently installed.)
Preparing to unpack .../0-libopencore-amrnb0_0.1.3-2.1+b2_arm64.deb ...
Unpacking libopencore-amrnb0:arm64 (0.1.3-2.1+b2) ...
Selecting previously unselected package libopencore-amrwb0:arm64.
Preparing to unpack .../1-libopencore-amrwb0_0.1.3-2.1+b2_arm64.deb ...
Unpacking libopencore-amrwb0:arm64 (0.1.3-2.1+b2) ...
Selecting previously unselected package libsox3:arm64.
Preparing to unpack .../2-libsox3_14.4.2-3_arm64.deb ...
Unpacking libsox3:arm64 (14.4.2-3) ...
Selecting previously unselected package libsox-fmt-alsa:arm64.
Preparing to unpack .../3-libsox-fmt-alsa_14.4.2-3_arm64.deb ...
Unpacking libsox-fmt-alsa:arm64 (14.4.2-3) ...
Selecting previously unselected package libsox-fmt-base:arm64.
Preparing to unpack .../4-libsox-fmt-base_14.4.2-3_arm64.deb ...
Unpacking libsox-fmt-base:arm64 (14.4.2-3) ...
Selecting previously unselected package sox.
Preparing to unpack .../5-sox_14.4.2-3_arm64.deb ...
Unpacking sox (14.4.2-3) ...
Processing triggers for mime-support (3.60) ...
Processing triggers for libc-bin (2.28-2) ...
Setting up libopencore-amrnb0:arm64 (0.1.3-2.1+b2) ...
Processing triggers for man-db (2.8.4-3) ...
Setting up libopencore-amrwb0:arm64 (0.1.3-2.1+b2) ...
Setting up libsox3:arm64 (14.4.2-3) ...
Setting up libsox-fmt-base:arm64 (14.4.2-3) ...
Setting up libsox-fmt-alsa:arm64 (14.4.2-3) ...
Setting up sox (14.4.2-3) ...
Processing triggers for libc-bin (2.28-2) ...

Код: Выделить всё

olej@ACER:~$ which play
/usr/bin/play

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: звуковые устройства ALSA

Непрочитанное сообщение Olej » 21 янв 2019, 13:59

Olej писал(а):

Код: Выделить всё

olej@ACER:~$ which play
/usr/bin/play
Но можете очень запросто получить так:

Код: Выделить всё

linaro@linaro-alip:~/FaceDL/locker$ play login.wav 
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
play FAIL sox: Sorry, there is no default audio device configured
Смотрим аудиоустройства:

Код: Выделить всё

olej@ACER:~$ cat /proc/asound/cards
 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7d14000 irq 32
 1 [CAMERA         ]: USB-Audio - USB2.0 PC CAMERA
                      Generic USB2.0 PC CAMERA at usb-0000:00:14.0-3, high speed
 2 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7d10000 irq 30
Это самый что ни есть обычный стационар-десктоп:

Код: Выделить всё

olej@ACER:~$ inxi -G
Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics driver: i915 v: kernel 
           Display: x11 server: X.Org 1.20.3 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel Haswell Desktop v: 4.5 Mesa 18.2.8 
Но ALSA по умолчанию работает с дефаултным устройством 0, которое здесь - HDMI устройство, например, мультимедийный монитор ... а я хочу выводить на наушники аудиокарты устройство 2 ... здесь ещё вмешалось (и всегда вмешивается!) микрофон WEB камеры (который почти всегда присутствует на новых WEB-камерах) - устройство 1.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: звуковые устройства ALSA

Непрочитанное сообщение Olej » 21 янв 2019, 14:06

Olej писал(а): Но можете очень запросто получить так:
Простейший способ решить эту проблему - создать новый файл .asoundrc в $HOME (или /etc/asoundrc для всех пользователей):

Код: Выделить всё

olej@ACER:~$ touch ~/.asoundrc

Код: Выделить всё

olej@ACER:~$ cat ~/.asoundrc
pcm.!default {
type hw
card 2
}

ctl.!default {
type hw
card 2
}
После чего:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/AplitSoft/FaceDL/locker$ play login.wav 
play WARN alsa: can't encode 0-bit Unknown or not applicable

login.wav:

 File Size: 192k      Bit Rate: 706k
  Encoding: Signed PCM    
  Channels: 2 @ 16-bit   
Samplerate: 22050Hz      
Replaygain: off         
  Duration: 00:00:02.18  

In:100%  00:00:02.18 [00:00:00.00] Out:48.1k [      |      ]        Clip:0    
Done.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: звуковые устройства ALSA

Непрочитанное сообщение Olej » 14 окт 2023, 19:20

Olej писал(а): Простейший способ решить эту проблему - создать новый файл .asoundrc в $HOME (или /etc/asoundrc для всех пользователей):
Теперь одноплатник SBC ARM DragonBoard 410c, где всё гораздо более запутано:

Код: Выделить всё

linaro@linaro-alip:/proc/asound$ cat /proc/asound/cards
 0 [C170           ]: USB-Audio - Webcam C170
                      Webcam C170 at usb-ci_hdrc.0-1.2, high speed
 1 [DB410c         ]: DB410c - DB410c
                      DB410c
- 0 - это микрофон WEB камеры;
- 1 - это аудио канал HDMI выхода на монитор;

Физически воспроизводиться звук может: а). при использовании мультимедийного монитора, б). при подключении аудио устройств (звуковые колонки, наушники) к разъёму монитора, в). с аудио разъёма специализированного преобразователя HDMI-VGA:
Изображение

Код: Выделить всё

linaro@linaro-alip:~$ touch ~/.asoundrc
...

Код: Выделить всё

linaro@linaro-alip:~$ cat ~/.asoundrc
pcm.!default {
type hw
card 1
}

ctl.!default {
type hw
card 1
}

Код: Выделить всё

linaro@linaro-alip:~/FaceDL/locker$ play login.wav 
play WARN alsa: can't encode 0-bit Unknown or not applicable

login.wav:

 File Size: 192k      Bit Rate: 706k
  Encoding: Signed PCM    
  Channels: 2 @ 16-bit   
Samplerate: 22050Hz      
Replaygain: off         
  Duration: 00:00:02.18  

In:100%  00:00:02.18 [00:00:00.00] Out:69.8k [      |      ]        Clip:0    
Done.


Тема поднималась пользователем Olej 14 окт 2023, 19:20.

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей