LINUX.ORG.RU
ФорумTalks

alsa, flash, busy... похоже, в Linux эта музыка будет вечной :)


0

0

Блин, жопа. Запутался уже в экспериментах с конфигом.

Как совместить alsa+dmix+5.1 звук?

А то либо вообще не пашет, либо пашет, но только с одним источником. Firefox/Flash запустишь, QuodLibet уже музыку не канает...

У кого-нить есть готовый пример конфига?

★★★★★

Какая звуковая карта? Если разные пары каналов идут как разные hw-устройства (т.е. hw:0,0 - одна пара колонок; hw:0,1 - вторая пара и т.п.), то никак. Или по крайней мере полтора года назад было никак. В таких случаях поможет pulseaudio или jack. Если все шесть каналов в одном девайсе, то ничего сложного, сейчас постараюсь изобразить примерный конфиг...

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

>Какая звуковая карта?

intel-hda - 82801JI

>Если разные пары каналов идут как разные hw-устройства (т.е. hw:0,0 - одна пара колонок; hw:0,1 - вторая пара и т.п.), то никак.

Нет, вроде, устройство только одно. hw:0,0.

Последний рабочий конфиг (но с busy-проблемами) такой:

pcm.ch51dup {
slave.pcm "surround51"
slave.channels 6
type route
ttable.0.0 1 #front left
ttable.1.1 1 #front right
ttable.2.2 1 #rear left
ttable.3.3 1 #rear right
ttable.4.4 1 #center
ttable.5.5 1
}

pcm.ch2 {
slave.pcm "surround2.0"
slave.channels 2
type route
ttable.0.0 1 #front left
ttable.1.1 1 #front right
}

pcm.!default {
type plug
slave.pcm ch51dup
}

Игры с этой системой описывал тут: http://www.linux.org.ru/view-message.jsp?msgid=3351338

...

Нашёл сейчас, вроде, подходящий вариант на http://alsa.opensrc.org/index.php/Dmix (Stereo to 5.1 Upmixing, dmixing .asoundrc), но пока рылся, дочка заснула, так что эксперименты отложу до её просыпания :)

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

Нашёл свой конфиг для ICH5 в бэкапе:

# Hardware                              

pcm.main {
        type hw
        card "ICH5"
}                  

ctl.main {
        type hw
        card "ICH5"
}                  

# Software mixing

pcm.main_mix {
        type dmix

        ipc_key 1024
        ipc_perm 0666

        slave.pcm "main"
        slave.channels 6                                                                                                                                     
}                                                                                                                                                            

# Rate conversion

pcm.main_plug {
        type plug

        slave.pcm "main_mix"
        slave.channels 6    
}                           

# Subwoofer

pcm.main_lowpass {
        type lfloat

        slave.pcm {
                type ladspa

                path "/usr/lib/ladspa"

                slave.pcm {
                        type lfloat

                        slave.pcm "main_plug"
                        slave.format S16     
                }                            

                channels 6

                plugins {
                        0 {
                                label identity_audio
                                policy duplicate    
                                input.bindings.0 "Input"
                                output.bindings.0 "Output"
                        }                                 
                        1 {                               
                                label lp4pole_fcrcia_oa   
                                policy none               
                                input.bindings.5 "Input"  
                                output.bindings.5 "Output"
                                input {                   
                                        controls [ 150 0 ]
                                }                         
                        }                                 
                }                                         
        }                                                 
        slave.format FLOAT                                
}                                                         

# Upmix and downmix

pcm.main_10 {
        type route

        slave.pcm "main_lowpass"
        slave.channels 6        

        ttable.0.0 1
        ttable.0.1 1
        ttable.0.2 1
        ttable.0.3 1
        ttable.0.4 1

        ttable.0.5 1
}                   

pcm.main_20 {
        type route

        slave.pcm "main_lowpass"
        slave.channels 6        

        ttable.0.0 1
        ttable.0.2 1
        ttable.0.4 0.5

        ttable.1.1 1
        ttable.1.3 1
        ttable.1.4 0.5

        ttable.0.5 0.5
        ttable.1.5 0.5
}                     

pcm.main_21 {
        type route

        slave.pcm "main_plug"
        slave.channels 6     

        ttable.0.0 1
        ttable.0.2 1
        ttable.0.4 0.5

        ttable.1.1 1
        ttable.1.3 1
        ttable.1.4 0.5

        ttable.2.5 1
}                   

