Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-02-12 21:46:28

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

alsamixer, coś na wzór hardware mixer

Witam! Posiadam

Kod:

Multimedia audio controller: Ensoniq 5880B [AudioPCI] (rev 02)

posiada ona

Kod:

card 0: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: AudioPCI [Ensoniq AudioPCI], device 1: ES1371/2 [ES1371 DAC1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

czyli 2 device. Tak się składa że niezależnie czy wyśle dźwięk do device 0 czy 1 i odtwarzane są na tym samym wyjściu.
[u]więc tu moje pytanie czy da się tak skonfigurować alse żeby w przypadku gdy device 1 jest zajęte kierowało dźwięk na device 0?[/u]

Do tego dochodzi pytanie co to dokładnie te subdevice?
@edit jak sprawdzić czy karta obsługuje hardware mixer?

Ostatnio edytowany przez vfjpl (2013-02-12 21:48:11)

Offline

 

#2  2013-02-12 22:12:06

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Co rozumiesz pod pojęciem hardware mixer ?


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#3  2013-02-12 23:05:05

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

hardware mixer czyli łączenie ścieżek w karcie dźwięĸowej zamiast w programie  i wysyłanie potem do karty dziwięĸowej tylko jednej ścieżki dźwięku(software mixer).

Offline

 

#4  2013-02-12 23:12:53

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Nadal nie łapię.
Czcesz łączyc cos w karcie i wysyłać do karty ?

Konkretny przyklad zastosowania podaj.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#5  2013-02-13 07:03:02

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: alsamixer, coś na wzór hardware mixer

@vfjpl:

O ile karta ma hardware mixing to takie obejścia nie są potrzebne - zwykle karty tego typu mogą na raz grać od 4 do nawet 128 sygnałów jednocześnie - przy realnym wykorzystaniu od 1 do 4 bo powyżej tego raczej nikt nie słucha. Jeżeli karta podczas grania jednego sygnału jest zajęta to znaczy że nie ma HW mixera (jak 95% dzisiejszych kart) - zresztą w dzisiejszych czasach jest to wynalazek średnio przydatny.

Tego co chcesz osiągnąć raczej bez modyfikacji bibliotek ALSY się zrobić nie da - podkreślam słowo RACZEJ.

Pozdro.

Offline

 

#6  2013-02-13 17:02:33

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

[quote=Huk][...]Jeżeli karta podczas grania jednego sygnału jest zajęta to znaczy że nie ma HW mixera (jak 95% dzisiejszych kart) - zresztą w dzisiejszych czasach jest to wynalazek średnio przydatny.[...][/quote]
(1)z tym że alsa mi się domyślnie konfiguruje mi się na software mixer. Jak ją skonfigurować?


(2)"odtwarzam muzykę" idzie na device 1. podczas tego włączam film, device 1 jest zajęte więc dźwięk kieruje się na device 0. podczas odtwarzania filmu i muzyki odtwarzam coś w przeglądarce. device 1 i 0 zajęte więc nie gra przeglądarka. mam nadzeję że prosto wytłumaczone. ogólnie każdy dźwięk odtwarza się na innym device.

(3)co to są subdevice w karcie dźwięĸowej?


PS: dziękuję za zainteresowanie :D

Ostatnio edytowany przez vfjpl (2013-02-13 17:03:02)

Offline

 

#7  2013-02-13 19:13:40

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

[quote=vjfpl](2)"odtwarzam muzykę" idzie na device 1. podczas tego włączam film, device 1 jest zajęte więc dźwięk kieruje się na device 0.[/quote]
Skąd o tym wiesz ?
Ja myślę ,że jest inaczej.

Kod:

adam@debian:~/Desktop$ lsof /dev/snd/*
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
volumeico  1344 adam    5u   CHR  116,8      0t0 4022 /dev/snd/controlC0
deadbeef- 30170 adam  mem    CHR  116,5          2604 /dev/snd/pcmC0D0p
deadbeef- 30170 adam   10r   CHR 116,33      0t0 1951 /dev/snd/timer
deadbeef- 30170 adam   11u   CHR  116,5      0t0 2604 /dev/snd/pcmC0D0p
deadbeef- 30170 adam   12u   CHR  116,8      0t0 4022 /dev/snd/controlC0
vlc       30504 adam  mem    CHR  116,5          2604 /dev/snd/pcmC0D0p
vlc       30504 adam   12r   CHR 116,33      0t0 1951 /dev/snd/timer
vlc       30504 adam   13u   CHR  116,5      0t0 2604 /dev/snd/pcmC0D0p
vlc       30504 adam   14u   CHR  116,8      0t0 4022 /dev/snd/controlC0
adam@debian:~/Desktop$

Zarówno deadbeef jak i vlc  korzystają z tego samego urządzenia.

Subdevice to urządzenie podrzędne ,których u Ciebie nie ma.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#8  2013-02-13 19:19:18

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

[quote=ilin][quote=vjfpl](2)"odtwarzam muzykę" idzie na device 1. podczas tego włączam film, device 1 jest zajęte więc dźwięk kieruje się na device 0.[/quote]
Skąd o tym wiesz ?
Ja myślę ,że jest inaczej.
[...][/quote]
sorki źle napisałem. chce żeby tak było ;D

Offline

 

#9  2013-02-13 19:22:56

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

To sie jeszcze zapytam skąd wiesz że te dwa urządzenia w tej karcie podają na to samo wyjście ?


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#10  2013-02-13 19:32:30

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

Kod:

pcm.!default {
    type hw           
    card 0
        device 1
        subdevice 0
}

niezależnie czy wpiszę device 0 czy 1 idzie na to samo wyjście. I na dodatek powiem że jak muzyka leci z device 1 to flash sam się przełącza na device 0. niestety odwrotnie to nie działa :( to znaczy jak z flasha coś leci to muzyka nie przełączy się na device 0 :( i tu właśnie chcę coś zadziałać żeby gdy jeno device jest zajęte to przełączało się na drugie :D

edit: właśnie miałem wpisać w code :D

Ostatnio edytowany przez vfjpl (2013-02-13 19:35:41)

Offline

 

#11  2013-02-13 19:39:36

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Nie wiem czy taki automat jekiego oczekujesz jest możliwy.

Natomiast

Kod:

pcm.!default {
    type hw           
    card 0
        device 1
        subdevice 0
}

Przy takim asoundrcu sprawdź za pomocą lsof z jakich urzadzeń korzystaja aplikacje podczas odtwarzania równocześnie.

Czy wszystkie nie lecą przez to samo urządzenie.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#12  2013-02-13 19:43:00

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

Kod:

root@debian-kacper:/home/kacper# lsof /dev/snd/*
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mixer_app 1907 kacper   21r   CHR  116,9      0t0 3782 /dev/snd/controlC0
firefox-b 2077 kacper  mem    CHR  116,7          3780 /dev/snd/pcmC0D0p
firefox-b 2077 kacper   83u   CHR  116,7      0t0 3780 /dev/snd/pcmC0D0p
rhythmbox 2886 kacper  mem    CHR  116,6          4622 /dev/snd/pcmC0D1p
rhythmbox 2886 kacper   28r   CHR  116,6      0t0 4622 /dev/snd/pcmC0D1p
]

Jak mówiłem firefox sam się przełączył na device 0

Ostatnio edytowany przez vfjpl (2013-02-13 19:47:37)

Offline

 

#13  2013-02-13 19:45:14

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Wszystko leci przez to samo urządzenie.

Kod:

/dev/snd/pcmC0D0p

U mnie też :)


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#14  2013-02-13 19:46:40

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

No tak przez kartę tą samą ale przez inne device(?)

/proc/asound/pcm

Kod:

00-00: ES1371/1 : ES1371 DAC2/ADC : playback 1 : capture 1
00-01: ES1371/2 : ES1371 DAC1 : playback 1
01-03: HDMI 0 : HDMI 0 : playback 1

Ostatnio edytowany przez vfjpl (2013-02-13 19:49:39)

Offline

 

#15  2013-02-13 19:49:30

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Rhytmbox też leci poprzez to samo device  /dev/snd/pcmC0D0p


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#16  2013-02-13 19:51:06

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

no przecież widzę wyraźnie :D

firefox-b 2077 kacper   83u   CHR  [b]116,7[/b]      0t0 3780 /dev/snd/pcmC0[b]D0[/b]p
rhythmbox 2886 kacper   28r   CHR  [b]116,6[/b]      0t0 4622 /dev/snd/pcmC0[b]D1[/b]p

Ostatnio edytowany przez vfjpl (2013-02-13 19:52:43)

Offline

 

#17  2013-02-13 19:57:18

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Masz rację ja przeoczyłem.

To teraz sprawdx taką rzecz.

Puść dwa odtwarzacze na device 1.
Zobacz jak polecą czy na tym samym urządzeniu.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#18  2013-02-13 20:01:50

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

odpaliłem totem ;D dźwięk z niego nie jest odtwarzany a w lsof widać tylko Rhytmbox

Offline

 

#19  2013-02-13 20:06:09

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Spróbuj mplayer lub vlc i rhytmenbox.

Chodzi o to by drugi odtwarzacz nie korzystał z gstreamera.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#20  2013-02-13 20:31:35

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

podczas grania rhytmenbox'a vlc wyświetla

Kod:

Potential ALSA version problem:
VLC failed to initialize your sound output device (if any).
Please update alsa-lib to version 1.0.23-2-g8d80d5f or higher to try to fix this issue.

Offline

 

#21  2013-02-13 20:36:31

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Wygląda to to tak że ta karta ma dwa urządzenia.
Przez każde może lecieć tylko jedno źródło sygnału.

Gdybyś w samym vlc ustawił na urzadzenie 0 to pewnie by zagrał.

Z alsą tu wiele nie zdziałasz.

Natomiast proponuję przetestować OSS4 tam powinno to znacznie lepiej działać.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#22  2013-02-13 20:38:20

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: alsamixer, coś na wzór hardware mixer

@vfjpl:


Hmmm dziwna sprawa. O ile mnie pamięć nie myli to ES1371 to był chipset SoundBlastera 128 PCI, który jeszcze gdzies u mnie w szafie leży - ta karta nie ma sprzętowego miksera więc o tym zapomnij, dziwi mnie że standardowo nie masz skonfigurowanego dmix'a, spróbuj dać coś takiego do .asoundrc:

Kod:

#Poniższe przekierowuje wyjście "default" do pluginu "asymed"
pcm.!default {
        type plug
        slave.pcm "asymed"
}

#Plugin ten rozdziela odpowiednie zawołania do default, na kanał
#grania i przełapywania
pcm.asymed 
{
    type asym
    playback.pcm "dmixer"
    capture.pcm  "dsnooped"
}

#Tutaj miksujemy sobie dźwięk - jeżeli dojdzie do "pierdzenia",
#"syczenia" czy innych anomalii można zwiekszyć/zmniejszyć
#period_size, periods itd
pcm.dmixer  {
    type dmix
    ipc_key 1025
    slave {
           pcm "hw:0"
           period_time 0
           period_size 256
           #buffer_size 4096
           periods 128
           rate 44100
    }
}

#Ten plugin suży do przełapywania dźwieku - podobnie jak w wypadku dmixera
#jeżeli dojdzie do "pierdzenia","syczenia" czy innych anomalii
#można zwiekszyć/zmniejszyć period_size, periods itd
pcm.dsnooped {
    type dsnoop
    ipc_key 1026
    slave 
    {
        pcm "hw:0" 
        channels 2 
        period_size 256
        #buffer_size 4096
        rate 44100
        periods 0 
        period_time 0
    }
}

I potem przetestuj, pamiętaj żeby puszczać przez urządzenie "default" a nie "hw:0" czy coś podobnego.

Offline

 

#23  2013-02-13 20:43:03

  vfjpl - Użytkownik

vfjpl
Użytkownik
Zarejestrowany: 2013-02-12

Re: alsamixer, coś na wzór hardware mixer

[quote=Huk]@vfjpl:


Hmmm dziwna sprawa. O ile mnie pamięć nie myli to ES1371 to był chipset SoundBlastera 128 PCI, który jeszcze gdzies u mnie w szafie leży - ta karta nie ma sprzętowego miksera więc o tym zapomnij, dziwi mnie że standardowo nie masz skonfigurowanego dmix'a, spróbuj dać coś takiego do .asoundrc:[/quote]
domyślnie konfiguruje się. Ja właśnie chciałem zrobić taki oszukańczy hardware mixer z device 0 i 1


czym różni się oss od pulseaudio?
alsa komunikuje się bezpośrednio ze sprzętem?

chciałem wywalić to wszystko i zostawić itylko alse i doinstalować np JACK

aha oss i alsa to niskopoziomowe sterowniki a pulseaudio i jack to takie miksery które podają 1 ścieżkę do sterownika tak?

Ostatnio edytowany przez vfjpl (2013-02-13 20:48:54)

Offline

 

#24  2013-02-13 20:44:18

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: alsamixer, coś na wzór hardware mixer

Spróbuj OSS4 i zdaj relację.

Tam jest to zupełnie inaczej rozwiązane.

czym różni się oss od pulseaudio?
alsa komunikuje się bezpośrednio ze sprzętem?[/quote]
Dokładnie OSS4 (nie mylić ze starym oss) to mniej wiecej odpowiednik alsy.
Sterowniki i biblioteki zupełnie inne niż w alsie.

Pulseaudio zas to softwarowa warstwa  pomiędzy alsą czy oss4  a finalnym dźwiękiem.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#25  2013-02-13 21:03:24

  Huk - Smoleńsk BULWA!

Huk
Smoleńsk BULWA!
Zarejestrowany: 2006-11-08

Re: alsamixer, coś na wzór hardware mixer

@vfjpl:

Z tego co piszesz wynika że dmix nie chodzi - inaczej mógłbyś sobie puszczać na raz wszystko czego dusza zapragnie i nie doszło by do "device is busy". Pytanie czy Ty CHCESZ żeby ALSA tak dziwnie działała, czy też odtwarzanie wszystkiego na hw:0, z użyciem dmix'a Ci pasuje? Jak to drugie to spróbuj wpisu który podałem, jak to pierwsze to wytłumacz mi proszę po co Ci to i jak dokładnie by miało działać.

Jest jeszcze taka możliwość że karta sama przekierowuje do drugiego chipsetu i ja bym na to stawiał. Jako że dmix nie chodzi, próba ,odwołania się do hw:0 konczy się "device is busy", więc karta mądrze przekierowuje na drugi, wolny chipset, kiedy i tam jest wszystko zajęte to się zaczyna pierdzielić.

Rozumiem że na karcie masz normalną ilość wejść i wyjść (fizycznie, wejść słuchawkowych) a nie oddzielne dla hw:0, i hw:1? Jak tak to na 90% karta odpowiada za przełączanie urzadzeń.

Ostatnio edytowany przez Huk (2013-02-13 21:03:52)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00003 SET NAMES latin2
0.00097 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.141.21.199' WHERE u.id=1
0.00081 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.141.21.199', 1732470983)
0.00046 SELECT * FROM punbb_online WHERE logged<1732470683
0.00045 SELECT topic_id FROM punbb_posts WHERE id=224405
0.00008 SELECT id FROM punbb_posts WHERE topic_id=22945 ORDER BY posted
0.00052 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=22945 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00100 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=22945 ORDER BY p.id LIMIT 0,25
0.00094 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=22945
Total query time: 0.00544 s