26

Odp: RaspberryPI i karta dźwiękowa

Usuń wcześniej mpd.conf przed instalacją. Bo skrypty startowe sprawdzają obecność playlist_directory i jak to nie ma to robią. U ciebie jest pusty, więc w ogóle nie czyta configa tego który zrobiłeś. Odinstaluj mpd, usuń /etc/mpd.conf jeżeli został, zainstaluj ponownie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

27

Odp: RaspberryPI i karta dźwiękowa

Reinstalowałem MPD. Ten komunikat o braku możliwości utworzenia pliku jest właśnie przy czystej instalacji (ze starym konfigiem towrzy nowy plik mpd.conf-opkg). Coś jest nie tak z tym konfigiem, bo jak jest cisza w logu to mpc coś nie pasuje:

root@RPI_HIFI:~# mpc add https://stream.nowyswiat.online/mp3
root@RPI_HIFI:~# mpc play
https://stream.nowyswiat.online/mp3
[playing] #1/1   0:00/0:00 (0%)
volume: n/a   repeat: off   random: off   single: off   consume: off
root@RPI_HIFI:~# mpc
https://stream.nowyswiat.online/mp3
[paused]  #1/1   0:00/0:00 (0%)
volume: n/a   repeat: off   random: off   single: off   consume: off
ERROR: Failed to open "My ALSA Device" (alsa); Failed to open ALSA device "default": Permission denied

28

Odp: RaspberryPI i karta dźwiękowa

Domyślnie to nie ma nawet nic zdefiniowanego a audio_output, więc nic dzianego że audio nie znalazł. Teraz go pozmieniaj po swojemu,

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

29 (edytowany przez nesus 2022-10-05 14:59:20)

Odp: RaspberryPI i karta dźwiękowa

Wiem, że konfig po instalacji  jest praktycznie pusty (poza plugin curl) i trzeba "coś" dopasować. W niektórych przypadkach automat potrafi sam wykryć kartę stąd zapewne problem ustawień. Dziwi mnie tylko ten "brak dostępu". Może kolega @roed, który walczył z kartami, wypowie się czym i jak uruchamiał dźwięk.

30

Odp: RaspberryPI i karta dźwiękowa

A jednak coś jest skopane w paczce z MPD:
- OpenWRT 22.03 ma MPD w wersji 0.23.9-1 która NIE działa.
- OpenWRT 21.02 ma MPD w wersji 0.21.26-1 która działa.
Nawet najnowsza dystrybucja Volumio ma MPD w "starej" działającej wersji 0.21.
Ktoś jeszcze chciałby to potwierdzić?

31 (edytowany przez roed 2022-10-07 07:31:51)

Odp: RaspberryPI i karta dźwiękowa

Ja mam tylko doświadczenia z pakietem mpd-mini. To całkowicie wystarcza dla radia MP3 lub AAC. Usługa mpd jest domyślnie uruchamiana na koncie mpd. Aby możliwe było odtwarzanie poprzez ALSA użytkownik musi należeć do grupy systemowej audio której domyślnie w OpenWRT nie ma. Ewentualnie można też mpd uruchomić na koncie root-a ale jest to mniej "bezpieczne".

Grupę audio można dodać "ręcznie" edytując plik /etc/group. Można też zainstalować paczki shadow-groupadd oraz shadow-usermod i dokonać modyfikacji za pomocą poleceń groupadd oraz usermod:

groupadd -r audio
usermod -a -G audio mpd

Jeżeli chcemy zmienić konto na którym działa usługa mpd to trzeba zmodyfikować plik /etc/init.d/mpd i zmienić USER oraz GROUP:

USER="root"
GROUP="root"

Na koniec trzeba zatrzymać i uruchomić usługę ponownie (nie restart):

service mpd stop
service mpd start

Wydaje mi się, że do odtwarzania radia internetowego opcja playlist_directory jest zbędna. Jednak jeżeli w konfigu nie ma tej opcji to trzeba też zmodyfikować /etc/init.d/mpd i wywalić/zakomentować linijki:

        #create mpd directories from config
        pld=$(grep ^playlist_directory "$CONFIGFILE" | cut -d "\"" -f 2 | sed "s/~/\/root/g")
        if [ ! -d "$pld" ]; then
                mkdir -m 0755 -p "$pld"
                chown $USER:$GROUP $pld
        fi

W sekcji audio_output można też ustawić mixer_type na hardware:

audio_output {
        type "alsa"
        name "Sound card"
        device "hw:0"
        mixer_type "hardware"
        mixer_device "hw:0"
        mixer_control "Digital"
        auto_resample "no"
}

mixer_control trzeba zmienić w zależności od posiadanej karty.

Poniżej moja pełna konfiguracja mpd (z pakietu mpd-mini):

log_level               "error"
bind_to_address         "127.0.0.1"
zeroconf_enabled        "no"
replaygain              "off"
volume_normalization    "no"
audio_buffer_size       "128"
connection_timeout      "120"

input {
        plugin "file"
        enabled "no"
}

input {
        plugin "alsa"
        enabled "no"
}

input {
        plugin "curl"
        enabled "yes"
}

resampler {
        plugin "internal"
        enabled "yes"
}

decoder {
        plugin "mad"
        enabled "yes"
}

decoder {
        plugin "vorbis"
        enabled "no"
}

decoder {
        plugin "oggflac"
        enabled "no"
}

decoder {
        plugin "flac"
        enabled "no"
}

decoder {
        plugin "opus"
        enabled "no"
}

decoder {
        plugin "faad"
        enabled "yes"
}

decoder {
        plugin "pcm"
        enabled "no"
}

playlist_plugin {
        name "extm3u"
        enabled "no"
}

playlist_plugin {
        name "m3u"
        enabled "no"
}

playlist_plugin {
        name "pls"
        enabled "no"
}

playlist_plugin {
        name "xspf"
        enabled "no"
}

playlist_plugin {
        name "asx"
        enabled "no"
}

playlist_plugin {
        name "rss"
        enabled "no"
}

playlist_plugin {
        name "flac"
        enabled "no"
}

playlist_plugin {
        name "cue"
        enabled "no"
}

playlist_plugin {
        name "embcue"
        enabled "no"
}

audio_output {
        type "alsa"
        name "Sound card"
        device "hw:0"
        mixer_type "hardware"
        mixer_device "hw:0"
        mixer_control "Digital"
        auto_resample "no"
        dop "no"
        replay_gain_handler "none"
}

32 (edytowany przez nesus 2022-10-08 19:35:20)

Odp: RaspberryPI i karta dźwiękowa

Tak myślałem, że zapewne chodzi o uprawnienia, bo tak sugerował komunikat Permission denied.
Na razie próbuję z v21.02 ale brakuje mi pakietu kmod-i2c-gpio-custom do wyświetlacza na i2c. W v22.03 też już go nie ma. Został czymś zastąpiony, czy uznano, że jest nie potrzeny? sad
Kolega @roed używa wyświetlacza do swojego radyjka?

33

Odp: RaspberryPI i karta dźwiękowa

Ten moduł nie jest dostępny dla kerneli 5.x.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

34

Odp: RaspberryPI i karta dźwiękowa

To jak użyć i2c?

35

Odp: RaspberryPI i karta dźwiękowa

W rpi masz chyba natywne i2c i moduł do tego. Więc jego użyj.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

36

Odp: RaspberryPI i karta dźwiękowa

Faktycznie. Wystarczy włączyć w /boot/config.txt

dtparam=i2c1=on