Автор Тема: Simply p8. Не записывает sox  (Прочитано 1873 раз)

Оффлайн kras

  • Давно тут
  • **
  • Сообщений: 56
Simply p8. Не записывает sox
« : 07.10.2017 10:58:55 »
Simply p8.

Команда rec ругается:
  $ rec out-file.wav
rec FAIL sox: Sorry, there is no default audio device configured

Поставил свежую систему на пяти компах,  на двух из них такая вот "петрушка".
Может железо старое?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 2 628
  • antohami@
Re: Simply p8. Не записывает sox
« Ответ #1 : 07.10.2017 11:06:03 »
Поставил свежую систему на пяти компах,  на двух из них такая вот "петрушка".
Может железо старое?

Микрофон в аудио-устройствах определился? Проверьте в pavucontrol.

Оффлайн kras

  • Давно тут
  • **
  • Сообщений: 56
Re: Simply p8. Не записывает sox
« Ответ #2 : 07.10.2017 12:03:36 »

Микрофон в аудио-устройствах определился? Проверьте в pavucontrol.

Нужен линейный вход.
В pavucontrol в меню Устройства ввода на Линейный вход включен и звук виден.
В alsamixer-qt4 включил все (Line - в первую очередь!).
Кстати, в audacity запись идет нормально.
« Последнее редактирование: 07.10.2017 12:07:11 от kras »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #3 : 07.10.2017 12:10:04 »
Simply p8.

Команда rec ругается:
  $ rec out-file.wav
rec FAIL sox: Sorry, there is no default audio device configured

Поставил свежую систему на пяти компах,  на двух из них такая вот "петрушка".
Может железо старое?

А это точно устройство по-умолчанию?

Ноутбук HP Compaq NX6110

Сокет/Устройство  (0 - устройство по-умолчанию)
$ cat /proc/asound/cards
 0 [ICH6           ]: ICH4 - Intel ICH6
                      Intel ICH6 with AD1981B at irq 21

Сокет/Модуль
$ cat /proc/asound/modules
 0 snd_intel8x0

Включить микрофон на устройстве 0, установить уровень микрофона 90%
$ amixer -c0 sset 'Mic' unmute 90%

Моно микрофон включен на устройстве 0, уровень 90%
$ amixer get Mic
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Mono
  Capture channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono: Playback 28 [90%] [7.50dB] [on]
  Front Left: Capture [on]
  Front Right: Capture [on]

Гарнитура подключена, запись
$ rec -r 8000 -c 1 sound2kill.wav
rec WARN alsa: can't encode 0-bit Unknown or not applicable
rec WARN formats: can't set sample rate 8000; using 48000

Input File     : 'default' (alsa)
Channels       : 1
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:14.17 [00:00:00.00] Out:112k  [      |      ] Hd:2.1 Clip:0    ^C
Aborted.

Воспроизведение
$ aplay hlamm/sound2kill.wav
Playing WAVE 'hlamm/sound2kill.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
« Последнее редактирование: 07.10.2017 19:14:04 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #4 : 07.10.2017 12:20:00 »
Да, вот ещё в довесок к выбросам выше:
$ ps -eo args|grep pulse|grep -v grep
/usr/bin/pulseaudio --start --log-target=syslog
/usr/lib/xfce4/panel/wrapper-2.0 /usr/lib/xfce4/panel/plugins/libpulseaudio-plugin.so 18 12582945 pulseaudio Модуль PulseAudio Управление громкостью звука системы PulseAudio
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #5 : 07.10.2017 12:22:49 »
Как сделать аудиоустройство устройством по-умолчанию:

Как сделать внешнюю usb-аудиокарту дефолтной в системе с alsa
https://forum.altlinux.org/index.php?topic=32361.msg284251#msg284251
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #6 : 07.10.2017 12:36:37 »
Да, вот ещё в довесок к выбросам выше:
$ ps -eo args|grep pulse|grep -v grep
/usr/bin/pulseaudio --start --log-target=syslog
/usr/lib/xfce4/panel/wrapper-2.0 /usr/lib/xfce4/panel/plugins/libpulseaudio-plugin.so 18 12582945 pulseaudio Модуль PulseAudio Управление громкостью звука системы PulseAudio
Гарнитура подключена, запись
$ rec -r 8000 -c 1 sound2kill.wav
rec WARN alsa: can't encode 0-bit Unknown or not applicable
rec WARN formats: can't set sample rate 8000; using 48000

Input File     : 'default' (alsa)
Channels       : 1
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:14.17 [00:00:00.00] Out:112k  [      |      ] Hd:2.1 Clip:0    ^C
Aborted.

В системе с pulseaudio, rec использует дефолтное устройство alsa, - карта 0.
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #7 : 07.10.2017 13:40:35 »
Ноутбук HP Compaq NX6110

Запись через usb-гарнитуру

Неумолчальное устройство Headset
$ cat /proc/asound/cards
 0 [ICH6           ]: ICH4 - Intel ICH6
                      Intel ICH6 with AD1981B at irq 21
 1 [Headset        ]: USB-Audio - Logitech USB Headset
                      Logitech Logitech USB Headset at usb-0000:03:00.0-1, full speed

через хотплаг скрипт установилось как умолчальное
см. ссылку в Ответ #5
$ cat /etc/asound.conf
defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.card 1

Включаем микрофон на гарнитуре и устанавливаем уровень
$ amixer -c1 sset 'Mic' unmute 90%
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: Playback 0 - 29 Capture 0 - 13
  Mono: Playback 27 [93%] [-14.00dB] [on] Capture 12 [92%] [28.00dB] [on]

Запись в файл через устройство по-умолчанию
$ rec -r 24000 -c 1 sound2kill-2.wav
rec WARN alsa: can't encode 0-bit Unknown or not applicable
rec WARN formats: can't set sample rate 24000; using 48000

Input File     : 'default' (alsa)
Channels       : 1
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:07.17 [00:00:00.00] Out:164k  [      |      ] Hd:0.0 Clip:766  ^C
rec WARN rate: rate clipped 408 samples; decrease volume?
rec WARN dither: dither clipped 358 samples; decrease volume?
Aborted.

Тип записанного аудиофайла
$ file sound2kill-2.wav
sound2kill-2.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 24000 Hz

Воспроизведение записанного файла
$ aplay sound2kill-2.wav
Playing WAVE 'sound2kill-2.wav' : Signed 16 bit Little Endian, Rate 24000 Hz, Mono
« Последнее редактирование: 07.10.2017 19:14:29 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #8 : 07.10.2017 19:37:33 »
Ноутбук Lenovo G50-80
Встроенный микрофон

В ноутбуке Lenovo G50-80 имеются две встроенные карты: HDMI и PCH. Вторая, необходимая, по-умолчанию сидит в сокете 1.
Чтобы карта PCH стала дефолтной, её нужно пересадить в сокет 0, сменив индекс
$ cat /etc/modprobe.d/alsa-modindex.conf
## spare index=0 for a hotplug soundcard (if any)
#options snd-usb-audio index=0

## offset HDMI output compared to onboard audio (#28648)
#options snd_hda_codec_hdmi index=2,3
#options snd_hda_intel index=2,3

#options snd_intel8x0 index=2
#options snd_via82xx index=2
#options snd-bt87x index=3
#options snd_intel8x0m index=4
#options snd-atiixp-modem index=4
#options snd-via82xx-modem index=4

## get PC speaker out of the way
#options snd_pcsp index=10

options snd_hda_intel id=PCH index=0
options snd_hda_intel id=HDMI index=2

После перезагрузки, карта PCH будет находится в сокете 0 и станет картой по-умолчанию
$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xc1214000 irq 47
 2 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xc1210000 irq 49

Посмотрим какие контролы микрофонов имеются, - необходим встроенный микрофон
$ amixer scontrols|grep -i mic
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'Internal Mic',0
Simple mixer control 'Internal Mic Boost',0
Simple mixer control 'Inverted Internal Mic',0

В текущем состоянии встроенный микрофон выключен
$ amixer get 'Internal Mic'
Simple mixer control 'Internal Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined
  Capture channels: Mono
  Limits: Capture 0 - 80
  Mono: Capture 80 [100%] [6.00dB] [off]

Включаем микрофон, устанавливаем уровень 100%
$ amixer sset 'Internal Mic' 100% toggle
Simple mixer control 'Internal Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined
  Capture channels: Mono
  Limits: Capture 0 - 80
  Mono: Capture 80 [100%] [6.00dB] [on]

Бустер устанавливаем на 60%
$ amixer sset 'Internal Mic Boost' 60%
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 2 [67%] [24.00dB]
  Front Right: 2 [67%] [24.00dB]

Выполняем запись звука через микрофон
$ rec output.wav
rec WARN alsa: can't encode 0-bit Unknown or not applicable

Input File     : 'default' (alsa)
Channels       : 2
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:02.47 [00:00:00.00] Out:115k  [  -===|      ] Hd:2.3 Clip:0    ^C
Aborted.

Прослушиваем запись
$ aplay output.wav
Playing WAVE 'output.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

На самом деле запись не стерео, а моно, поскольку встроенный микрофон монофонический, о чём говорил индикатор уровня rec во время записи.
Опция параметр
-с 1
для rec, будет выполнять моно запись:
$ rec -c 1 output.wav
rec WARN alsa: can't encode 0-bit Unknown or not applicable

Input File     : 'default' (alsa)
Channels       : 1
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:06.83 [00:00:00.00] Out:319k  [  ====|====  ]        Clip:0    ^C
Aborted.
$ aplay output.wav
Playing WAVE 'output.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн kras

  • Давно тут
  • **
  • Сообщений: 56
Re: Simply p8. Не записывает sox
« Ответ #9 : 07.10.2017 20:35:22 »

А это точно устройство по-умолчанию?
...

Вот что у меня (сразу):

$ cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xd000c000 irq 27

$ cat /proc/asound/modules
 0 snd_hda_intel

$  amixer -c0 sset 'Mic' unmute 90%
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 28 [90%] [7.50dB] [on]
  Front Right: Playback 28 [90%] [7.50dB] [on]

$ amixer get Mic
amixer: Unable to find simple control 'Mic',0

$ amixer get 'Mic'
amixer: Unable to find simple control 'Mic',0

$ rec -r 8000 -c 1 sound2kill.wav
rec FAIL sox: Sorry, there is no default audio device configured

