Raspberry Pi - Music Server

Discussion in 'Nguồn phát từ máy tính' started by bazokaster, 16/4/15.

  1. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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
     
    Last edited: 21/9/21
    thichPi likes this.
  2. thichPi

    thichPi Advanced Member

    Joined:
    16/3/21
    Messages:
    464
    Likes Received:
    568
  3. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
  4. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Hay thật, thuốc của bản windows dùng chung cho Linux, khác version luôn :)

    upload_2021-9-23_16-30-17.png
    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.
    upload_2021-9-23_16-36-57.png
     
    Last edited: 23/9/21
    Rndce and TQ_Audio like this.
  5. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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:~ $
     
  6. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    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
     
    Last edited: 23/9/21
    chuvanvu likes this.
  7. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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.


    upload_2021-9-23_19-22-21.png

    Thiết lập trên UI liên quan card là nó bị terminate liền.
    upload_2021-9-23_19-26-4.png
    lỗi điều khiển card.
    upload_2021-9-23_19-31-33.png

    Bình thường mấy cái support dưới phải là Yes, trừ Native DSD.
    upload_2021-9-23_19-26-46.png

    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).
     
    Last edited: 23/9/21
  8. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    - Anh stop mpd rồi test lại. Có vẻ alsa bị hold.

    - Anh test với card onboard thử xem sao ạ.
     
    Last edited: 23/9/21
    chuvanvu likes this.
  9. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Phương án stop mpd service em đã thử rồi mà không được.
    Em sẽ thử test với card onboard xem sao.
     
  10. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    - 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
     
    chuvanvu likes this.
  11. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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 ạ:
    upload_2021-9-23_23-58-10.png
     
    Last edited: 24/9/21
    tml3nr likes this.
  12. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    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).
     
    Last edited: 24/9/21
  13. oneclicklogin

    oneclicklogin Advanced Member

    Joined:
    18/12/12
    Messages:
    1.129
    Likes Received:
    852
    apprenderer nghe chất âm so với upmpdcli như thế nào bác?
     
  14. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    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).
     
    Last edited: 24/9/21
    chuvanvu, oneclicklogin and TQ_Audio like this.
  15. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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
     
    tml3nr likes this.
  16. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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.

    upload_2021-9-24_9-44-7.png

    upload_2021-9-24_9-46-35.png
     
    tml3nr likes this.
  17. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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
     
    Last edited: 24/9/21
    tml3nr and TQ_Audio like this.
  18. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    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/

     
    TQ_Audio and chuvanvu like this.
  19. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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.
     
  20. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    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/

     
    Last edited: 25/9/21
    chuvanvu likes this.
  21. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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.
     
  22. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Sau khi cài aprenderer, bị hiện tượng giống hệt lần cài trước.

    upload_2021-9-25_21-31-29.png

    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.

    upload_2021-9-25_21-43-40.png

    Lại quay lại câu chuyện cũ. :((
     
  23. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    Anh đã disable mpd và dùng aplay test file wav xuất ra dac trên từng output của alsa chưa ạ?
     
    Last edited: 25/9/21
  24. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    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:~ $
     
  25. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    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
     
    Last edited: 25/9/21

Share This Page

Loading...