Narzędzia użytkownika

Narzędzia witryny


pl:audio:moode

To jest stara wersja strony!


moode Audio Player

Configure

Library

Audio

  • Output device: 1:HiFiBerry DAC+
  • Volume type: Fixed (0db)
  • Device ready wait: 1 min (default)
  • Named I2S device: HiFiBerry DAC+
  • or DT overlay: None
  • Driver options: None available
  • Integrated audio: Kernel mode (default)

Network

System

Renderers

Peripherals

MPD

CamillaDSP

Multiroom Audio

Clock radio settings

Input Select

Inne

Konwersja i dzielenie pliku .ape lub .flac na pliki .flac

Wymogiem jest posiadanie do pliku .ape lub .flac pliku .cue z informacją o poszczególnych ścieżkach płyty.

shnsplit -f Kitaro-Silk_Road_Suite.cue -t "%n %t" -o flac Kitaro-Silk_Road_Suite.ape
shnsplit -f Kitaro-Silk_Road_Suite.cue -t "%n %t" -o flac Kitaro-Silk_Road_Suite.flac

Można też użyć gwiazdek i dodać katalog wyjściowy np out, ale uprzednio taki katalog musi być utworzony.

shnsplit -f *.cue -t "%n %t" -d out -o flac *.flac

Ponieważ w niektórych tytułach utworów pojawiają się niedozwolone znaki dla nazw plików jeszcze lepsze rozwiązanie to:

shnsplit -f *.cue -t "%n" -d out -o flac *.flac && cd out && cuetag.sh ../*.cue *.flac

Pliki są tylko numerowane ścieżką a tagowanie wykonane jest osobno poleceniem cuetag.sh.

Jeżeli shnsplit tworzy kilkusekundowy plik 00 to można użyć:

shnsplit -f *.cue -t "%n" -d out -o flac *.flac && cd out && rm -f 00.flac && cuetag.sh ../*.cue *.flac

Automatyczne odtwarzanie playlisty po uruchomieniu

sudo nano /etc/rc.local

dopisać przed exit 0:

# Autoplay playlist after boot (random + consume)
(
  sleep 10
  mpc clear
  mpc load "Muzyczka"
  mpc shuffle
  mpc random on
  mpc consume on
  mpc play
) &

Uruchomienie odpowiedniej playlisty w zależności od pory dnia

#Autoplay playlist after boot (random + consume)
(
  sleep 30
 
  HOUR=$(date +%H)
 
  if [ "$HOUR" -lt 12 ]; then
    PLAYLIST="Rano"
  elif [ "$HOUR" -lt 18 ]; then
    PLAYLIST="Popoludnie"
  else
    PLAYLIST="Wieczor"
  fi
 
  mpc clear
  echo "$PLAYLIST" > /tmp/current_playlist.txt
 
  # Próba załadowania wybranej playlisty. Jeśli się nie uda, ładuje zapasową "Muzyczka"
  if mpc load "$PLAYLIST" > /dev/null 2>&1; then
    echo "$PLAYLIST" > /tmp/current_playlist.txt
  else
    mpc load "Muzyczka"
    echo "Muzyczka" > /tmp/current_playlist.txt
  fi
 
  chmod 666 /tmp/current_playlist.txt
  mpc shuffle
  mpc consume on
  mpc play
) &

O czym musisz pamiętać?

  • Nazwy playlist: Upewnij się, że masz w moOde stworzone i zapisane dokładnie takie playlisty, jakich nazwy wpiszesz w skrypcie (np. Rano, Popoludnie, Wieczor – uważaj na wielkość liter).
  • Poprawny czas na Raspberry Pi: Aby ten skrypt działał prawidłowo, malinka musi znać aktualną godzinę. Jeśli jest podłączona do sieci/Internetu, czas ustawi się automatycznie przez NTP po uruchomieniu. Stąd opóźnienie sleep 10 jest bardzo ważne, by pobrać prawidłową godzinę przed wykonaniem skryptu.

Odpalenie odbiornika podczerwieni do pilota

Utworzenie urządzenia /dev/lirc0.

sudo nano /boot/firmware/config.txt

Jeżeli używasz nakładkę DAC zgodną z HiFiBerry dodajemy:

# Włączenie odbiornika IR na GPIO 26 w przypadku użycia HiFiBerry
dtoverlay=gpio-ir,gpio_pin=26

Następnie restart maliny:

sudo reboot

Sprawdzamy czy powstało urządzenie /dev/lirc0

ls -l /dev/lirc*

Sprawdzamy czy dioda coś odbiera gdy strzelamy do niej z pilota:

sudo ir-ctl -d /dev/lirc0 -r -1 -v

Jeżeli nie to walczymy z odpowiednim ustawieniem gpio_pin=XX. Jeżeli tak to instalujemy dwa pakiety:

sudo apt install -y v4l-utils ir-keytable

Uruchom polecenie:

sudo ir-keytable -p nec -t

W moim przypadku otrzymałem wynik:

Protocols changed to nec 
Testing events. Please, press CTRL-C to abort.
1037.356020: lirc protocol(nec): scancode = 0x7a04
1037.356060: event type EV_MSC(0x04): scancode = 0x7a04
1037.356060: event type EV_KEY(0x01) key_down: KEY_MEDIA(0x00e2)
1037.356060: event type EV_SYN(0x00).
1037.408071: lirc protocol(nec): scancode = 0x7a04 repeat
1037.408107: event type EV_MSC(0x04): scancode = 0x7a04
1037.408107: event type EV_SYN(0x00).
1037.516071: lirc protocol(nec): scancode = 0x7a04 repeat
1037.516244: event type EV_MSC(0x04): scancode = 0x7a04
1037.516244: event type EV_SYN(0x00).
1037.624064: lirc protocol(nec): scancode = 0x7a04 repeat
1037.624102: event type EV_MSC(0x04): scancode = 0x7a04
1037.624102: event type EV_SYN(0x00).
1037.756051: event type EV_KEY(0x01) key_up: KEY_MEDIA(0x00e2)
1037.756051: event type EV_SYN(0x00).

Interesuje nas kod 0x7a04. To jest kod mojego przycisku na pilocie. Sprawdzamy wszystkie pozostałe interesujące nas przyciski i wpisujemy do pliku:

sudo nano /etc/rc_keymaps/moj_pilot.toml

Z treścią:

[[protocols]]
name = "moj_pilot"
protocol = "nec"
 
[protocols.scancodes]
0x7a00 = "KEY_PLAY"
0x7a01 = "KEY_REWIND"
0x7a02 = "KEY_FASTFORWARD"
0x7a03 = "KEY_STOP"
0x7a04 = "KEY_MEDIA"
0x7a06 = "KEY_PAUSE"
0x7a07 = "KEY_PREVIOUSSONG"
0x7a40 = "KEY_NEXTSONG"

Następnie edytujemy plik:

sudo nano /etc/rc_maps.cfg

Na jego końcu dopisujemy:

*       *                        moj_pilot.toml

Po zapisaniu wykonujemy polecenie:

sudo ir-keytable -s rc0 -c -w /etc/rc_keymaps/moj_pilot.toml

Następnie edytujemy plik:

sudo nano /etc/triggerhappy/triggers.d/media.conf

Dopisujemy linie:

KEY_PLAY         1 /usr/bin/mpc play
KEY_REWIND       1 /usr/bin/mpc seek -10
KEY_FASTFORWARD  1 /usr/bin/mpc seek +10
KEY_STOP         1 /usr/bin/mpc stop
KEY_MEDIA        1 /usr/local/bin/next_playlist.sh
KEY_PAUSE        1 /usr/bin/mpc pause
KEY_PREVIOUSSONG 1 /usr/bin/mpc prev
KEY_NEXTSONG     1 /usr/bin/mpc next

Aby zaczęło działać w interfejsie moode audio w zakładce Configure –> Pherypherials zaznaczamy opcję Triggerhappy.

Dla pewności możemy wykonać polecenie:

sudo systemctl restart triggerhappy

Od tego momentu pilot powinien sterować mpc.

pl/audio/moode.1786511930.txt.gz · ostatnio zmienione: przez sindap

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki