linux | arts & xmms

dgaf

после установки arts 1.2.2 перестал играть через него xmms
сервер нормально запущен (кстати, где можно подредактировать строчку его запуска? кроме kcontrol) все остальные проги через него играют. а xmms виснет и вылетает.
есть идеи из-за чего это может быть?

yamushev

Пересобрать XMMS-Arts плагин?

eee1

удаляй arts на фиг!

dgaf

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

eee1

за чем тебе этот arts?

dgaf

я первый спросил

eee1

тогда скажу: можешь спокойно ее выбросить.
(artsd - это типа sound-server и она занимает звуковое устройство, все проги дожны отправить данные до устройства через него)
в ФриБСД можно настроить так чтобы ядро занимает mixer-ом и artsd теперь лищь контроллирует только один звуковой канал, а другие проги (часто консольные) могут нормально читать дефольтовый девайс (другой канал)

pollak

А в линуксе можно так настроить?

eee1

эё, о линуксе я не знаю

ppplva

Алса нах.

Marinavo_0507

Что алса?

ppplva

рулит нах

Marinavo_0507

оно да, но само микшировать вроде как не умеет

ppplva

А как же dmix plugin ?

Gasparfx

Выруби это артс нахрен, без него всё прекрасно работает, а сним одни проблемы. Во всех линуксовых форумах рекомендуют...

ppplva

И купи нормальную звуковуху, ибо software mixing не рулит.

Marinavo_0507

hardware рулит ещё меньше

ppplva

это почему еще ?

Marinavo_0507

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

Marinavo_0507

да, dmix похоже прикольная штука

SvinkaVJeansah

в ФриБСД можно настроить так чтобы ядро занимает mixer-ом и artsd теперь лищь контроллирует только один звуковой канал, а другие проги (часто консольные) могут нормально читать дефольтовый девайс (другой канал)

Можно поподробней ?
Как сие реализовать ?

hoha32

виртуальные каналы от /dev/pcm0.1до /dev/pcm0.N, где N - значение sysctl'евской "переменной" hw.snd.maxautovchans - каждый канал надо закрепить за своим приложением
вроде бы как
в БСД 5.х и безhw.snd.maxautovchans всё работает

SvinkaVJeansah

Понял, типа xmms, mplayer, arts, etc. кидать на разные каналы. В ядре чего-нибудь надо менять ?

hoha32

Правильно понял
В ядре ничего менять не надо.

SvinkaVJeansah

Ага, попью пивка и попробую.
Спасибо за помощь.
Видать, невнимательно я читал Хэндбук %) :::
16.2.3 Utilizing Multiple Sound Sources
Contributed by Munish Chopra.
It is often desirable to have multiple sources of sound that are able to play simultaneously, such as when esound or artsd do not support sharing of the sound device with a certain application.

FreeBSD lets you do this through Virtual Sound Channels, which can be set with the sysctl(8) facility. Virtual channels allow you to multiplex your sound card's playback channels by mixing sound in the kernel.

To set the number of virtual channels, there are two sysctl knobs which, if you are the root user, can be set like this:

# sysctl hw.snd.pcm0.vchans=4
# sysctl hw.snd.maxautovchans=4

The above example allocates four virtual channels, which is a practical number for everyday use. hw.snd.pcm0.vchans is the number of virtual channels pcm0 has, and is configurable once a device has been attached. hw.snd.maxautovchans is the number of virtual channels a new audio device is given when it is attached using kldload(8). Since the pcm module can be loaded independently of the hardware drivers, hw.snd.maxautovchans can store how many virtual channels any devices which are attached later will be given.

If you are not using devfs(5 you will have to point your applications at /dev/dsp0.x, where x is 0 to 3 if hw.snd.pcm.0.vchans is set to 4 as in the above example. On a system using devfs(5 the above will automatically be allocated transparently to the user.

Lubov125

ну да. просто сделал: sysctl hw.snd.pcm0.vchans=4 и hw.snd.maxautovchans=4. кстати почти все проги читают /dev/dsp aka /dev/dsp0.0 по дефольту, так что нужно указать чтобы artsd занять что-то другой типа dsp0.1.

stm8855194

отцы, объясните плиз ламаку про dmix

# cat ~/.asoundrc
pcm.via82xx {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:1,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 0
}


далее, делаю, как советуют

Now try:
aplay -f cd -D default test.wav
on multiple consoles.

но у меня смешивания нет, то есть новый играет только после старого..
у меня
alsa-1.0.4

SvinkaVJeansah

Попутный вопрос:
Громкость отдельно можно менять ?
mixer, как я понимаю, меняет ее уже на аппаратном уровне.

Marinavo_0507

это типа надо вручную приложения по каналам распихивать?
странная хрень

SvinkaVJeansah

Микширование в ядре (скромное мое мнение) лучше, чем тормозящий artsd.
В 5-ой ветке, как я понимаю, это прозрачно для пользователя.
Вопрос был не об этом.
Если у тебя есть лучшие варианты - буду только рад !
Tot есть такая хрень, что не все проги заточены под звуковые сервера.

Marinavo_0507

ну вот если к алсе плагинов дописать, что-то может и получится
насчёт кривых приложений - ну вот realplay вообще только /dev/dsp вроде как умеет,
потому что кал, и что теперь делать?

SvinkaVJeansah

Проводить микширование в ядре и выдавать приложениям любой свободный канал.

germafrodita

Если у тебя тормозит artsd, сделай апгрейд или купи многоканальную звуковуху

SvinkaVJeansah

Назови мне какие-нибудь особо классные возможности artsd ?
Или любых других звуковых серверов ?

Landstreicher

это спорный вопрос
большинство прог либо не умеют делать resampling, либо делают его неправильно (линейная интерполяция)
прог, которые правильно делают ресемплинг - очень мало, считанные единицы. Например те же плееры xmms или mplayer не умеют - а именно от них это больше всего и надо.
звуковухи, которые делают его правильно все же чаще встречаются - например тот же Audigy 2
думаю с hardware resampling качество при среднем каждодневном прослушивании будет лучше, чем с software

Landstreicher

а этот ваш миксер в FreeBSD умеет ресамплинг делать? и как он его делает? уж не линейной ли интерполяцией?

yamushev

в ФриБСД можно настроить так чтобы ядро занимает mixer-ом и artsd теперь лищь контроллирует только один звуковой канал, а другие проги (часто консольные) могут нормально читать дефольтовый девайс (другой канал)

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

SvinkaVJeansah

What is resampling ?

Marinavo_0507

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

eee1

вроде у него линейная интерполяция для pcm девайс.

Landstreicher

ну и нах он такой нужен тогда? только звук портит

eee1

хмм, у меня AC97 поэтому мне всеравно . А для "настоящих" девайсов есть и отдельные драйверы.

hoha32

Угу, например для Creative Sound Blaster Live!

eee1

ё..., я понял. С креативом в Фри уже идет отдельный разговор
Оставить комментарий
Имя или ник:
Комментарий: