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  2014-09-16 21:34:09

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

MPD +pulseaudio +konsola+ co jeszcze?

Elo. Piszę bo jestem u kresu wytrzymałości.
Założenie jest takie:
1. Lokalny MPD gra sobie radio z netu na wybranej przeze mnie karcie
2. Lokalny MPD jest obsługiwany przez dowolnego usera i startuje jako usługa jeszcze przed X'ami, grając sobie wg konfiguracji.
3. Pulseaudio się nie wpierdala bądź daje skonfigurować xD

Environment: debian 7.6
Zintegrowany kontroler ac97 która gra niezależnie czy PA czy ALSA i nie zamierzam się rozpisywać na jego temat.
Osobny kontroler audio na USB, jakieś gówienko za 37 pln od ruskiego, które gra j/w.
Pulseaudio konieczne z uwagi na Skype (który też jest konieczny, to nie mój komputer)
Dwoje userów o innych zainteresowaniach i profilach, że tak powiem, korzystania z komputera :P
Radio nie może intereferować z dźwiękiem 'przeznaczonym' dla AC97, dlatego dwa kontroloery

Problem:
Obecnie jest tak, że aby leciało radio, mama musi być zalogowana na swój profil, odpalony jest VLC i jest okej. Gdy tata siada przed kompa, przełącza usera i dźwięk magicznie niknie (również jak przełącza się na tty). Jak się domyślacie, sytuacja nie jest komfortowa, tymbardziej dla mnie, który ma to spiąć w całość.

Napotkałem po drodze takie problemy:
mpd zwraca te słynne 'device or resource busy' jeśli jest skonfigurowany do obsługi alsy na hw:3,0 (tu siedzi usbczka)
mpd po skonfigurowaniu pod pulseaudio dobrze odgrywa dźwięk, ale tylko na defaultowym wyjściu (czyli na integrze); jeśli określę sink, to czas leci do pierwszej sekundy, a w logach mam różne komunikaty, od failed to connect, przez failed to play: disconected.
pulseaudio skonfigurowane jest do startu 'per user' (takie info otrzymałem po service pulseaudio start z roota); jest szansa że to w ogóle ruszy podczas bootowania systemu, skoro user mpd nie loguje się i tak dalej?

rozwiązania które mnie interesują:
'odpięcie' pulseaudio od karty hw:3,0 LUB
ożenienie mpd ze wskazaną przeze mnie dźwiękówką ORAZ
mpd ma grać jeszcze nim ktokolwiek się zaloguje.

Gorąco proszę o pomoc, rly gorąco. Do wygrania czajnik od żelazka xD
W razie potrzeby slużę logami, konfigami, etc.

Offline

 

#2  2014-09-16 22:22:35

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: MPD +pulseaudio +konsola+ co jeszcze?

W opcjach PA (pavucontrol) powinna być opcja wyłączenia danej karty dźwiękowej i może wtedy nie będzie jej blokował.
Może tak banalne rozwiązanie wystarczy? Nie używam PA żeby sprawdzić.

Offline

 

#3  2014-09-16 22:36:34

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: MPD +pulseaudio +konsola+ co jeszcze?

Trzeba wyłączyć wykrywanie kart w PA  - domyślnie z Udeva łapie wszystkie karty.

U mnie do Skype (/etc/pulse/default.pa):

Kod:

#!/usr/bin/pulseaudio -nF

load-module module-augment-properties

load-module module-switch-on-port-available
load-module module-alsa-sink device=hw:2,0
load-module module-alsa-source device=hw:2,0
load-module module-pipe-sink


.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix


.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif

load-module module-intended-roles

load-module module-suspend-on-idle

Tylko Skypa odpalam skryptem z takimi zmiennymi:

Kod:

export PULSE_SOURCE=$(LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2| grep "alsa_input.hw_2_0"
)
export PULSE_SINK=$(LANG=C pactl list | grep -A2 'Sink #' | grep 'Name: ' | cut -d" " -f2 | grep "alsa_output.hw_2_0"
)

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-09-16 22:37:16)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2014-09-16 22:58:48

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: MPD +pulseaudio +konsola+ co jeszcze?

@Jacekalex: jesteś kreatywny, ale przyznam, że Twoje rozwiązanie nie będzie mieć u mnie zastosowania; przeklejanie cudzej konfiguracji do systemu nietechnicznych userów, to moje późniejsze problemy:P.
@yossarian: No i powiem Ci kolego że Twoje prosto logiczne rozumowanie ma sens xD. Daleko, na ostatniej zakładce jest 'wyłącz'. Jednego mniej.
Teraz pozostaje mi ożenić MPD z alsą #3,0 tak, by startowało przy bootowaniu. Sam mpd wstaje, niby odtwarza, ale nie jest w stanie pogadać z mixerem, mimo podawania konkretnych nazw urządzeń.
Coś takiego mam w mpd.conf

Kod:

audio_output {
    type        "alsa"
    name        "usb sound module"
    device        "hw:3,0"
#    mixer_device    "usbmixer"
mixer_device "default"
mixer_control "Speaker Playback Volume"
mixer_index "0"
#    sink        "alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo"
#    server         "localhost"
}

za to takie pierdy w logu mpd

Kod:

Sep 16 22:42 : Failed to open mixer for 'usb sound module': no such mixer control: Speaker Playback Volume

chociaż

root@Optiplex330:/tmp# cat /proc/asound/card3/usbmixer
USB Mixer: usb_id=0x0d8c000c, ctrlif=0, ctlerr=0
Card: C-Media USB Headphone Set at usb-0000:00:1d.3-2, full speed
  Unit: 9
   Control: name="Speaker Playback Volume", index=0
    Info: id=9, control=2, cmask=0x3, channels=2, type="S16"
    Volume: min=-7264, max=-16, dBmin=-2837, dBmax=-6
  Unit: 9
    Control: name="Speaker Playback Switch", index=0
    Info: id=9, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 10
    Control: name="Auto Gain Control", index=0
    Info: id=10, control=7, cmask=0x0, channels=1, type="BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 10
    Control: name="Mic Capture Volume", index=0
    Info: id=10, control=2, cmask=0x0, channels=1, type="S16"
    Volume: min=0, max=6096, dBmin=0, dBmax=2381
  Unit: 10
    Control: name="Mic Capture Switch", index=0
    Info: id=10, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 13
    Control: name="Mic Playback Volume", index=0
    Info: id=13, control=2, cmask=0x0, channels=1, type="S16"
    Volume: min=0, max=12240, dBmin=0, dBmax=4781
  Unit: 13
    Control: name="Mic Playback Switch", index=0
    Info: id=13, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0

Offline

 

#5  2014-09-16 23:05:39

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: MPD +pulseaudio +konsola+ co jeszcze?

A masz do tej karty dostęp ze standardowego alsamixera (F6)?

Offline

 

#6  2014-09-16 23:14:48

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: MPD +pulseaudio +konsola+ co jeszcze?

Tak, oczywiście. Tam kontrolka jest nazwana po krótkiemu 'Speaker'. Jednak niezależnie od nazwy po jakiej się odwołuję do niej z poziomu mpd, problem pozostaje.

Kod:

Sep 16 23:04 : Failed to open mixer for 'usb sound module': no such mixer control: Speaker

Offline

 

#7  2014-09-16 23:28:51

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: MPD +pulseaudio +konsola+ co jeszcze?

Pokaż wynik:

Kod:

aplay -l

Offline

 

#8  2014-09-17 08:13:42

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: MPD +pulseaudio +konsola+ co jeszcze?

