Linux Forum Казахстан

Общий => Вопрос новичка => Тема начата: beelzebubbie от 18 Июня 2010, 00:40

Название: Sabayon и звук
Отправлено: beelzebubbie от 18 Июня 2010, 00:40
Сразу оговорюсь, мне трудно правильно сформулировать вопрос - насколько, оказывается, поддержка звука в Sabayon отличается от поддержки звука в Win. Попытаюсь тогда привести побольше вводных данных:

HTPC собран на GA-E7AUM-DS2H. там 2 звуковых контроллера - один интегрирован в чипсет GeForce 9400 (выход через HDMI) а другой Realtek ALC 889A с выходом SPDIF (есть и другие аудиовыходы, но я ими не пользуюсь). SPDIF подключен к 5,1 ресиверу. В Win все было просто - основным устройством вывода был назначен Realtek, включен SPDIF выход и выбрано 5.1 ну и мелочи типа частоты дискретизации итд. В основном я использовал XBMC, там настройка тоже была проста. В результате на ресивере был звук такой же канальности как и в источнике, громкость управлялась XBMC. То есть все было правильно и логично.

Теперь о том, как выглядят звуковые дела в Sabayon: lspci показывает 1 устройство звука - nvidia HDA (сразу возник вопрос #1- почему?) , kcmshell4 sound показывает Card Config: HDA nvidia, Audio Devices: ALC 889A, Mixer: ALC 889A если в биосе выключено HDMI Audio и HDA nvidia если HDMI Audio включено. (Вопрос #2 - почему эти контроллеры логически объединены под эгидой Nvidia?). В KMix дела понятнее не обстоят - там можно вытащить в конфигурации каналов IEC958 и IEC958 Default PCM. После перезагрузки они иногда пропадают и их надо снова вытаскивать и включать. В VLC плеере звук есть (если Mixer ALC 889A, то в KMix звук регулируется каналом PCM, если Mixer NVIDIA, то звук в KMix не регулируется - тоже совсем непонятно). 

Перейдем к XBMC. Там из аудионастроек основной является Analog либо Digital sound. Если включаем Digital и passthru устройство стоит iec958 - все нормально, вот только громкость не регулируется потому что passthru. если ставим Analog то получаем регулируемый по громкости только стерео звук, устройство default или вручную написанное iec958 - без разницы. Я вас уже достаточно запутал?   /blush.gif\' class=\'bbc_emoticon\' alt=\':blush:\' />

Тогда главный вопрос встает сам собой - как получить регулируемый звук на SPDIF с правильными каналами, как настраивать выходную частоту дискретизации и прочие нюансы и главное - ЧЕМ все это делать?

Спасибо всем, кто дочитал  /wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />
Название: Sabayon и звук
Отправлено: hedgeven от 18 Июня 2010, 08:29
ппц, я запутался.... /wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />
надо подумать, со звуком глубоко не заморачивался в linux.
но для начала покажите:
lspci -k(про аудио устройства)
aplay -L
aplay -l
eix pulse
Название: Sabayon и звук
Отправлено: hedgeven от 18 Июня 2010, 08:48
вот совет из документации (http://www.gentoo.org/doc/ru/alsa-guide.xml)

ЦитироватьНесколько звуковых карт

Вы можете использовать больше одной звуковой карты, при условии что вы собрали ALSA как модули ядра (или из пакета alsa-driver). Сначала в файле /etc/modules.d/alsa вам следует лишь указать, какая из карт должна быть запущена первой. В этом файле карты идентифицируются по именам своих драйверов. 0 означает первую карту, 1 -- вторую, и так далее. Вот пример для системы, в которой присутствуют две звуковые карты.

Листинг 4.8: Две карты в файле /etc/modules.d/alsa
options snd-emu10k1 index=0
options snd-via82xx index=1
Или если у вас две карты, использующие один и тот же драйвер, то их следует указать на одной строке, разделяя цифры запятой. Ниже приведён пример системы, в которой установлено три звуковые карты, две из которых являются картами Intel High Definition Audio.

Листинг 4.9: Несколько звуковых карт в /etc/modules.d/alsa
options snd-ymfpci index=0
options snd-hda-intel index=1,2
Название: Sabayon и звук
Отправлено: beelzebubbie от 18 Июня 2010, 13:42
Чтобы упростить задачу, я выключил в биосе HDMI audio

lspci -k:
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
    Subsystem: Giga-byte Technology Device a102
    Kernel driver in use: HDA Intel
     Kernel modules: snd-hda-intel

aplay -L:
pulse
    Playback/recording through the PulseAudio sound server
front:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Analog
    Front speakers
surround40:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
    HDA NVidia, ALC889A Digital
     IEC958 (S/PDIF) Digital Audio Output

aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC889A Analog [ALC889A Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC889A Digital [ALC889A Digital]
  Subdevices: 1/1
Subdevice #0: subdevice #0
 
eix у меня в системе отсутствует. Из выводов команд я так понял, что теперь в системе 2 устройства вывода - ALC889A аналог и цифра. Опять везде NVidia (наверное Realtek теперь ей принадлежит   /tongue.gif\' class=\'bbc_emoticon\' alt=\':P\' /> )
Название: Sabayon и звук
Отправлено: hedgeven от 18 Июня 2010, 14:17
как раз наткнулся на подобную темку (http://www.gentoo.ru/content/ustanovka-razryadnosti-i-chastoty-diskretizacii-cifrovogo-audiopotoka).
а можно еще вывод
cat /etc/asound.conf
cat ~/.asoundrc
настройка выходной частоты и пр. настраивается в них, вроде бы...)


add: так как у вас уже настроен в системе pulseaudio, мне кажется не стоит ковырять alsa
вот сайт (http://pulseaudio.org/wiki/Documentation) с документацией

ЦитироватьI have a surround sound card, but PulseAudio uses just the front speakers!

    Many people have a surround card, but have speakers for just two channels, so PulseAudio can't really default to a surround setup. To enable all the channels, edit /etc/pulse/daemon.conf: uncomment the default-sample-channels line (i.e. remove the semicolon from the beginning of the line) and set the value to 6 if you have a 5.1 setup, or 8 if you have 7.1 setup etc. After doing the edit, restart pulseaudio.
Название: Sabayon и звук
Отправлено: beelzebubbie от 18 Июня 2010, 16:03
ЦитироватьIf the PulseAudio plugin for alsalibs is installed all applications with support for the ALSA API should be able to access a PulseAudio server. You need version 1.0.12 or newer of the ALSA packages for the PulseAudio plugin to be included.
To activate the driver edit /etc/asound.conf or ~/.asoundrc and add:
Этих файлов у меня нет. If the PulseAudio plugin for alsalibs is installed - а как это узнать и установить если не установлено?
Название: Sabayon и звук
Отправлено: hedgeven от 18 Июня 2010, 16:50
хммм... завтра отвечу)
Название: Sabayon и звук
Отправлено: beelzebubbie от 23 Июня 2010, 01:57
Цитата: hedgeven от 18 Июня 2010, 16:50хммм... завтра отвечу)

Проблему самостоятельно решить не удалось - так что падавану придется обращаться к Учителю   /rolleyes.gif\' class=\'bbc_emoticon\' alt=\':rolleyes:\' /> Откуда и куда копать, я так и не знаю...
Название: Sabayon и звук
Отправлено: hedgeven от 24 Июня 2010, 10:05
мне не хватит опыта, чтобы сказать как сделать. чтобы приобрести опыт нужно такое оборудование под рукой(тоже нету). хотя жутко интересно в этом разобраться.
пробовали писать на gentoo.ru?
Название: Sabayon и звук
Отправлено: beelzebubbie от 25 Июня 2010, 01:17
Цитата: hedgeven от 24 Июня 2010, 10:05мне не хватит опыта, чтобы сказать как сделать. чтобы приобрести опыт нужно такое оборудование под рукой(тоже нету). хотя жутко интересно в этом разобраться.
пробовали писать на gentoo.ru?
если есть время, давайте попробуем разобраться вместе. в конце концов могу и к терминалу доступ пробросить. на gentoo.ru попробую написать - на sabayon.org ответа не дождался.
Название: Sabayon и звук
Отправлено: beelzebubbie от 25 Июня 2010, 19:28
 Вот, наконец-таки стронулось с мертвой точки: http://www.gentoo.ru...nastroyke-zvuka
Название: Sabayon и звук
Отправлено: beelzebubbie от 26 Июня 2010, 00:47
### Кое что нашел - http://sonosaurus.com/ac3jack/ (http://sonosaurus.com/ac3jack/) Сможет ли Оби помочь в установке и тестировании этого?   /cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />

оставить на потом если не выйдет с ALSA A52_plugin
Название: Sabayon и звук
Отправлено: beelzebubbie от 26 Июня 2010, 04:46
вот http://www.alsa-proj....php/A52_plugin (http://www.alsa-project.org/main/index.php/A52_plugin) вроде бы то что нужно.

1. Я затрудняюсь определить, установлен ли он у меня. Как это сделать?
2. нужно сконфигурировать ALSA для использования плагина. Нужна помощь. Вот инструкция:
[size="1"]A52 OUTPUT PLUGIN
=================

This plugin converts S16 linear format to A52 compressed stream and
send to an SPDIF output.  It requires libavcodec for encoding the
audio stream.

A PCM using this plugin can be defined like below:

    pcm.myout {
        type a52
    }

In addition, the following options are available:

- The "card" option specifies the card ID or number of the SPDIF.
  The output PCM becomes "iec958:{CARD=$CARD}" with extra AESx
  settings.  When omitted, the default card is used.

- The "slavepcm" option specifies a string of the slave PCM
  explicitly.  This is useful if a device has no proper SPDIF
  configuration (e.g. usb-audio), or if you want to pass your own PCM
  definition.  This option is exclusive with "card" option.

- The "rate" option specifies the input/output sample rate in HZ.
  The accepted rate is either 44100 or 48000.
  When omitted, 48000 is used.

- The "channels" option specifies the number of _input_ channels.
  It must be either 2, 4 or 6.  The default value is 6.

- The "bitrate" option specifies the bit-rate of the compressed
  stream in kbps.  Too small or too big value may not be accepted by
  the encoder.  When omitted, 448 is used.

- The "format" option specifies the output format type.  It's either
  S16_LE or S16_BE.  As default, S16_LE is used.

An example using the secondary card, 44.1kHz, 4 channels, output
bitrate 256kbps and output format S16_BE looks like below:

    pcm.myout {
        type a52
        card 1
        rate 44100
        channels 4
        bitrate 256
        format S16_BE
    }

For using slavepcm option,

    pcm.mypcm {
        card 1
        device 2
    }

    pcm.myout {
        type a52
        slavepcm "mypcm"
    }


The plugin reads always S16 format (i.e. native-endian) as input, so
you'd need plug layer appropriately to covert it.
[/size]
Название: Sabayon и звук
Отправлено: hedgeven от 26 Июня 2010, 07:29
Цитата: beelzebubbie от 26 Июня 2010, 00:47### Кое что нашел - http://sonosaurus.com/ac3jack/ (http://sonosaurus.com/ac3jack/)
а для этого плагина придется настраивать звуковой сервер jack вместо pulseaudio, хотя может оно и решит проблемы
тут все есть в портэжах.

eix aften
* media-libs/aften
     Available versions:  0.0.8 **9999[1] {cxx}
     Homepage:            http://aften.sourceforge.net/
     Description:         An A/52 (AC-3) audio encoder

[1] "proaudio" layman/pro-audio

eix ac3jack
* media-sound/ac3jack [1]
     Available versions:  (~)0.1.2 (~)2.0.3
     Homepage:            http://essej.net/ac3jack/
     Description:         Tool for creating an AC-3 (Dolby Digital) multichannel stream from its JACK input ports

[1] "proaudio" layman/pro-audio


Цитата: beelzebubbie от 26 Июня 2010, 04:46вот http://www.alsa-proj....php/A52_plugin (http://www.alsa-project.org/main/index.php/A52_plugin) вроде бы то что нужно.

1. Я затрудняюсь определить, установлен ли он у меня. Как это сделать?
вам нужно установить пакетным менеджером alsa-plugins, a52 туда  входит

  usr/lib64/alsa-lib/libasound_module_pcm_a52.so
   usr/lib64/alsa-lib/libasound_module_pcm_vdownmix.so
   usr/lib64/alsa-lib/libasound_module_pcm_oss.so
   usr/lib64/alsa-lib/libasound_module_ctl_oss.so
   usr/lib64/alsa-lib/libasound_module_pcm_upmix.so
   usr/lib64/alsa-lib/libasound_module_pcm_usb_stream.so
   usr/lib64/alsa-lib/libasound_module_ctl_arcam_av.so
   usr/lib64/alsa-lib/libasound_module_rate_lavcrate.so

так же a52 может быть включен глобально для приложений в make.conf. информация о нем (http://www.calculate-linux.org/packages/flags/a52).
Название: Sabayon и звук
Отправлено: beelzebubbie от 26 Июня 2010, 13:35
Цитата: hedgeven от 26 Июня 2010, 07:29вам нужно установить пакетным менеджером alsa-plugins, a52 туда  входит

   usr/lib64/alsa-lib/libasound_module_pcm_a52.so
   usr/lib64/alsa-lib/libasound_module_pcm_vdownmix.so
   usr/lib64/alsa-lib/libasound_module_pcm_oss.so
   usr/lib64/alsa-lib/libasound_module_ctl_oss.so
   usr/lib64/alsa-lib/libasound_module_pcm_upmix.so
   usr/lib64/alsa-lib/libasound_module_pcm_usb_stream.so
   usr/lib64/alsa-lib/libasound_module_ctl_arcam_av.so
   usr/lib64/alsa-lib/libasound_module_rate_lavcrate.so
так же a52 может быть включен глобально для приложений в make.conf.


что пишет emerge: 

media-plugins/alsa-plugins-1.0.23-r1 was built with the following:
USE="ffmpeg jack libsamplerate pulseaudio speex -debug"

a52 есть в make.conf, я пробовал и USE="a52" emerge.... все равно не вижу что он сработал)) как это вообще узнать?

Мне пишут, что
ЦитироватьUSE index подсказывает, что есть одноимённый USE-флаг a52.
Я бы начал с глобального выставления этого флага (и пересборки мира с опцией --newuse).
что есть пересборка мира?



а по поводу таких конструкций:     pcm.myout {
        type a52
        card 1
        rate 44100
        channels 4
        bitrate 256
        format S16_BE
    }

это что такое и где про это почитать?