Raspberry Pi + Rune Audio ::: Một trải nghiệm nghe nhạc mới

nqn_vnn

Well-Known Member
Đây bác, đang tính share bớt đi ... 2 chú USB, 2 chú GPIO, 1 chú USB/COAX/OPT

ACtC-3f0JNGxvGwnl2S62DFWGXOVnH2psR2r76JT4g89ldYxGDIeQX-8fMF28b1zGluQI_SqH6d2sY2aEFikk4SAbwwb9sr7jQdXFc4_LeISLad7eRG15Jk1jO98vHktJSV70k-YW_PG6y5lk8Y6MGj7C6HIgw=w1408-h1876-no
Em đã nhận được board... em nó đã hót. Thanks Bác.
 

tellme0823

Well-Known Member
add nas như nào bác, em làm hoài mà chả được. em xài Fifo Pi thì cần cài đặt như nào ah. thanks bác
Nas mình chưa thử, còn cấu hình thì có 2 mode slave và master. Master xài clock của board slave xài lock của pi, tuỳ con board của bác có lock rời hay không mà chọn tương ứng. Nếu chọn master bác phải đổi file bin.master thành file bin. Còn tên board bác chọn trong thiết định soundcard, mình cũng ko biết có board fifo của bác ko, tối về mình xem lại thử
 

dungsin_lqd

Well-Known Member
Em rất thích cách smpd config khi chạy một service nào đó thì sẽ tự động tắt những cái khác. Cực hay.

mpd_event.sh

Mã:
#!/bin/bash

sudo sync
sudo mount -a

if [ $? = 1 ]; then
  exit
fi

# cifs
if [ -e /var/lib/mpd/music/NAS/ ]; then
  sudo taskset -p $CIFS_AFFINITY $(pidof cifsd)
  sudo chrt --fifo -p $CIFS_PRIORITY $(pidof cifsd)
fi

count=0
while [ "$(pstree -ps mpd|grep -o player.* |sed -r 's/^.*}\((.*)\)$/\1/')" = "" ]
do
  sleep 0.1
  let ++count; if [ $count = 100 ]; then break; fi
done
if [ ! $count = 100 ]; then
  mpd=$(pidof mpd)
  io=$(pstree -ps mpd|grep -o io.*  |sed -r 's/^.*}\((.*)\)$/\1/')
  player=$(pstree -ps mpd|grep -o player.* |sed -r 's/^.*}\((.*)\)$/\1/')
  decoder=$(pstree -ps mpd|grep -o decoder.*|sed -r 's/^.*}\((.*)\)$/\1/')
  sudo renice -10 $mpd
  sudo taskset -p 8 $mpd
  sudo chrt --rr -p 1 $io
  sudo chrt --rr -p 1 $player
  sudo chrt --rr -p 50 $decoder
fi

spotify_event.sh

Mã:
#!/bin/bash

pcminfo=/run/pcminfo

case "$PLAYER_EVENT" in

  start)
   # stop playback
   /usr/bin/mpc stop > /dev/null

   # stop mpd
   sudo systemctl stop ympd
   sudo systemctl stop ympd.socket
   sudo systemctl stop mpd
   sudo umount /var/lib/mpd/music/NAS

   # stop shairport-sync
   sudo systemctl stop shairport-sync
   sudo sync
   sleep 0.4
   exit
   ;;

  stop)
   if [ ! "`cat /run/pcminfo |cut -d ' ' -f4`" = "DEFAULT" ];then
     exit
   fi
   # wakeup mpd
   sudo systemctl start ympd.socket
   sudo mount -a
   sudo systemctl start mpd

   # start shairport-sync
   sudo systemctl start shairport-sync
   sudo sync
   exit
   ;;
esac

exit 0

shairport_event.sh

Mã:
#!/bin/bash

case "$1" in

  begin)
   echo "$DEFAULT_SAMPLE_FORMAT 44100 2 AIRPLAY" > /run/pcminfo
   sudo systemctl restart pipe

   # stop mpd
   sudo systemctl stop ympd
   sudo systemctl stop ympd.socket
   sudo systemctl stop mpd
   sudo umount /var/lib/mpd/music/NAS

   # stop spotify-connect
   sudo systemctl stop spotifyd

   sync
   sleep 0.4
   exit
   ;;

  end)
   # wakeup mpd
   sudo systemctl start ympd.socket
   sudo mount -a
   sudo systemctl start mpd

   # wakeup spotify-connect
   sudo systemctl start spotifyd
   sync
   exit
   ;;
esac

exit 0
giờ muốn chơi audio chắc phải học thêm khoá linux quá...nhiều dòng code linux đọc vào mù tịt ....
 

mtminh

Well-Known Member
Cảm ơn bác. Bác chỉ giúp config nó ở đâu, hay mặc định có sẵn
Trong giao diên SOUND CARD không có applepi-dac.
Thư mục overlays có: applepi-dac.dtbo

Bác vào /boot/config.txt:

#dtoverlay=rpi-dac
dtoverlay=applepi-dac
---
Restart OS để nạp driver: applepi-dac
Dấu # đầu dòng: không dùng
 

toi511

Well-Known Member
Trong giao diên SOUND CARD không có applepi-dac.
Thư mục overlays có: applepi-dac.dtbo

Bác vào /boot/config.txt:

#dtoverlay=rpi-dac
dtoverlay=applepi-dac
---
Restart OS để nạp driver: applepi-dac
Dấu # đầu dòng: không dùng
Cảm ơn bác nhiều
 

tml3nr

Moderator
Ông dev "ku bó tay" hướng dẫn cài upmpdcli cho smpd. Em chưa rõ upmpdcli này có plugin Tidal hay không (Chắc là chưa có @@):

https://www.diyaudio.com/forums/pc-based/355137-symphonic-mpd-post6234406.html

Duanbui đã viết:
Hi papalius
How to stream UPNP from minimserver to Symphonic mpd. Thanks

kubotayo đã viết:
Hi Duanbui

Here is the way how to install upmpdcli in SMPD.

1. Activate port 6000
edit /lib/systemd/system/mpd.socket as follows to enable port 6600.

# for Web UI
ListenStream=%t/mpd/socket
# for Any other mpd clients
ListenStream=6600

2. Install the upmpdcli related libraries.

app install jsoncpp
app install libmicrohttpd
app install libupnpp
app install npupnp
app install upmpdcli

3. Create upmpdcli.conf.

#
# (Reference) /etc/upmpdcli.conf setting
#
#mpdhost = 127.0.0.1 (default)
#mpdport = 6600 (default)
friendlyname = SymphonicMPD (Any renderer name)
checkcontentformat = 0
openhome = 1
lumincompat = 1
ohproductroom = SymphonicMPD
ohmetapersist = 1
logfilename=/var/log/upmpdcli.log (Specifies that it should be logged)
loglevel = 3 (It won't start if you get a level 1 error)

4. Add to mpd.conf lines below.

#
# Setting of /etc/mpd.conf (Added the following)
#
input {
plugin "curl"
# proxy "127.0.0.1:8123" (No polipo in use, comment in)
}

5. Create a user named "upmpdcli" as it doesn't work as root.

useradd upmpdcli
touch /var/cache/upmpdcli

6. Confirm it's working properly.

upmpdcli -D -c /etc/upmpdcli.conf -l 1

7. Register upmpdcli to systemd.

- Cteate file
touch /lib/systemd/system/upmpdcli.service

- Edit
#
# (Reference)/lib/systemd/system/upmpdcli.service setting
#

[Unit]
Description=UPnP Renderer front-end to MPD
After=network.target mpd.service

[Service]
Type=simple
# Note: if start fails check with "systemctl status upmpdcli"
ExecStart=/usr/bin/upmpdcli -c /etc/upmpdcli.conf

Restart=always
RestartSec=1min

[Install]
WantedBy=multi-user.target

- Confirm
cat /lib/systemd/system/upmpdcli.service

8. Start and activate the upmpdcli.service

systemctl daemon-reload (Load the created umpdcli.service)
systemctl start upmpdcli.service (Simple activation, now you can use it)
systemctl enable upmpdcli.service (Activate at boot time, you can use it always)

Click here for the Japanese reference page.
ゴンザエモンのオーディオ日記 第48章 妄想と葛藤

yo
 
Chỉnh sửa lần cuối:
Bên trên