$ :(


Спасибо!
Очень много инфы. Остальное внимательно посмотрю в понедельник.


Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #10 : 07.10.2017 21:03:43 »
Список имеющихся контролов
$ amixer scontrols

Подробное состояние контролов
$ amixer scontents

Список имеющихся контролов для аудиокарты 1 (0 - дефолтная аудиокарта)
$ amixer -с 1 scontrols
(неприменимо для rec:  для rec эта опция устанавливает количество каналов, - 1 моно, 2 стерео)


rec FAIL sox: Sorry, there is no default audio device configured
rec FAIL sox: Извините, не настроено устройство по-умолчанию

Нужно понять что за аудиоустройство
Например
$ lspci -knn|grep -A2 Audio
00:1e.2 Multimedia audio controller [0401]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller [8086:266e] (rev 03)
Subsystem: Hewlett-Packard Company NX6110/NC6120 [103c:099c]
Kernel driver in use: snd_intel8x0
[8086:266e]
[vendor:device]
# hwinfo --sound|grep -v Unique
27: PCI 1e.2: 0401 Multimedia audio controller
  [Created at pci.366]
  SysFS ID: /devices/pci0000:00/0000:00:1e.2
  SysFS BusID: 0000:00:1e.2
  Hardware Class: sound
  Model: "Hewlett-Packard Company NX6110/NC6120"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x266e "82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller"
  SubVendor: pci 0x103c "Hewlett-Packard Company"
  SubDevice: pci 0x099c "NX6110/NC6120"
  Revision: 0x03
  Driver: "snd_intel8x0"
  Driver Modules: "snd_intel8x0"
  I/O Ports: 0x2100-0x21ff (rw)
  I/O Ports: 0x2200-0x223f (rw)
  Memory Range: 0xd0581000-0xd05811ff (rw,non-prefetchable)
  Memory Range: 0xd0582000-0xd05820ff (rw,non-prefetchable)
  IRQ: 21 (1868489 events)
  Module Alias: "pci:v00008086d0000266Esv0000103Csd0000099Cbc04sc01i00"
  Driver Info #0:
    Driver Status: snd_intel8x0 is active
    Driver Activation Cmd: "modprobe snd_intel8x0"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Все id вендоров
http://pci-ids.ucw.cz/read/PC?restrict=

8086:266e vendor:device, вендор 8086 - Intel, ищем id устройства 266e и что это за устройство
https://pci-ids.ucw.cz/read/PC/8086
Цитировать
Main -> PCI Devices -> Vendor 8086
Name: Intel Corporation
Devices
...
266e   82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
...

https://pci-ids.ucw.cz/read/PC/8086/266e
Цитировать
Main -> PCI Devices -> Vendor 8086 -> Device 8086:266e
Name: 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
Discussion
Name: 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller
jdgaston
2004-07-02 11:18:28
Subsystems
103c 099c   NX6110/NC6120
« Последнее редактирование: 07.10.2017 22:02:12 от Speccyfighter »
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 7 234
  • UNIX System V init
Re: Simply p8. Не записывает sox
« Ответ #11 : 08.10.2017 11:41:04 »
В контексте предыдущего ответа:

Когда появится возможность опознать аудиоустройство, дальше определить модель
https://www.kernel.org/doc/Documentation/sound/hd-audio/models.rst
https://www.kernel.org/doc/html/v4.13/sound/hd-audio/models.html
https://www.kernel.org/doc/Documentation/sound/hd-audio/notes.rst

и править
/etc/modprobe.d/alsa-modindex.conf

на предмет id, model, index, чтобы правильно сконфигурировать аудиоустройство.

Устройство аудио не опознано:
$ cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xd000c000 irq 27
ZX Spectrum 128K
Привет от NM:  # echo -e "\n[device]\nwifi.scan-rand-mac-address=no" >> /etc/NetworkManager/NetworkManager.conf

Оффлайн kras

  • Давно тут
  • **
  • Сообщений: 56
Re: Simply p8. Не записывает sox
« Ответ #12 : 09.10.2017 22:49:37 »
Мой Ноутбук acer Aspire 1640Z
имеет одну карту:
$ cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xd000c000 irq 27
Она же по умолчанию (!).

$ cat /etc/modprobe.d/alsa-modindex.conf
## spare index=0 for a hotplug soundcard (if any)
#options snd-usb-audio index=0

## offset HDMI output compared to onboard audio (#28648)
#options snd_hda_codec_hdmi index=2,3
#options snd_hda_intel index=2,3

#options snd_intel8x0 index=2
#options snd_via82xx index=2
#options snd-bt87x index=3
#options snd_intel8x0m index=4
#options snd-atiixp-modem index=4
#options snd-via82xx-modem index=4

## get PC speaker out of the way
options snd_pcsp index=10

$ lspci -knn|grep -A2 Audio
00:1b.0 Audio device [0403]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller [8086:2668] (rev 04)
Subsystem: Acer Incorporated [ALI] Device [1025:009e]
Kernel driver in use: snd_hda_intel

Получается ID -
8086:2668

Смотрим
$ cat /proc/asound/pcm
00-00: ALC883 Analog : ALC883 Analog : playback 1 : capture 1
00-01: ALC883 Digital : ALC883 Digital : playback 1
00-02: ALC883 Alt Analog : ALC883 Alt Analog : capture 1

Похоже что модель -
ALC883

Как изменить /etc/modprobe.d/alsa-modindex.conf чтобы sox опознавал устройство?