Kod:

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: AD198x Digital [AD198x Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Oto i on. Dodatkowo, mpd nadal nie startuje przy uruchamianiu komputera. Nie wiem co tam się dzieje (sugerando że pulseaudio jeszcze nim będą miały zastosowanie ustawienia per-user), pluje klasycznie 'device or resource busy'.

Offline

 

#9  2014-09-17 17:30:08

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: MPD +pulseaudio +konsola+ co jeszcze?

Podejrzewam, że problemem jest:

Kod:

mixer_device "default"

Pokaż dodatkowo:

Kod:

aplay -L
amixer -c Set
amixer -c3

Te dwa ostatnie powinny dać to samo.

Offline

 

#10  2014-09-18 08:00:06

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: MPD +pulseaudio +konsola+ co jeszcze?

Kod:

root@Optiplex330:~# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default:CARD=Intel
    HDA Intel, AD198x Analog
    Default Audio Device
sysdefault:CARD=Intel
    HDA Intel, AD198x Analog
    Default Audio Device
front:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    Front speakers
surround40:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
    HDA Intel, AD198x Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
    HDA Intel, AD198x Digital
    IEC958 (S/PDIF) Digital Audio Output
default:CARD=Set
    C-Media USB Headphone Set, USB Audio
    Default Audio Device
sysdefault:CARD=Set
    C-Media USB Headphone Set, USB Audio
    Default Audio Device
front:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audio
    Front speakers
surround40:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Set,DEV=0
    C-Media USB Headphone Set, USB Audioroot@Optiplex330:~# amixer -c Set
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 151
  Mono:
  Front Left: Playback 151 [100%] [0.06dB] [on]
  Front Right: Playback 151 [100%] [0.06dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: Playback 0 - 32 Capture 0 - 16
  Mono: Playback 25 [78%] [37.35dB] [off] Capture 0 [0%] [0.00dB] [on]
Simple mixer control 'Auto Gain Control',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

Kod:

root@Optiplex330:~# amixer -c3
root@Optiplex330:~# amixer -c 3

Przyznam, że powoli zaczyna mi to działać na nerw, wiecie jaki :P. Dawno już tak nie miałem że coś tak oczywistego jest takie niekonfigurowalne.
Przy okazji jeszcze MPD robi takie jajo, że strumień trzeba odpalać dwa razy, tzn, w rc.local mam wpis ncmpcpp play i cisza. Po zalogowaniu się trzeba zastopować i odpalić, to idzie. Przy zmianie stacji to samo, dwuklik na strumień próbuje go odpalić, ale nawet nie idzie czas, w logach ni chu chu blędu, a czas stoi, tcpdump nie widzi ruchu. Jacekalex, jesteś w stanie pokrótce omówić swoja konfigurację PA?

Offline

 

#11  2014-09-18 12:18:21

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: MPD +pulseaudio +konsola+ co jeszcze?

Zobacz czy coś się zmieni gdy zmienisz:

Kod:

device        "hw:3,0"

na:

Kod:

device          "front:CARD=Set,DEV=0"

lub

Kod:

device          "default:CARD=Set"

Przy okazji jeszcze MPD robi takie jajo, że strumień trzeba odpalać dwa razy, tzn, w rc.local mam wpis ncmpcpp play i cisza.

MPD to Music Player Daemon, więc dopisywanie do rc.local jest raczej bez sensu. Powinien sam zaczynać odtwarzanie przy swoim starcie.

# This setting sets the location of the file which contains information about
# most variables to get MPD back into the same general shape it was in before
# it was brought down. This setting is disabled by default and the server
# state will be reset on server start up.
#
state_file                      "/home/yossarian/.mpd/state"

Możesz jeszcze pokombinować z tymi ustawieniami:

# Volume control mixer ########################################################
#
# These are the global volume control settings. By default, this setting will
# be detected to the available audio output device, with preference going to
# hardware mixing. Hardware and software mixers for individual audio_output
# sections cannot yet be mixed.
#
# An example for controlling an ALSA, OSS or Pulseaudio mixer; If this
# setting is used other sound applications will be affected by the volume
# being controlled by MPD.
#
#mixer_type                     "hardware"
#
# An example for controlling all mixers through software. This will control
# all controls, even if the mixer is not supported by the device and will not
# affect any other sound producing applications.
#
#mixer_type                     "software"
#
# This example will not allow MPD to touch the mixer at all and will disable
# all volume controls.
#
#mixer_type                     "disabled"
#
###############################################################################

Offline

 

#12  2014-09-18 14:11:13

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: MPD +pulseaudio +konsola+ co jeszcze?

a czy przełączenie pa w tryb system nie pomoże?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#13  2014-09-19 19:59:42

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: MPD +pulseaudio +konsola+ co jeszcze?

Dziękuję wszystkim zaangażowanym. Z uwagi na nieznajomość tego sk*!Q@%#*!@łego pulseaudio i wyjątkową niechęć mpd do współpracy (choć szczawik dobrze prawi o state_file, nie wpadłem) to poszedłem na wcześniej niechciane skróty:
- wyłączyłem w pavulonkontrol opiekowanie się hw3:0 dla obydu userów
- zmieniłem dla maminego usera defaultowe ao dla VLC na alsę z wcześniej opisywaną kartą
- przyproficiłem, bo mama obsługuje player jak do tej pory (ma problemy z dwuklikaniem, więc ario czy sonata nie szanujące ustawień systemowych były sporą barierą)
- tata też może jechać na słuchawkach kotki i pieski.
Zatem, jeszcze raz dziękuję i się zanurzam :)

Offline

 

#14  2014-09-19 21:02:09

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: MPD +pulseaudio +konsola+ co jeszcze?

Ech... zawsze uważałem że nauczenie elektroników podstaw nie tyle programowania, co obsługi systemu graniczy z cudem (bo to przeca lutownica się inaczej w rencach trzymie)
Jak zwykle będą robić mostek naokoło...
Nie, nie odpowiadaj. Nie uważam że nieumiejętność używania googla jest czymś, czym elektronik może się szczycić. Humanista to może tak... ale nie elektronik.
Howgh!


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)