Vậy bạn đã xem lại cài đặt DAC trong MDP chưa. Nếu không được thì cài lại os xem sao. Hy vọng là chỉ lỗi phần mềm.
Một số tweak với smpd 0.9.6, tùy các bác quyết định nhé. 1) Cấu hình ntp server về VN cho "gần" Code: #sudo nano /etc/ntp.conf comment dòng đang có (thêm dấu # vào đầu dòng): #server ntp.nict.jp iburst Thêm dòng sau server 2.vn.pool.ntp.org iburst 2) Vô hiệu ipv6 Về kết nối Internet, số lượng nhà cung cấp có thể sử dụng thoải mái qua ipv6 đã tăng lên, nhưng tôi nghĩ có ý kiến cho rằng ipv6 là không cần thiết nếu bạn chỉ nghe nhạc trong môi trường khép kín tại nhà riêng. Vì vậy, lần này tôi sẽ giải thích cách vô hiệu hóa ipv6 với Raspberry Pi. Chỉnh sửa /etc/sysctl.conf. Vui lòng thêm hai dòng sau vào cuối. Code: sudo nano /etc/sysctl.conf . Bạn phải nhập để chỉnh sửa tệp vì cần nhóm người dùng là root . Code: net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 Nếu bạn khởi động lại Raspberry Pi Code: ifconfig hoặc Code: ip a nhập sau mô tả , địa chỉ MAC và địa chỉ IP của mỗi giao diện sẽ được hiển thị, nhưng địa chỉ ipv6 đã biến mất. (Sau đây là ví dụ về đầu ra ifconfig trong môi trường của tôi. Địa chỉ MAC bị ẩn.) eth0 Link encap:Ethernet HWaddr **:**:**:**:**:** inet addr:192.168.11.161 Bcast:192.168.11.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:110394 errors:0 dropped:2113 overruns:0 frame:0 TX packets:55921 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:2000 RX bytes:139225298 (132.7 MiB) TX bytes:7449674 (7.1 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:9 errors:0 dropped:0 overruns:0 frame:0 TX packets:9 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:720 (720.0 B) TX bytes:720 (720.0 B) Nhân tiện, bạn có thể tắt nó ngay lập tức bằng cách nhập lệnh sau mà không cần sửa đổi tệp, nhưng nó sẽ được khôi phục khi bạn khởi động lại bằng cách chỉ nhập lệnh. (/etc/sysctl.conf có thể được coi là thực thi lệnh sau khi khởi động.) Code: sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 Mở file /boot/cmdline.txt để chỉnh sửa . Thực ra, phương pháp được mô tả ở trên. Vì vậy netstat -a, nếu bạn xem xét tại nó, vẫn có một cái gì đó được gọi là "tcp6" (rõ ràng là v4-mapped-on-v6, nó có vẻ là một công nghệ sử dụng v4 trên ipv6). Nếu bạn muốn sẽ xóa tối đa anh chàng này, hãy thêm phần sau vào cuối cmdline.txt. Code: ipv6.disable=1 Tôi nghĩ rằng phần cuối của cmdline.txt của bạn kết thúc bằng Code: raspberrypi.throttled_poll_sec=0 , vì vậy hãy chèn một khoảng trắng sau phần này và khởi động lại Raspberry Pi sau khi viết phần trên. Tham khảo Code: dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0 dwc_otg.lpm_enable=0 sdhci_bcm2708.enable_llm=0 console=tty1 root=PARTUUID=55575038-02 rootfstype=ext4 idle=poll processor.max_cstate=1 elevator=noop fsck.repair=yes quiet rootwait logo.nologo cgroup_enable=cpuset isolcpus=0,1,2 xenomai.timerfreq=19200000 xenomai.sysheap_size=2048 xenomai.supported_cpus=0x00000002 rcu_nocbs=2 rcutree.rcu_fanout_leaf=4 snd_soc_bcm2835_i2s.dma_burst_length=8 snd_soc_bcm2835_i2s.tx_req_level=0 snd_soc_bcm2835_i2s.tx_sig_level=52 raspberrypi.throttled_poll_sec=0 ipv6.disable=1 3) Tắt Airplay/Spotify (Em chỉ dùng ổ cứng cắm ngoài, không dùng online). Tạo tệp sau Code: #sudo nano /home /pi/configs/shairport_disable.sh #!/bin/sh FLGDIR=/home/pi/configs if [ -e $FLGDIR/shairport.flg ]; then shair=0 else shair=1 fi case "$1" in start) if [ $shair -eq 0 ]; then echo "shairport-sync is already DISABLED" else if [ ! "`pidof shairport-sync`" = "" ]; then sudo systemctl stop shairport-sync.service fi sudo systemctl disable shairport-sync.service sudo systemctl mask shairport-sync.service touch $FLGDIR/shairport.flg echo "done! shairport-sync service is now disabled" #echo "If you want to take this config effect, please reboot!!" fi ;; stop) if [ $shair -eq 0 ]; then echo "enabling shairport_sync..." rm $FLGDIR/shairport.flg sudo systemctl unmask shairport-sync.service sudo systemctl enable shairport-sync.service sudo systemctl start shairport-sync.service echo "done! shairport-sync service is now enabled" #echo "If you want to take this config effect, please reboot!!" else echo "shairport_sync is already ENABLED" fi ;; status) if [ $shair -eq 0 ]; then echo "shairport-sync has been DISABLED by default" else echo "shairport-sync has been ENABLED by default" fi ;; esac exit 0 Cho phép thực thi với tệp mới tạo Code: sudo chmod +x shairport_disable.sh Tạo tệp spotify_disable.sh Code: #sudo nano /home /pi/configs/spotify_disable.sh #!/bin/sh FLGDIR=/home/pi/configs if [ -e $FLGDIR/spotifyd.flg ]; then spot=0 else spot=1 fi case "$1" in start) if [ $spot -eq 0 ]; then echo "spotifyd already DISABLED!!" else echo "disabling spotifyd..." if [ ! "`pidof spotifyd`" = "" ]; then sudo systemctl stop spotifyd.service fi sudo systemctl disable spotifyd.service sudo systemctl mask spotifyd.service touch $FLGDIR/spotifyd.flg echo "done! spotifyd service is now Disabled" #echo "If you want to take this config effect, please reboot!!" fi ;; stop) if [ $spot -eq 0 ]; then echo "enabing spotifyd..." rm $FLGDIR/spotifyd.flg sudo systemctl unmask spotifyd.service sudo systemctl enable spotifyd.service sudo systemctl start spotifyd.service echo "done! spotifyd serice is now Enabled" #echo "If you want to take this config effect, please reboot!!" else echo "spotifyd is already ENABLED!!" fi ;; status) if [ $spot -eq 0 ]; then echo "spotifyd has been DISABLED by default" else echo "spotifyd has been ENABLED by default" fi ;; esac exit 0 Cho phép thực thi với tệp mới tạo Code: sudo chmod +x spotify_disable.sh Như sẽ được mô tả ở phần sau, hai tệp này dùng để tạo tệp cờ để vô hiệu hóa shairport-sync và spotifyd + xóa tập lệnh systemd của mỗi daemon khỏi / v.v. Tệp được viết lại (theo /home/pi/configs) shairport_event.sh Code: #!/bin/bash FLGDIR=/home/pi/configs if [ -e $FLGDIR/spotifyd.flg ]; then spot=0 else spot=1 fi 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 if [ $spot -eq 1 ]; then sudo systemctl stop spotifyd sync sleep 0.4 fi exit ;; end) # wakeup mpd sudo systemctl start ympd.socket sudo mount -a sudo systemctl start mpd # wakeup spotify-connect if [ $spot -eq 1 ]; then sudo systemctl start spotifyd sync fi exit ;; esac exit 0 spotify_event.sh Code: #!/bin/bash FLGDIR=/home/pi/configs if [ -e $FLGDIR/shairport.flg ]; then shair=0 else shair=1 fi 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 if [ $shair -eq 1 ]; then sudo systemctl stop shairport-sync sudo sync sleep 0.4 fi 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 if [ $shair -eq 1 ]; then sudo systemctl start shairport-sync sudo sync fi exit ;; esac exit 0 Các tệp này được mô tả để dừng hoặc khôi phục các dịch vụ khác khi một số sự kiện xảy ra trong shairport-sync hoặc spotifyd (khi bắt đầu hoặc kết thúc phát lại, v.v.). Cách sử dụng Kết nối ssh vào pi, cd vào /home/pi/configs như sau. Khi vô hiệu hóa AirPlay ( vô hiệu hóa shairport-sync) Code: sudo ./shairport_disable.sh start Nếu bạn không sử dụng Spotify (vô hiệu hóa Spotifyd) Code: sudo ./spotify_disable.sh start Tiếp theo, nếu bạn đã vô hiệu hóa nó bằng phương pháp trên nhưng muốn khôi phục lại Nếu bạn muốn khôi phục AirPlay (bật shairport-sync) Code: sudo ./shairport_disable.sh stop Để khôi phục Spotify (bật Spotifyd) Code: sudo ./spotify_disable.sh stop 4) Thay đổi tham số MPD Buffer size mặc định của MPD là 4096 kb, và buffer_before_play là 10%. Tuy vậy SMPD được tune về tương ứng là 640kb và 75% thì phải. Nay em nghịch disable ipv6 rồi thấy tham số đó, em đã đổi lên 1024kb và 30% thấy tiếng long lanh hơn chút. Rồi em đổi lại về 4096kb (tương đương tham số bên moode, chỉ cho set tối thiểu là 4096) và 20%. Mọi người nên thử thay đổi tham số để tìm giá trị phù hợp với hệ thống của mình.
Tiếp tục một số tweak với smpd 0.9.6, tùy các bác quyết định nhé. 5) Di chuyển 2 folder /tmp và /var/tmp vào bộ nhớ RAM. Code: #sudo nano /etc/fstab Code: tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=0777 0 0 tmpfs /var/tmp tmpfs defaults,size=32m,noatime,mode=0777 0 0 Ctrl+O để lưu, Ctrl+X để thoát nano. Sau đó xóa 2 folder trên thẻ và khởi động lại (Phải rất cẩn thận) Code: #sudo rm -rf /var/tmp #sudo rm -rf /tmp #sudo reboot Sau khi khởi động lại, xem kết quả
Tiếp tục một số tweak với smpd 0.9.6, tùy các bác quyết định nhé. 6) Mở rộng thẻ nhớ và copy nhạc vào thẻ. Code: sudo raspi-config noint --expand-rootfs sudo reboot (1) Copy nhạc vào folder USB, với user pi When using the USB directory as it is in the standard state. Enter the following command at ssh login. Code: sudo chmod 777 /var/lib/mpd/music/USB Now you can write to /var/lib/mpd/music/USB with user pi, and you can transfer files with Filezilla, WinSCP etc. (2) Copy nhạc vào thẻ SD Tạo folder SD: Code: sudo mkdir /var/lib/mpd/music/SD sudo chown pi.pi /var/lib/mpd/music/SD sudo chmod 777 /var/lib/mpd/music/SD sửa file /etc/rc.local Code: sudo nano /etc/rc.local Tìm 2 dòng sau Code: mpc update RAM mpc update USB Thêm vào dòng này Code: mpd update SD Lưu lại (Ctrl+O, Enter, Ctrl+X) Có thể dùng WinSCP copy file vào folder SD ở trên. Trên giao diện web, chọn "UPDATE LIBRARY" hoặc gõ lệnh (mpc update SD) để cập nhật thư viện cho mpd.
Em hầu như không dùng upnp, chỉ thử cho biết. Do cái UPnP Controller trên foobar chuối quá, không dùng được với APlayer Media Renderer, em tìm thấy 1 phần mềm chạy trên Windows và cả MAC OS là Audionet RCP làm Remote Control Point chạy ổn, và quan trọng là free. http://en.audionet.de/apps/rcp/ Features Play audio data, which is provided by an UPnP server Create and save playlists Setup all device parameters Input channel selection (dropdown menu) Volume control and muting, as well as switching on and off Easy adjustment of equalizer with graphical visualization Loading and saving of user settings Saving and running of FM radio stations System Requirements Java Runtime Environment Version 7 or higher PC: Windows 98/2000/2003/XP/Vista/Windows 7/Windows 8 Mac: OS X Version 10.6 or higher
Cho mình hỏi. Hiện giờ hệ điều hành nào để phát nhạc trên Pi là ổn nhất ạ. Em đọc sơ qua có thấy volumio, rune audio, moode và cả picoreplayer nữa. Phân vân quá không biết chọn hệ điều hành nào. Nhà em được tặng 1 con pi3, 1 cái dac tên là boss dac. Tài sản có ổ cứng chứa chút ít nhạc ạ
Mình cũng k biết bây giờ sao. Xưa có dùng qua thấy cũng ổn. Mà nay nó làm gì nâng dung lượng file img lên cả mấy gb.
Volumio cho dễ sử dụng bác, vì còn có thể sử dụng thêm nền tảng music streaming khác như Tidal, Spotifly... Để xem trực quan nhất thì bác coi Clip này thì bác sẽ chọn được phần mềm tùy ý của bác.
Em không chơi online, nên em dùng smpd v0.9.6 cho pi3. Em không rõ nhu cầu của bác, có mua nhiều dịch vụ online (Tidal, spotify...) không ạ? Mới chơi và ít kinh nghiệm về linux (dòng lệnh) bác nên chọn Volumio hay MoodeAudio là dễ nhất ạ. Bác cũng đừng kỳ vọng quá là pi so sánh được với CD tầm tầm (vì bản thân mạch pi có trên dưới 1 triệu thôi và nó không được làm ra chuyên biệt dùng cho audio).
Hôm nay rỗi xem lại thấy Volumio có chơi đc với Tidal e vừa thử cài, hình như phải đk mua tk Volumio mới dùng đc chức năng này, hơi buồn một tẹo
Nếu chọn volumio. Mount nhạc từ nas nội bộ để chơi trên volumio SO VỚI phát nhạc bằng giao thức UpnP thì hiệu năng với chất lượng nhạc nào dc đảm bảo nhất ạ
Đầu tiên là bác @tml3nr chia sẻ về smpd trong topic này. Bác cứ tìm lại đọc hết về smpd là có. Đây là bộ cài cho pi3/2: https://drive.google.com/file/d/1KS6szyVefg9aLLvta48yL2PR1LQqONI1/view?usp=sharing Mặc định ban đầu nó chơi kiểu NAS và dây LAN, nên nó tắt wifi, tắt cổng USB và đèn LED giảm nhiễu. Em phải bật wifi, và cổng USB để cắm ổ cứng trực tiếp.
Vâng ạ. Đọc thấy bác cũng từng xài qua moode. Moode lấy nhạc từ nas rồi phát thông DAC. Với lại dùng phần mềm upnp đẩy nhạc từ minimsever sang moode. Theo bác cách nào ổn hơn ạ
Cái này có vẻ ổn bác ah. Nhưng em không biết làm bằng cách nào. piCoreplayer hình như là 1 hệ điều hành đảm bảo điều này. Nhưng e mò chưa ra
Em không có NAS, với lại tùy vào hệ thống nữa. Xịn hẳn thì có lẽ các bác ít dùng pi. Nên hầu như 2 giao thức kia hầu như không khác nhau đâu ạ. Bác cứ thử và cảm nhận. Cái ấy setup thêm được mà bác, nên không cần phân vân nhiều vậy. Lúc đầu bác cứ mount NAS và nghe cho quen đã. Bác đầu tư vào nguồn tốt thì cảm nhận rõ hơn là cấu hình.
Báo cáo bác, hôm qua em mới thử AM, nhưng khi chọn cast qua Chromecast tới NP5 thì nó ko play được trên AM. Em phải chọn "Truyền nhạc" trên Goole Home rồi quay lại AM Play mới ra được NP5. Trong khi đó mConnect thì vẫn chơi qua Chromecast của NP5 mình thường.
Em đang đặt mua 1 DAC cũng định cắm I2S theo chân như bác hướng dẫn. Em phải làm ntn để khai trg config file. Em cảm ơn