pcm.main_40 {
        type route

        slave.pcm "main_lowpass"
        slave.channels 6        

        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1

        ttable.0.4 0.5
        ttable.1.4 0.5

        ttable.0.5 0.25
        ttable.1.5 0.25
        ttable.2.5 0.25
        ttable.3.5 0.25
}                      

pcm.main_41 {
        type route

        slave.pcm "main_plug"
        slave.channels 6     

        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1

        ttable.0.4 0.5
        ttable.1.4 0.5

        ttable.4.5 1
}                   

pcm.main_50 {
        type route

        slave.pcm "main_lowpass"
        slave.channels 6        

        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1
        ttable.4.4 1

        ttable.0.5 0.2
        ttable.1.5 0.2
        ttable.2.5 0.2
        ttable.3.5 0.2
        ttable.4.5 0.2
}                     

pcm.main_51 {
        type copy

        slave.pcm "main_plug"
}                            

pcm.main_70 {
        type route

        slave.pcm "main_lowpass"
        slave.channels 6        

        ttable.0.0 0.667    # Front left
        ttable.6.0 0.333                
        ttable.1.1 0.667    # Front right
        ttable.7.1 0.333                 
        ttable.2.2 0.667    # Rear left  
        ttable.6.2 0.333                 
        ttable.3.3 0.667    # Rear right 
        ttable.7.3 0.333                 

        ttable.4.4 1

        ttable.0.5 0.142
        ttable.1.5 0.142
        ttable.2.5 0.142
        ttable.3.5 0.142
        ttable.4.5 0.142
        ttable.6.5 0.142
        ttable.7.5 0.142
}                       

pcm.main_71 {
        type route

        slave.pcm "main_plug"
        slave.channels 6

        ttable.0.0 0.667    # Front left
        ttable.6.0 0.333
        ttable.1.1 0.667    # Front right
        ttable.7.1 0.333
        ttable.2.2 0.667    # Rear left
        ttable.6.2 0.333
        ttable.3.3 0.667    # Rear right
        ttable.7.3 0.333

        ttable.4.4 1
        ttable.5.5 1
}

# Defaults

pcm.!default "main_20"
pcm.!surround40 "main_40"
pcm.!surround50 "main_50"
pcm.!surround51 "main_51"
pcm.!surround70 "main_70"
pcm.!surround71 "main_71"

ctl.!default "main"

# OSS emulation

pcm.dsp0 {
        type plug

        slave.pcm "main_20"
}

ctl.mixer0 "main"

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

Итак, main_lowpass - это фильтр, который обрезает высокие частоты, чтобы на сабвуфер не шли. Требует ladspa. Можешь его вообще выкинуть, так как у практически всех сабвуферов есть аналогичный железный. Только при этом ниже замени main_lowpass на main_plug.

Ещё в этом конфиге настроено разбрасывание на 5.1, если изначально каналов меньше или больше.

Deleted
()
Ответ на: комментарий от KRoN73

я ОЧЕНЬ СИЛЬНО ИЗВИНЯЮСЬ (!!!)

но вот скажите мне, НАХРЕН тогда нужен линукс?

раз такие вещи...

уж извините. вырвалось.

dk-
()
Ответ на: комментарий от dk-

> но вот скажите мне, НАХРЕН тогда нужен линукс?

А ты вот скажи, НАХРЕН нужен виндофс, если там вывод звука вообще никак не настраивается? Вот как например с одной звуковухи вывести независимо звук на колонки, телевизор и наушники? Или как несколько звуковух объединить в одну вируальную?

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

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

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

> А ты вот скажи, НАХРЕН нужен виндофс, если там вывод звука вообще никак не настраивается?

Извините, но это отговорка в стиле "нахрен нужен Мерседес, если он не летает?". В XXI веке проблемы с выводом 2.0-звука в несколько потоков это нонсенс, имхо. В ненавидимых вами виндах этих проблем нет. Хотя бы этих. В линуксе проблемы со звуком есть, и глупо это отрицать. Тем более так по-детски.

> Вот как например с одной звуковухи вывести независимо звук на колонки, телевизор и наушники?

Это делается на почти любой "дискретной" звуковой карте с соответствующим количеством выходов. Даже на первых версиях SB Live, которые сейчас за бутылку пива купить можно.

> Или как несколько звуковух объединить в одну вируальную?

Конечная цель такого объединения?

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

> Извините, но это отговорка в стиле "нахрен нужен Мерседес, если он не летает?".

Но и это не повод ненавидеть вертолёты за то что они не могут ездить по дороге, ведь так?

> В XXI веке проблемы с выводом 2.0-звука в несколько потоков это нонсенс, имхо.


Таки проблемы возникают далеко не всегда и зависят скорее от везения.

> В ненавидимых вами виндах этих проблем нет. Хотя бы этих. В линуксе проблемы со звуком есть, и глупо это отрицать. Тем более так по-детски.


Я не ненавижу винду. Я ненавижу когда кто-то ругает одну ОСь и говорит что в другой всё прямо зашибись и нет вообще никаких проблем. Пользователи и венды, и линукса страдают тяжёлым синдромом глазного бревна =).

> Это делается на почти любой "дискретной" звуковой карте с соответствующим количеством выходов. Даже на первых версиях SB Live, которые сейчас за бутылку пива купить можно.


How? Причём это я не для флейма спрашиваю, мне это действительно нужно.

> Конечная цель такого объединения?


Вывод 3D звука на N каналов.

Deleted
()
Ответ на: комментарий от dk-

>но вот скажите мне, НАХРЕН тогда нужен линукс?

Сразу после того как ты скажешь нафиг мне венда.

>раз такие вещи...

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

А в венде, с аудиодрайвером Рилтек, я так наплясался с бубном, таких феерических рецептов начитался в инете и наслушался от гуру по установке венды на самые разные конфигурации, что это писец просто. Самое смешное, что никакие бубны не помогли, пришлось венду сносить.

Или другой пример - принес товарищ какой-то Креатив из старых, типа грит под вендой так нормально и не завел, дрова разные попробовал, все-равно глюки. Вставил в комп с Убунтой - все работает без шума и пыли.

>уж извините. вырвалось.

не извиняем, нефиг на сайте о линукс рассказывать про то как тут "все плохо", я ведь не иду на винфак и не начинаю кричать "венда" г-но.

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

> Но и это не повод ненавидеть вертолёты за то что они не могут ездить по дороге, ведь так?

Одно "но" - в виндах ваше это "летать" в данном случае делается на любой дискретной звуковухе. Не отказываясь при этом от удобства настройки и отсутствия глюков на простых задачах.

Та же лива может делать любой самый извращённый роутинг и обработку, какие не снились никаким jack и alsa. Уж про VST-эффекты промолчим, ничего подобного по качеству в линуксе нет и не будет.

> Таки проблемы возникают далеко не всегда и зависят скорее от везения.

Возникают они тем не менее часто. Это не "руки", это качество решения. В виндах такие вещи не возникают вовсе - почему? Хотя слушать стерео-музыку с компа это задача весьма тривиальная и экзотичностью тут не отмажешься при всём желании.

> How? Причём это я не для флейма спрашиваю, мне это действительно нужно.

Может я не понял вопроса, но как бы - выбираешь в разных программах вывод на разные выходы. :) Максимум ещё дополнительно соединить "программные" выходы с нужными физическими, если звуковушка по умолчанию настроена как-то не так. Всё мышкой, проводок сюда-проводок туда...

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

> Может я не понял вопроса, но как бы - выбираешь в разных программах вывод на разные выходы.

В каких программах так можно сделать? В последний раз когда смотрел - ни в винампе, ни в виндоус медиа плеере, ни в медиа плеере классик подобных настроек не было.

> Максимум ещё дополнительно соединить "программные" выходы с нужными физическими, если звуковушка по умолчанию настроена как-то не так. Всё мышкой, проводок сюда-проводок туда..


Где именно искать эти настройки?

И да, в линуксе возможность сделать это всё не зависит ни от возможностей звуковой карты и её драйвера (главное чтобы было нужное кол-во выходов на DAC'е), ни от возможностей настроек программы, которая играет звук.

Deleted
()
Ответ на: комментарий от paramonov

> Та же лива может делать любой самый извращённый роутинг и обработку, какие не снились никаким jack и alsa. Уж про VST-эффекты промолчим, ничего подобного по качеству в линуксе нет и не будет.

Смелое утверждение, но я в этом всё-равно не эксперт и нужного оборудования для сравнения качества у меня нет. А у вас оно есть? И измеряли ли вообще? И как?

> Возникают они тем не менее часто. Это не "руки", это качество решения. В виндах такие вещи не возникают вовсе - почему? Хотя слушать стерео-музыку с компа это задача весьма тривиальная и экзотичностью тут не отмажешься при всём желании.


Вот он - Синдром Глазного Бревна! Ну нету в венде таких проблем и всё тут. А про проблемы в венде (в т.ч. и с выводом звука) на форумах в интернете пишут линуксоиды чисто для дезинформации =).

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

> В каких программах так можно сделать?

В любых, которые позволяют выбирать устройство вывода. Для Windows Media Player - да, придётся изменять системную звуковуху по умолчанию.

> Где именно искать эти настройки?

В "микшере" звуковой карты. На картах Creative, ESI, M-Audio, Infrasonic и E-MU оно есть, другие уже не актуальны потому что либо слишком дороги либо уже давно не производятся.

> И да, в линуксе возможность сделать это всё не зависит ни от возможностей звуковой карты и её драйвера (главное чтобы было нужное кол-во выходов на DAC'е), ни от возможностей настроек программы, которая играет звук.

Оно далеко не всегда надо, и "цена" несколько неприятная.

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

>В "микшере" звуковой карты. На картах Creative, ESI, M-Audio, Infrasonic и E-MU оно есть, другие уже не актуальны потому что либо слишком дороги либо уже давно не производятся.

>другие уже не актуальны потому что либо слишком дороги либо уже давно не производятся

Бугога.

>Оно далеко не всегда надо, и "цена" несколько неприятная.

>Оно далеко не всегда надо

Бугога еще раз.

Вот оно настоящее юзерфрендли!

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

> Смелое утверждение, но я в этом всё-равно не эксперт и нужного оборудования для сравнения качества у меня нет. А у вас оно есть?

Есть. Уши называется. На гитаре поиграйте через коммерческие VST и через линукс-поделки, дальше разницу объяснять не нужно будет.

> Ну нету в венде таких проблем и всё тут.

С невоспроизведением стерео 44 килогерца 16 бит - нету, факт.

> А про проблемы в венде (в т.ч. и с выводом звука) на форумах в интернете пишут линуксоиды чисто для дезинформации =).

Пишут. Про проблемы такого уровня (типа плохая передискретизация из 44.1К в 48К), с которым линуксоиды столкнутся лет так через 10, такими-то темпами... Во времена Sound Blaster Pro кто-то такими материями заморачивался, не припомните? ;) Играет и ладно, играет же!!! :)

paramonov
()
Ответ на: комментарий от Alex_A_V

> Вот оно настоящее юзерфрендли!

О да, настоящее юзерфрендли это когда для воспроизведения 44/16 из аж двух программ надо "ручками" писать конфиг на 10 страниц.

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

> В любых, которые позволяют выбирать устройство вывода. Для Windows Media Player - да, придётся изменять системную звуковуху по умолчанию.
> В "микшере" звуковой карты. На картах Creative, ESI, M-Audio, Infrasonic и E-MU оно есть, другие уже не актуальны потому что либо слишком дороги либо уже давно не производятся.


Вот о чём я и говорю. Нужна либо поддержка таких возможностей в конкретных программах, либо в конкретных драйверах. В подсистеме вывода звука windows это просто не предусмотрено.

P.S. Надо это на встроенной интелловской звуковухе. Можно было бы воткнуть ещё одну, но нет свободных PCI-слотов.

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

> Вот о чём я и говорю. Нужна либо поддержка таких возможностей в конкретных программах, либо в конкретных драйверах. В подсистеме вывода звука windows это просто не предусмотрено.

По мне лучше так. чем как в линуксе. Я, кстати, только для линукса вынужден был купить старый-старый Vortex2 с аппаратным микшером, чтобы не воевать бесконечно с сабжем и прочими подобными проблемами. Это нормально - чтобы ПРОСТО слушая музыку не отрубать звук у жаббера надо менять звуковую карту?

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

>О да, настоящее юзерфрендли это когда для воспроизведения 44/16 из аж двух программ надо "ручками" писать конфиг на 10 страниц.

А может глаза разуть? Топикстартер (и никто другой) ничего не говорил о "воспроизведения 44/16 из аж двух программ".

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

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

> Есть. Уши называется.

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

> С невоспроизведением стерео 44 килогерца 16 бит - нету, факт.


Да ну. Вот относительно недавно (2-3 месяца назад) на один компьютер у знакомых win xp sp3 ставил. Железо там довольно старое, встроенная звуковуха - какая-то via ac97. На разных комбинациях версий виндоус (2000 sp3/sp4, xp sp2/sp3) и версий официальных драйверов звук завести так и не удалось. Он как бы проигрывается, но из колонок только тишина. Втавляем livecd с линуксом - звук есть искаропки =).

> Пишут. Про проблемы такого уровня (типа плохая передискретизация из 44.1К в 48К), с которым линуксоиды столкнутся лет так через 10, такими-то темпами... Во времена Sound Blaster Pro кто-то такими материями заморачивался, не припомните? ;) Играет и ладно, играет же!!! :)


