LINUX.ORG.RU

Проблемы с Alsa. Помогите разобраться


0

0

Ubuntu 10.04 X-fi xtreme audio Удалил Pulse audio по этой инструкции, после чего работало 2 канала. Сделал так:

Для того, чтобы задействовать в Ubuntu сразу все 5-ть колонок, то проделываем следющее:

1. Запускаем Терминал (Приложения -> Стандартные -> Терминал) 2. Вводим в нем следующие строки:

Код: gedit ~/.asoundrc

3. Затем в открывшемся файле делаем следующую запись:

Код: pcm.!default { type plug slave.pcm «surround51» slave.channels 6 route_policy duplicate }

и сохраняем его

После чего заработали все колонки, стерео делится.

Но есть пара проблем:

1. В один момент времени может проигрываться звук только из одного источника. Когда играет музыка, все остальные звуки не работают(самая главная проблема).

2. 5.1 звук в фильмах выставляется только вручную в VLC плеере. По умолчанию играют все каналы, но в стерео.

3. В играх (пробовал Quake4 и Enemy Territory - Quake Wars) звук прерывается/заикается/щёлкает. Звук в играх тоже стерео.

Как это исправить? Подскажите.


Ответ на: комментарий от Led

dmix

Зачем dmix, если у него звуковая карта с аппаратным микшированием?

Может быть, неправильный модуль загружен?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

А-а... теперь вижу. Это ж надо так безграмотно писать без знаков препинания - хрен заметишь:)

Тогда, похоже, ТС пытается снимать звук с OSS?

Led ★★★☆☆
()

Когда играет музыка, все остальные звуки не работают(самая главная проблема).

Лечится полным переписыванием .asoundrc, вот так. Ошибка была в том, что в твоем определении pcm.!default не участвовал dmix.

pcm.!default {
    type asym
    playback.pcm {
        type upmix
        channels 6
        slave.pcm {
            type plug
            slave.pcm {
                type dmix
                ipc_key 1024
                slave.pcm "hw:0,0"
                slave.channels 6
                # slave.rate 48000  # по умолчанию 48000
                # slave.format "S32_LE"   # по умолчанию S16_LE
                # period_size 4096  # этот и следующий параметр надо
                # periods 8         # подобрать, чтобы не квакало
            }
        }
    }
    capture.pcm "dsnoop:0,0"
}

pcm.dsp0 pcm.default

2. 5.1 звук в фильмах выставляется только вручную в VLC плеере. По умолчанию играют все каналы, но в стерео.

Так и задумано. Откуда плееру знать, что у тебя на самом деле 6 колонок, а не звуковая карта 5.1, к которой подключены стереодинамики? В mplayer надо либо в командной строке прописать -channels 6, либо в конфиге channels=6.

3. В играх (пробовал Quake4 и Enemy Territory - Quake Wars) звук прерывается/заикается/щёлкает. Звук в играх тоже стерео.

Здесь без дополнительной информации помочь не могу. Игры используют либо SDL (тогда надо поставить пакет libsdl1.2debian-alsa вместо libsdl1.2debian-pulseaudio или libsdl1.2debian-all), либо напрямую OSS (тогда можно попробовать пускать игру через aoss, но не факт, что заработает).

AEP ★★★★★
()
Ответ на: комментарий от AEP

Да что вы все путаете человека dmix'ом? Еще раз повторю: ему dmix не нужен, т.к. у карточки есть аппаратное микширование.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Led

Тогда, похоже, ТС пытается снимать звук с OSS?

У меня еще в ASP 11.2 звук шел только через oss, без alsa - ровно и четко распределялся на все 5.1 (между прочим, до недавнего времени mplayer у меня тоже играл через oss, т.к. alsa криво распределяла звук).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AEP

Сделал так, ситуация поправилась, только звук теперь во фронтальных колонках, не дублирует стерео на остальные каналы. Как задействовать их?

Abk
() автор топика
Ответ на: комментарий от Eddy_Em

> Да что вы все путаете человека dmix'ом? Еще раз повторю: ему dmix не нужен, т.к. у карточки есть аппаратное микширование.

Посмотрел код - действительно, есть.

http://git.alsa-project.org/?p=alsa-kernel.git;a=blob;f=sound/pci/ctxfi/ctpcm...

Поддерживается до 8 микшируемых потоков для воспроизведения через аналоговые выходы (это четвертый параметр для snd_pcm_new()). Тем не менее, у топикстартера это почему-то не сработало.

