Nay em theo dõi bài bên topic khác, vô tình đọc được setup foobar2000, có mục thiết lập load cả file nhạc vào RAM khá hay. https://diyaudioheaven.wordpre...tware/foobar-2000-for-dummies/ Rồi thấy trang này hay, đọc thêm bài về việc convert dsd/sacd sang wavpack để giảm dung lượng (giảm tầm 1/2, losslessly luôn), khi chạy file wavpack, foobar2000 vẫn decode và nhận DSD. Ae nào dùng ổ to không nói, ổ ssd mà muốn lưu nhiều file thì nên thử. Ổ 1TB của em cắm vào smpd, có gần 200 file *.ape, không được hỗ trợ, hí hửng convert sang wavpack (wv), lắp vào smpd vẫn không hỗ trợ. Lại bỏ ra convert sang flac hết. Mất mấy tiếng... Giờ em có câu hỏi không liên quan, có bác nào biết cách cài ntfs-3g vào smpd 0.9.6 không ạ, hoặc cách nào đổi định dang ổ ntfs sang vfat hay fat32 mà không mất dữ liệu? bản cho pi4 thì lại dễ cài hơn nhiều. Vụ không format, đổi định dạng chắc phải dùng mấy tool kiểu easeus.? Sent from my SM-G610F using Tapatalk
Hay thật, thuốc của bản windows dùng chung cho Linux, khác version luôn Có cách đưa menu [Folders & Filename Browsing] ra ngoài cùng cho tiện. (Em hay dùng nhất). Do nó nằm tít trong menu [Additional] Em đưa nó lên trên cùng luôn.
Bác @tml3nr cho em hỏi chút. Bác cài aprenderer lên smpd v0.9.6 có bị lỗi gì không ạ? Cùng 1 procedure, em cài lên moode 6.7 thì OK. Code: wget http://albumplayer.ru/linux/aprenderer-arm32.tar.gz tar -xzvf aprenderer-arm32.tar.gz sudo mv -v ./aprenderer /usr sudo cp -v /usr/aprenderer/aprenderer.service /etc/systemd/system sudo systemctl start aprenderer sudo systemctl enable aprenderer Lên smpd thì lỗi, load trang cấu hình bị lỗi, không save được. Sau em tìm được mẹo từ anh thanhvo31: Xóa file sau Code: sudo rm -f /etc/asound.conf Giờ chạy OK, mà log của nó báo lỗi: unable to open pcm device: device or resource busy card đã thiết lập đúng như dưới ạ. Code: pi@smpd:~ $ cat /etc/asound.conf pcm.!default { type hw card sndrpirpidac } ctl.!default { type hw card sndrpirpidac } pi@smpd:~ $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 pi@smpd:~ $
Em cài aprenderer trên smpd 0.9.6 bình thường ạ. Để em nhớ lại một vài đặc điểm của nó (Do em test trên nhiều OS nên em chỉ ráng nhớ những chổ bất thường): - Chỉ cần duy nhất file ap2renderer là chạy được. - Phải xác định rõ dac đang là device mấy? 0 hay 1 vì thông tin trên webui hơi mơ hồ. - Không nên set asound trên webui. - /etc/asound.conf em dùng như bên dưới có vẻ ổn với nhiều OS (Test Boss dac, Topping E30): Code: pcm.!default { type hw card 0 } ctl.!default { type hw card 0 } - aprenderer.service: Code: [Unit] Description=APlayer Media Renderer Service Wants=network-online.target After=network.target network-online.target [Service] Type=forking WorkingDirectory=/usr/aprenderer ExecStart=/usr/aprenderer/ap2renderer StandardOutput=null [Install] WantedBy=multi-user.target
Em nghĩ là do thằng smpd nó tích hợp driver chung cho nhiều dac chip khác nhau. ví dụ [rpi-dac] em thấy nó hỗ trợ cả PCM5122, cả ES9038Q2M... nên có thể việc điều khiển dac có gì đó đặc biệt. Thiết lập trên UI liên quan card là nó bị terminate liền. lỗi điều khiển card. Bình thường mấy cái support dưới phải là Yes, trừ Native DSD. Chắc bỏ qua vụ aprenderer trên smpd với cái card của em quá. Trên moode, dùng card pcm5122 thì em chạy bình thường. Nếu cần thiết em sẽ cài lại upmpdcli (trước em đã cài và dùng OK).
- Khi anh chạy trên moode. dtoverlay lấy là gì ạ? Nếu moode play OK thì bên smpd có set giống vậy không? - Trên smpd, sau khi stop mpd và aprenderer service. Nếu test bằng speaker-test hay aplay thì dac có phát ra âm thanh không? speaker-test -c 2 -D hw:0 aplay -D default:CARD=Device test.wav aplay -D hw:0 test.wav
Hiện em đang có 2 bộ pi 3b, - 1 bộ phòng ngủ cài moode + hifibery dac plus (PCM5122) -> aprenderer OK - 1 bộ phòng khách cài smpd + dac hat es9038q2m -> aprenderer NG. Có lẽ em sẽ đổi thẻ nhớ rồi tes thử trước. Code: pi@smpd:~ $ sudo systemctl stop aprenderer pi@smpd:~ $ systemctl stop mpd Failed to stop mpd.service: Access denied pi@smpd:~ $ sudo systemctl stop mpd pi@smpd:~ $ speaker-test -c 2 -D hw:0 speaker-test 1.0.28 Playback device is hw:0 Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Playback open error: -16,Device or resource busy pi@smpd:/var/lib/mpd/music/SD/Carla Bruni - No Promises [WAV] $ aplay -D hw:0 Autumn.wav aplay: main:722: audio open error: Device or resource busy Trên moode, dtoverlay như sau ạ:
Anh xem trong /boot/config.txt cho chính xác. Webui chổ asound không bình thường. Đừng quan tâm tab đó. Sau khi phát được âm thanh rồi (Set device đúng) mình mới tính tiếp tới device mixer (Nếu như dac có hardware volume).
Theo em tiếng của aprenderer rất hay ạ. Nếu chỉ so sánh riêng về upnp renderer thì aprenderer hay nhất từ trước tới giờ. upmpdcli là một plugin vào mpd. Nó không thể chạy nếu không có mpd. Khi có upmpdcli. Tiếng của mpd bị nặng, kém nhiều so với khi không có upmpdcli. Ngày trước, upmpdcli có plugin Tidal nên có ưu thế lớn. Mình có thể hy sinh chất lượng mpd để lấy tiện lợi. Nhưng sau này Tidal cắt mất API nên upmpdcli không cón Tidal connect nữa. Như vậy theo em dùng aprenderer có lợi hơn. Vậy mình có các lựa chọn sau: - MPD + aprenderer + Tidal connect shawaj - aprenderer + upnp server (asset upnp, minidlna...) + Tidal connect. - aprenderer + Tidal connect / upnp server chạy trên device khác. More info: https://www.lesbonscomptes.com/upmpdcli/ 2020-12-08 Version 1.5.5. Fix initial issues in 1.5.2. See the release notes. Note: Tidal access does not work any more at all. Qobuz access works through the media server, not through the Kazoo or Lumin login (OpenHome Credentials).
Trong /boot/config.txt Code: pi@smpd:~ $ cat /boot/config.txt # I2S DAC #dtoverlay=rpi-dac dtoverlay=rpi-dac Test nghịch một số cấu hình khác nhau. Code: pi@smpd:~ $ speaker-test -c 2 -D hw:0 speaker-test 1.0.28 Playback device is hw:0 Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Playback open error: -16,Device or resource busy pi@smpd:~ $ speaker-test -c 2 -D hw:1 speaker-test 1.0.28 Playback device is hw:1 Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise ALSA lib pcm_hw.c:1820:(_snd_pcm_hw_open) Invalid value for card Playback open error: -2,No such file or directory pi@smpd:~ $ aplay -L null Discard all samples (playback) or generate zero samples (capture) default sysdefault:CARD=sndrpirpidac snd_rpi_rpi_dac, Default Audio Device dmix:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Direct sample mixing device dsnoop:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Direct sample snooping device hw:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Direct hardware device without any conversions plughw:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Hardware device with all software conversions pi@smpd:~ $ speaker-test -c2 speaker-test 1.0.28 Playback device is default Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Playback open error: -16,Device or resource busy pi@smpd:~ $ speaker-test -c2 -D hw:CARD=sndrpirpidac speaker-test 1.0.28 Playback device is hw:CARD=sndrpirpidac Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Playback open error: -16,Device or resource busy
Em đổi thẻ nhớ từ smpd sang pi mà trước đó chạy moode. Rõ ràng smpd nó làm gì đó mà dù speaker-test hay aprenderer không thể control được sound card.
Lại về smpd, em mount NAS (Shared Folder từ máy tính Laptop) vào smpd. Code: thông số mount trong /etc/fstab //192.168.1.52/Music /var/lib/mpd/music/NAS cifs ro,noauto,x-systemd.automount,sec=ntlmssp,vers=2.1,rsize=7300,cache=none,iocharset=utf8,username=xxxxx,password=xxxxx mount xong, khởi động lại, quét lại thư viện nhạc, NAS xuất hiện bình thường, duyệt file bình thường. Nhưng không thể play được file. Xem log trong #cat /run/mpd/mpd.log Kiểu lỗi sau: Code: Sep 24 13:42 : errno: Failed to read: Input/output error Sep 24 13:42 : flac: problem reading metadata Sep 24 13:42 : player: played "NAS/Alisa Weilerstein - Solo (2014) [24-96]/08 - Seven Tunes Heard In China - I. Seasons.flac" Loay hoay mất bao lâu, sau mới nhớ ra có lần tác giả paparius có nói đến tham số direct_io trong mpd.conf Thử comment dòng sau Code: pi@smpd:/ $ sudo nano /etc/mpd.conf # Enable Direct I/O #direct_io "yes" pi@smpd:/ $ sudo systemctl restart mpd Thế là smpd chạy bình thường với file nhạc từ NAS, cũng như file nhac từ SD, ổ cứng
Hi anh @chuvanvu Em sực nhớ ra một chuyện. Không biết có liên quan đến trường hợp của anh hay không. Nhưng cũng khá hay nên em xin phép nhắc lại. Có thể dac của anh không chạy được 44.1KHz. Tương tự như hôm trước em test Topping E30. Như vậy khi phát nhạc 16/44.1. Mình cần phải upsampling lên 48KHz trước khi đẩy sang DAC. Ta có những cách sau: - Dùng "plughw:CARD=xx" Cái này có chức năng upsampling - Set cho upsampling từ server upnp. - Set cho upsampling từ app upnp control point. - Set cho upsampling từ MPD. Mời anh xem chơi ạ: https://www.hdvietnam.com/posts/10518246/
2 DAC còi của em bình thường mà, đều hỗ trợ 16/44.1 hết. Em đã đổi thẻ smpd OS sang pi cài moode mà cũng không được. Chứng tỏ OS của em có giới hạn gì đó. Giờ không biết có ai đã từng dùng được aprenderer trên smpd 0.9.6 không để có cơ sở. Mấy cái test từ dòng lệnh đều không hoạt động, mà vẫn play được nhạc bình thường từ giao diện web.
Em có nói bên trên ạ. Em đã cài aprenderer, minidlna và Tidal Connect vào bản smpd 0.9.6 rồi. Test với Boss dac và E30. https://www.hdvietnam.com/posts/10529639/
Vậy để em cài lại vào 1 thẻ mới và thử lại xem sao. OS hiện tại em disable ipv6, shairport, spotify, cài upmpdcli nhưng đang disable, cài assetupnp, cài aprenderer (đang disable)... nên không biết do đâu.
Sau khi cài aprenderer, bị hiện tượng giống hệt lần cài trước. Em nghĩ liên quan quyền với file /etc/asound.conf Mặc định như sau Code: pi@smpd:~ $ cat /etc/asound.conf pcm.!default{ type plug slave.pcm{ @func getenv vars [ DEFAULT_SAMPLE_FORMAT ] default "PIPE" } } pcm.S16{ type plug slave{ pcm "PIPE" } } pcm.S24{ type plug slave{ pcm "PIPE" format S24 } } pcm.S32{ type plug slave{ pcm "PIPE" format S32 } } pcm.PIPE{ type file slave.pcm null file "|exec /home/pi/misc/pcminfo.sh %f %r %c DEFAULT" format raw } Nên phải xóa file: Code: sudo rm -f /etc/asound.conf Xóa xong vào tab Card, nhập 0, lưu lại. Nó load được cấu hình, nhưng tab Status thì đều không support bất cứ output nào. Lại quay lại câu chuyện cũ. (
Em cũng không rõ cách test lắm, nhưng thấy speaker-test nó tự set Rate rồi (Rate set to 48000Hz ( ) Code: pi@smpd:~ $ sudo systemctl stop mpd pi@smpd:~ $ => Em khôi phục lại file asound.conf ban đầu pi@smpd:~ $ cat /etc/asound.conf pcm.!default{ type plug slave.pcm{ @func getenv vars [ DEFAULT_SAMPLE_FORMAT ] default "PIPE" } } pcm.S16{ type plug slave{ pcm "PIPE" } } pcm.S24{ type plug slave{ pcm "PIPE" format S24 } } pcm.S32{ type plug slave{ pcm "PIPE" format S32 } } pcm.PIPE{ type file slave.pcm null file "|exec /home/pi/misc/pcminfo.sh %f %r %c DEFAULT" format raw } pi@smpd:~ $ aplay -L null Discard all samples (playback) or generate zero samples (capture) default S16 S24 S32 PIPE sysdefault:CARD=sndrpirpidac snd_rpi_rpi_dac, Default Audio Device dmix:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Direct sample mixing device dsnoop:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Direct sample snooping device hw:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Direct hardware device without any conversions plughw:CARD=sndrpirpidac,DEV=0 snd_rpi_rpi_dac, Hardware device with all software conversions pi@smpd:~ $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 pi@smpd:~ $ speaker-test -c 2 speaker-test 1.0.28 Playback device is default Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 1 to 206158430 Period size range from 0 to 206158431 Using max buffer size 206158428 Periods = 4 was set period_size = 51539607 was set buffer_size = 206158428 0 - Front Left Segmentation fault pi@smpd:~ $ speaker-test -c 2 -D sysdefault:CARD=sndrpirpidac speaker-test 1.0.28 Playback device is sysdefault:CARD=sndrpirpidac Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Playback open error: -16,Device or resource busy pi@smpd:~ $ pi@smpd:~ $ speaker-test -c 2 -D plughw:CARD=sndrpirpidac speaker-test 1.0.28 Playback device is plughw:CARD=sndrpirpidac Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Playback open error: -16,Device or resource busy pi@smpd:~ $
Hiện tượng anh nói có khả năng là mpd đã tự động start nên alsa bị hold. smpd nó start service tự động bằng nhiều chổ khác nhau. Anh dùng lệnh sau sẽ rõ: systemctl list-units --all --state=running Anh lấy bản của em về test thử xem sao. Em đã disable hết những scripts tự động start service theo event. Cách dùng aplay để phát file wave 44 và 48KHz ra alsa là cách tốt nhất để xác định dac hoạt động như thế nào. PS: Dùng alsacap để test xem alsa đang free hay bị hold: http://www.mediafire.com/?8invik4msr8znln