Да и лет через 10 таких проблем у нас не будет. У нас уже давно можно выбрать любой желаемый алгоритм ресемплинга с нужным качеством - лишь бы мощности процессора хватило.

Deleted
()
Ответ на: комментарий от Alex_A_V

> А может глаза разуть? Топикстартер (и никто другой) ничего не говорил о "воспроизведения 44/16 из аж двух программ".

Когда дудит одна программа, а вторая жалуется что звуковуха "busy" это оно и есть.

> Я как недавно пытался разобраться с проблемой драйвера Рилтек, так до сих пор фшоке от гемора который люди огребают с обычными драйвераме под звук в венде. А уж как они их решают...

Замените уже реалтек на звуковую карту. Я к сожалению Ливы все либо раздал, либо потерял, а то подарил бы чтоб не мучились так.

И то реалтек, который ничего не стоит. У меня же в линуксе нормально не работает (и не работала никогда) дорогущая ESI Juli@, которая судя по сайту альсы поддерживается в линуксе давно и в полный рост.

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

> По мне лучше так. чем как в линуксе. Я, кстати, только для линукса вынужден был купить старый-старый Vortex2 с аппаратным микшером, чтобы не воевать бесконечно с сабжем и прочими подобными проблемами. Это нормально - чтобы ПРОСТО слушая музыку не отрубать звук у жаббера надо менять звуковую карту?

Это абсолютно нормально. Это такая плата за нежелание читать документацию =). И да, сколько лет назад это было? Подобных проблем практически не возникает уже года два. Так что либо это было давно, либо вы - страшно везучий человек.

Deleted
()
Ответ на: комментарий от paramonov

>По мне лучше так. чем как в линуксе. Я, кстати, только для линукса вынужден был купить старый-старый Vortex2 с аппаратным микшером, чтобы не воевать бесконечно с сабжем и прочими подобными проблемами. Это нормально - чтобы ПРОСТО слушая музыку не отрубать звук у жаббера надо менять звуковую карту?

Щито? О_О Все работает без всяких вортексов. Может руки выпрямить лучше?

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

> У меня же в линуксе нормально не работает (и не работала никогда) дорогущая ESI Juli@, которая судя по сайту альсы поддерживается в линуксе давно и в полный рост.

Озвучь уже название дистрибутива и в каком тысячелетии его в последний раз обновлял. Ну и cat /proc/asound/version до кучи.

Deleted
()
Ответ на: комментарий от paramonov

> Замените уже реалтек на звуковую карту. Я к сожалению Ливы все либо раздал, либо потерял, а то подарил бы чтоб не мучились так.

Реалтек прекрасно справляется с выводом звука. Назови хоть одну причину минять реалтековскую звуковуху на что-то ещё для прослушивания попсы через колонки или наушники за 200р?

Deleted
()
Ответ на: комментарий от paramonov

>Когда дудит одна программа, а вторая жалуется что звуковуха "busy" это оно и есть.

Это было давно и неправда. А топикстартер о другом говорит, еще раз читаем внимательно топик.

>Замените уже реалтек на звуковую карту. Я к сожалению Ливы все либо раздал, либо потерял, а то подарил бы чтоб не мучились так.

У меня нет проблем с Рилтеком, так же как нет и его самого. Проблемы есть у счастливых обладателей Рилтеком с вендой в компекте.

>И то реалтек, который ничего не стоит. У меня же в линуксе нормально не работает (и не работала никогда) дорогущая ESI Juli@, которая судя по сайту альсы поддерживается в линуксе давно и в полный рост.

Верну совет обратно, купите то что работает.

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

Мамочки... Стоило одному трололо поднять вверх пальчик и с ехидной мордой пискнуть ЛИНУКС ГАВНО, как сразу хомячки взбесились.
Неужели есть на ЛОРе ещё люди, которые ведутся на таких жирненьких...

xata
()
Ответ на: комментарий от dk-

>но вот скажите мне, НАХРЕН тогда нужен линукс?

1. Под Windows - свои заморочки.

2. Linux выбирают не только как проигрыватель звковых файлов :)

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

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

Alex_A_V ★★
()

У меня нормально 5.1 работает через pulseaudio, сам апмиксит стерео до 5.1 если надо.
Достаточно в файле /etc/pulse/daemon.conf строчки:
default-sample-channels = 6
и перезапустить pa: pulseaudio -k; pulseaudio -D

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