AEP ★★★★★
()
Ответ на: комментарий от Abk

> Сделал так, ситуация поправилась, только звук теперь во фронтальных колонках, не дублирует стерео на остальные каналы. Как задействовать их?

Не знаю. Плугин «upmix» я честно вставил в цепочку. Давай проверим, что файл /usr/lib/alsa-lib/libasound_module_pcm_upmix.so существует. Потом скажи, в какие колонки шумят эти две команды:

speaker-test -c 6

speaker-test -c 2

(нужно, чтобы отделить проблему ALSA от проблемы плеера)

AEP ★★★★★
()
Ответ на: комментарий от Eddy_Em

Да что вы все путаете человека dmix'ом? Еще раз повторю: ему dmix не нужен, т.к. у карточки есть аппаратное микширование.

Как бы это аппаратное микширование задействовать?

Abk
() автор топика
Ответ на: комментарий от AEP

Не знаю. Плугин «upmix» я честно вставил в цепочку. Давай проверим, что файл /usr/lib/alsa-lib/libasound_module_pcm_upmix.so существует. Потом скажи, в какие колонки шумят эти две команды:

speaker-test -c 6

speaker-test -c 2

(нужно, чтобы отделить проблему ALSA от проблемы плеера)

Файл /usr/lib/alsa-lib/libasound_module_pcm_upmix.so существует.

speaker-test -c 6 - только левый и правый фронтальные каналы. Хотя проверял я этой командой при прошлых настройках - все каналы тестировались верно.

speaker-test -c 2 - левая и правая фронтальная колонка.

Abk
() автор топика
Ответ на: комментарий от Abk

Давай его проверим напрямую на стереозвуке.

В одном терминале запускаем шипелку:

speaker-test -c 2 -D «hw:0»

и пока шипит, в другом терминале запускаем пищалку:

speaker-test -t sine -c 2 -D «hw:0»

Если оно шипит и пищит одновременно - аппаратное микширование работает. Меня интересует, работает ли оно у топикстартера.

AEP ★★★★★
()
Ответ на: комментарий от Abk

Как бы это аппаратное микширование задействовать?

Попробуйте переустановить alsa, можно еще добавить oss и посмотреть, как будет работать. Странно, что у вас alsa не подхватила сразу звуковую карту. Модуль ядра то у вас правильный загружен?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Abk

> speaker-test -c 6 - только левый и правый фронтальные каналы. Хотя проверял я этой командой при прошлых настройках - все каналы тестировались верно.

А вместо пропавших каналов - просто тишина?

Если это не слетевший микшер (с зануленной громкостью колонок, отличных от фронтальных) - у тебя, похоже, карта железно притворяется состоящей из трех стереофонических частей, на каждую из которых нужен отдельный dmix.

Проверяем:

speaker-test -c 6 -D «hw:0,0»

Если вернет ошибку или будет шипеть только во фронтальные колонки - я прав.

AEP ★★★★★
()

>1. В один момент времени может проигрываться звук только из одного источника. Когда играет музыка, все остальные звуки не работают(самая главная проблема).

2. 5.1 звук в фильмах выставляется только вручную в VLC плеере. По умолчанию играют все каналы, но в стерео.

3. В играх (пробовал Quake4 и Enemy Territory - Quake Wars) звук прерывается/заикается/щёлкает. Звук в играх тоже стерео.

Как это исправить? Подскажите.

Установить PulseAudio обратно это простейший вариант.

Я серьезно, по первому пункту нет комментариев, pa для этого и создавалось.

По второму: pa автоматически выводит звук в зависимости от входного потока, если это стерео то делает upmix на все колонки, если это 5.1 то и выводит его как 5.1

В-третьих: такие игры всегда глючат из за неправильно подобранного размера буфера в dmix, как вариант можно использовать aoss, но зачем такие костыли если через pa все работает идеально.

Lucky1 ★★★
()
Ответ на: комментарий от Eddy_Em

Да что вы все путаете человека dmix'ом? Еще раз повторю: ему dmix не нужен, т.к. у карточки есть аппаратное микширование.

На сайте ALSA не написано, что дрова для его карточки поддерживают hwmix

mikki
()
Ответ на: комментарий от Eddy_Em

Нет там никакого аппаратного микширования. Это, всего лишь, перекрашенная Audigy SE, на чипе CA0106, по вашей же ссылке - «низкобюджетная карта, не содержащая в себе чипсет EMU20K1»

По теме: я использую пульсаудио, никаких проблем нет. Долго маялся с dmix - в итоге так и не смог избавиться от пощелкиваний.

sid350 ★★★★★
()
Ответ на: комментарий от sid350

Нет там никакого аппаратного микширования.

ТС не привел конкретных данных, что за модель у него - я и подумал, что на приличном чипе. Все-таки цена у этих x-fi довольно высокая - чип, по идее, должен быть приличным. Только не пойму, почему они стали так мало оперативки на ЗК размещать: приличный MIDI-банк иногда больше 100Мб занимает...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AEP

Сделал. Выдаёт:

Устройство для проигрывания - hw:0

Параметры потока - 48000Гц, S16_LE, 2 каналов

Частота синусоидальной волны - 440,0000Гц

Ошибка открытия устройства воспроизведения: -16,Устройство или ресурс занято

Строка об ошибке повторяется.

Abk
() автор топика
Ответ на: комментарий от AEP

А вместо пропавших каналов - просто тишина?

Да.

На speaker-test -c 6 -D «hw:0,0» выдал:

Устройство для проигрывания - hw:0,0 Параметры потока - 48000Гц, S16_LE, 6 каналов Используется 16 октав «розового» шума Количество каналов (6) недоступно для воспроизведения: Недопустимый аргумент Ошибка при установке hwparams: Недопустимый аргумент

Abk
() автор топика
Ответ на: комментарий от Lucky1

pa и снес потому что он глючил. При регулировании баланса и фейда начинал пищать высокочастотным шумом, при любой схеме с сабвуфером. От этого шума избавиться не смог. В играх звук отставал секунд на 20-25.

Abk
() автор топика
Ответ на: комментарий от Abk

> перекрашенная Audigy SE, на чипе CA0106

Количество каналов (6) недоступно для воспроизведения

Большое спасибо за диагностику. Дома (часа через два) попробую написать конфиг с dmix, но, как уже было сказано, может оказаться проще заставить корректно работать pulseaudio.

AEP ★★★★★
()
Ответ на: комментарий от Abk

При регулировании баланса и фейда начинал пищать высокочастотным шумом, при любой схеме с сабвуфером.

Возможно, глюк alsa: у меня если поставить галочку в alsamixer на «digital», все колонки начинают жутко пищать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Abk

Проба:

pcm.!default {
 type asym
 playback.pcm {
  type upmix
  channels 6
  slave.pcm {
   type plug
   slave.pcm {
    type multi
     slaves [
      {
        pcm {
         type dmix
         ipc_key 1024
         slave.pcm "hw:0,0"
         slave.channels 2
         # slave.rate 48000 # по умолчанию 48000
         # slave.format "S32_LE"
         # period_size 1024 # этот и следующий параметр надо
         # periods 8 # подобрать, чтобы не квакало
        }
        channels 2
      }
      {
        pcm {
         type dmix
         ipc_key 1025   # не уверен, может быть 1024
         slave.pcm "hw:0,1"
         slave.channels 2
         # скопировать остальные параметры из блока выше
        }
        channels 2
      }
      {
        pcm {
         type dmix
         ipc_key 1026   # не уверен, может быть 1024
         slave.pcm "hw:0,2"
         slave.channels 2
         # скопировать остальные параметры из блока выше
        }
        channels 2
      }
     ]
     bindings [
      { slave 0 channel 0 }
      { slave 0 channel 1 }
      { slave 1 channel 0 }
      { slave 1 channel 1 }
      { slave 2 channel 0 }
      { slave 2 channel 1 }
     ]
    }
   }
  }
  capture.pcm "dsnoop:0,0"
}
pcm.dsp0 pcm.default

AEP ★★★★★
()
Ответ на: комментарий от AEP

Потестировал. Звук выдает из нескольких источников. Распределяет по всем каналам. Иногда звук в задних колонках заикается. А в играх стабильно заикается звук во всех колонках (пробовал Quake4 и Enemy Territory - Quake Wars).

Abk
() автор топика
Ответ на: комментарий от Abk

т.е. единственная проблема - заикание? что будет, если поставить во всех трех секциях про dmix параметр period_size 16384? (по идее, должно перестать заикаться, но возрастет задержка)

AEP ★★★★★
()
Ответ на: комментарий от AEP

т.е. единственная проблема - заикание? что будет, если поставить во всех трех секциях про dmix параметр period_size 16384? (по идее, должно перестать заикаться, но возрастет задержка)

Да, заикание, пока заметил только это.

Посмотрите, я правильно прописал?

pcm.!default { 
 type asym 
 playback.pcm { 
  type upmix 
  channels 6 
  slave.pcm { 
   type plug 
   slave.pcm { 
    type multi 
     slaves [ 
      { 
        pcm { 
         type dmix 
         ipc_key 1024 
         slave.pcm "hw:0,0" 
         slave.channels 2 
         # slave.rate 48000 # по умолчанию 48000 
         # slave.format "S32_LE" 
         # period_size 1024 # этот и следующий параметр надо 
         # periods 8 # подобрать, чтобы не квакало
	 period_size 16384 
        } 
        channels 2 
      } 
      { 
        pcm { 
         type dmix 
         ipc_key 1025   # не уверен, может быть 1024 
         slave.pcm "hw:0,1" 
         slave.channels 2 
         # скопировать остальные параметры из блока выше 
	 period_size 16384
        } 
        channels 2 
      } 
      { 
        pcm { 
         type dmix 
         ipc_key 1026   # не уверен, может быть 1024 
         slave.pcm "hw:0,2" 
         slave.channels 2 
         # скопировать остальные параметры из блока выше 
	 period_size 16384
        } 
        channels 2 
      } 
     ] 
     bindings [ 
      { slave 0 channel 0 } 
      { slave 0 channel 1 } 
      { slave 1 channel 0 } 
      { slave 1 channel 1 } 
      { slave 2 channel 0 } 
      { slave 2 channel 1 } 
     ] 
    } 
   } 
  } 
  capture.pcm "dsnoop:0,0" 
} 
pcm.dsp0 pcm.default 
Abk
() автор топика
Ответ на: комментарий от Abk

вроде правильно. давай проверим, что применилось - во время проигрывания музыки сделай cat /proc/asound/card0/pcm1p/sub0/hw_params и вывод вставь сюда

AEP ★★★★★
()
Ответ на: комментарий от AEP

sorry за офтоп, ради интереса посмотрел у себя:

access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 2048
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 2048
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4096
buffer_size: 16384
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 16384
closed
closed
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 16384
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 16384
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
Оказывается, alsa считает 5.1 тремя разными потоками o_O. Не знал...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AEP

Тест speaker-test -c 6 выдает: Ошибка открытия устройства воспроизведения: -22,Недопустимый аргумент ALSA lib pcm_direct.c:1657:(snd1_pcm_direct_parse_open_conf) Unknown field period_size

Abk
() автор топика
Ответ на: комментарий от Abk

> В таком виде играет только стерео.

А вот это уже интересно - оно с опечаткой не должно было играть вообще ничего. Прошу указать программу, которая не молчит - надо будет разобраться, чем она пользуется. Если при конфиге с опечаткой aplay -vv -f cd /dev/zero (т.е. «играть тишину») не завершается сразу с ошибкой - вывод в студию.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Пробовал плеером VLC, вывод через ALSA.

vrx@vrx-desktop:~$ aplay -vv -f cd /dev/zero
Воспроизведение Сырые данные '/dev/zero' : Signed 16 bit Little Endian, Частота 44100 Гц, Стерео
Upmix Plugin
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 15052
  period_size  : 7526
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 7526
  period_event : 0
  start_threshold  : 15052
  stop_threshold   : 15052
  silence_threshold: 0
  silence_size : 0
  boundary     : 986447872
Slave: Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: libspeex (builtin)
Protocol version: 10002
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 6
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 15052
  period_size  : 7526
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 7526
  period_event : 0
  start_threshold  : 15052
  stop_threshold   : 15052
  silence_threshold: 0
  silence_size : 0
  boundary     : 986447872
Slave: Multi PCM
  Channel bindings:
    0: slave 0, channel 0
    1: slave 0, channel 1
    2: slave 1, channel 0
    3: slave 1, channel 1
    4: slave 2, channel 0
    5: slave 2, channel 1
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_NONINTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 6
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 16384
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
Slave #0: Direct Stream Mixing PCM
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 16384
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
Hardware PCM card 0 'CA0106' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : ENABLE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 1073741824
  silence_threshold: 0
  silence_size : 1073741824
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
Slave #1: Direct Stream Mixing PCM
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 16384
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
Hardware PCM card 0 'CA0106' device 1 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : ENABLE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 1073741824
  silence_threshold: 0
  silence_size : 1073741824
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
Slave #2: Direct Stream Mixing PCM
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 16384
  stop_threshold   : 16384
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
Hardware PCM card 0 'CA0106' device 2 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 16384
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : ENABLE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 1073741824
  silence_threshold: 0
  silence_size : 1073741824
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
#+                                                 | 00%
Abk
() автор топика
Ответ на: комментарий от Abk

а ты уверен, что игры пользуются alsa? самый верный способ проверить - это испортить .asoundrc, добавив туда в начало строчку «this line should break sound» или сделав другую грубую синтаксическую ошибку.

AEP ★★★★★
()
Ответ на: комментарий от Abk

1. Я просил с битым конфигом

2. Видно, что настройка не применилась до конца из-за аппаратных (?) ограничений на размер буфера - т.е. лучше уже не сделать, надо понижать задержки в ядре. Чтобы их понизить, надо их найти с помощью программы latencytop.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Походу дела все таки используют. После ввода ошибки звук в играх пропал напрочь.

Abk
() автор топика
Ответ на: комментарий от AEP

С битым конфигом:

vrx@vrx-desktop:~$ aplay -vv -f cd /dev/zero
ALSA lib pcm_direct.c:1657:(snd1_pcm_direct_parse_open_conf) Unknown field period_size
aplay: main:608: ошибка открытия аудио-устройства: Недопустимый аргумент

Abk
() автор топика
Ответ на: комментарий от AEP

Проигрываю музыку через VLC, ставлю на паузу потом воспроизвожу и звук начинает заикаться, задние колонки отваливаются.

Как Вы думаете, может довести до ума Pulseaudio будет лучше?

Abk
() автор топика
Ответ на: комментарий от Abk

> Проигрываю музыку через VLC, ставлю на паузу потом воспроизвожу и звук начинает заикаться, задние колонки отваливаются.

В архитектуре, когда 6-канальная звуковая карта составляется из трех стереофонических, это практически неизбежно.

Как Вы думаете, может довести до ума Pulseaudio будет лучше?

Вряд ли. Судя по Вашему же первому посту (заикание в играх без всякого микширования!) проблема глубже в ядре, и замена dmix на pulseaudio вряд ли поможет. Я бы порекомендовал купить карту с менее глючным драйвером, но конкретную рекомендацию дать не могу. У меня набортный Intel HDA (с кодеком SigmaTel STAC9227).

А пока можно попробовать спрятать проблему. Это будет сделано в три попытки.

1. Проверить, не связано ли заикание с потерянными прерываниями. Для этого написать во всех трех кусках про dmix:

slave.period_size 512 # или еще меньше

slave.periods 32 # или еще больше

Сказать, что изменилось.

2. Переставить карту в другой слот.

3. Дождаться, пока я прочитаю доки по pulseaudio.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Вряд ли. Судя по Вашему же первому посту (заикание в играх без всякого микширования!) проблема глубже в ядре, и замена dmix на pulseaudio вряд ли поможет.

В первом посте речь шла об Alsa а не Pulseaudio. С ним проблемы были в запаздывании звука в играх секунд на 20-30 и писк в колонках при попытке регулировать баланс или fade.

Проверить, не связано ли заикание с потерянными прерываниями. Для этого написать во всех трех кусках про dmix:

slave.period_size 512 # или еще меньше

slave.periods 32 # или еще больше

Сказать, что изменилось.

Звук нормально заработал, погонял, проблем пока не заметил, кроме того, что в играх звук вообще пропал.

Abk
() автор топика
Ответ на: комментарий от Abk

> Звук нормально заработал, погонял, проблем пока не заметил, кроме того, что в играх звук вообще пропал.

Ага, теряются прерывания (т.е. нужно periods > 2). Для восстановления звука в играх period_size придется увеличить (но не уверен). Предлагаю тебе самостоятельно подобрать циферки, чтобы все заработало. Только после каждого изменения обязательно проверять, что они применяются:

cat /proc/asound/card0/pcm0p/sub0/hw_params

Значение period_size должно быть ровно то, которое выставляли, а buffer_size - в periods раз больше. И period_size, и periods обязаны быть степенями двойки.

Если такая подгонка не поможет - возьмемся за pulseaudio.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Увеличил period_size до 1024 и звук заработал. Пока никаких недочетов замечено не было, все работает хорошо. Спасибо Вам огромное. =)

Abk
() автор топика
Ответ на: комментарий от Eddy_Em

Еще одна железяка добавлена в список некошерных.

Карта переехала в список халяльных. =))

Abk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.