Raspberry Pi - Music Server

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

  1. thonon

    thonon Advanced Member

    Joined:
    7/9/07
    Messages:
    535
    Likes Received:
    196
    Hi vâng đúng ạ.thanks bác
     
  2. Xp18

    Xp18 Approved Member

    Joined:
    11/3/19
    Messages:
    17
    Likes Received:
    22
    Mình có boss dac v1 đang cần nâng cấp. Mình inbox gửi bạn nhé
     
    tml3nr likes this.
  3. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Các bác cho hỏi, em đã thấy phối hợp 2 tầng lọc nguồn bằng 2 board nguồn dùng ic LT1963 sang board LT3042/3045s.

    Vậy có chút tác dụng tốt hơn chút nào không nếu em phối hợp 2 board gần giống nhau LT1084 từ biến áp 8VAC sang 6VDC, vào board LT1963, ra 5VDC.? Có bác nào thử và đo chưa ạ? (Em đoán diode và IC bên board LT1963 sẽ bớt "vất vả" hơn chút)
     
    tml3nr and tieuphi2006 like this.
  4. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Em lang thang thấy có cách tweaks OS trên pi bằng script (cho nhanh).

    Có ông bảo, sau khi tweaks, ngang ngửa Audirvana

    I wanted to change the system to network audio, so I chose Raspberry Pi. It was very easy to complete the network audio system.
    I tried moOde and Volumio, but the sound quality was not satisfying compared to Audirvana.
    However, when I tried Sound Tweaks of this thread, the sound quality became equivalent to Audirvana. I am very satisfied with it.
    Because moOde is flexible to our request and updates frequently, I like it very much.


    Raspberry Pi: Model 3B+
    HAT: Allo DigiOne
    PSU: iFi Audio iPower, Allo 5V Power Supply (Apple 18W USB-C Power Adapter <- I will try sometime soon)

    http://moodeaudio.org/forum/showthread.php?tid=749&page=5
    https://github.com/dynobot/Linux-Audio-Adjustments

    Automated Install
    Automated Removal
    Note: System will reboot after install and removal

    Khả năng bác @tml3nr vào cho ít đánh giá:
    File: basic-install.sh

    #!/bin/bash
    border()
    {
    local title="| $1 |"
    local edge=${title//?/-}
    echo -e "${edge}\n${title}\n${edge}"
    sleep 1
    }
    border 'Downloading Sound File'
    wget https://github.com/dynobot/Linux-Audio-Adjustments/raw/master/Sound.sh -O /usr/bin/Sound.sh
    chmod 755 /usr/bin/Sound.sh
    border 'Increasing Sound Group Priority'
    [[ -f /etc/security/limits.conf ]] && mv /etc/security/limits.conf /etc/security/limits.conf.bak
    echo '#New Limits' > /etc/security/limits.conf
    echo '@Audio - rtprio 99' >> /etc/security/limits.conf
    echo '@Audio - memlock 512000' >> /etc/security/limits.conf
    echo '@Audio - nice -20' >> /etc/security/limits.conf
    border 'Improving Network Latency'
    echo "#New Network Latency" > /etc/sysctl.d/network-latency.conf
    echo 'net.core.rmem_max = 16777216' >> /etc/sysctl.d/network-latency.conf
    echo 'net.core.wmem_max = 16777216' >> /etc/sysctl.d/network-latency.conf
    border 'Creating System Service'
    [[ -f /etc/rc.local ]] || echo -e '#/bin/bash\n\nexit 0' > /etc/rc.local
    grep -q '/usr/bin/Sound.sh' /etc/rc.local || sed -i '\|^#!/bin/.*sh|a\/usr/bin/Sound.sh' /etc/rc.local
    chmod +x /etc/rc.local
    #systemctl enable rc-local || systemctl enable rc.local
    border 'Rebooting System Enjoy the Music'
    reboot
    ---------------
    File Sound.sh

    #!/bin/bash
    #Reduce Audio thread latency
    chrt -f -p 54 $(pgrep ksoftirqd/0)
    chrt -f -p 54 $(pgrep ksoftirqd/1)
    chrt -f -p 54 $(pgrep ksoftirqd/2)
    chrt -f -p 54 $(pgrep ksoftirqd/3)
    #Uncomment for MPD Affinity and Priority
    #chrt -f -p 81 $(pidof mpd)
    #taskset -c -p 1 $(pidof mpd)
    #SPDIF HAT and WiFi users Uncomment to turn off power to [Ethernet and USB] ports
    #echo 0x0 > /sys/devices/platform/soc/3f980000.usb/buspower
    #Reduce operating system latency
    echo noop > /sys/block/mmcblk0/queue/scheduler
    echo 1000000 > /proc/sys/kernel/sched_latency_ns
    echo 100000 > /proc/sys/kernel/sched_min_granularity_ns
    echo 25000 > /proc/sys/kernel/sched_wakeup_granularity_ns
    exit
     
    Last edited: 30/12/19
    tml3nr, tieuphi2006 and chipno like this.
  5. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    e vừa cài script trên, thấy giao diện web của moode đỡ đơ hơn. hơi lạ. có lẽ ưu tiên chạy mpd.

    có 1 điểm chưa thử là tắt nguồn ra cổng usb và LAN. ko hiểu lúc cần cắm usb thì có đọc được không?

    âm thanh có thay đổi chút, âm bass chặt hơn (ko phải sâu hơn), kiểu đầm, mịn do kiểm soát tốt. nhưng so sánh với đổi cấp nguồn qua gpio thì ko nhiều thay đổi bằng.
     
    tieuphi2006 and tml3nr like this.
  6. chauphuong

    chauphuong Advanced Member

    Joined:
    4/4/12
    Messages:
    2.321
    Likes Received:
    1.772
    Nếu là bài của Dynobot thì tôi dùng cả năm rồi, cổng Lan và usb chạy bình thường. Hay bây giờ hắn thêm vài dòng lệnh?
     
    chuvanvu likes this.
  7. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    đúng rồi bác. trong file Sound.sh đang để commented. (default). dynobot bảo là uncomment để tắt nguồn ra cổng usb và LAN. Bác thử chưa ạ? e nghe từ tối, thấy dễ chịu quá :).

    HAT and WiFi users Uncomment to turn off power to [Ethernet and USB] ports
    #echo 0x0 > /sys/devices/platform/soc/3f980000.usb/buspower

    em vừa thử tắt nguồn usb và LAN, mặc dù dùng hdd 3.5 orico nguồn rời nhưng không đọc được file nhạc. e lại phải comment dòng đó.
     
    Last edited: 30/12/19
    tml3nr likes this.
  8. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510

    Mấy cái settings này nhìn chung là đúng và hay anh ạ. Rất cần thiết cho các OS stock, hay moode, volumio. Riêng Rune thì họ đã làm trước hết rồi.

    Đa phần các settings này hợp lý với mọi setup. Ngoại trừ các mục sau anh nên lưu ý, vì nó ảnh hưởng nhiều đến âm thanh và tác động của nó khi phối hợp với nhau hơi khó kiểm soát. Nên test kỹ từng mục. Có cái tiện là mình thay đổi được khi đang phát nhạc nên dễ cân chỉnh.

    #1:

    Code:
    #Reduce Audio thread latency
    chrt -f -p 54 $(pgrep ksoftirqd/0)
    chrt -f -p 54 $(pgrep ksoftirqd/1)
    chrt -f -p 54 $(pgrep ksoftirqd/2)
    chrt -f -p 54 $(pgrep ksoftirqd/3)
    Settings này xuất phát từ pro audio linux. Tiếng attack hơn, nhưng có thể hơi khô.

    #2:

    Code:
    #Reduce operating system latency
    echo noop > /sys/block/mmcblk0/queue/scheduler
    echo 1000000 > /proc/sys/kernel/sched_latency_ns
    echo 100000 > /proc/sys/kernel/sched_min_granularity_ns
    echo 25000 > /proc/sys/kernel/sched_wakeup_granularity_ns
    Đặc biệt lưu ý các mục sau. Nên thay đổi từng cái để cảm nhận biến đổi của nó. Phối hợp 3 cái này lại với nhau có thể nói là khó nhất trong các tweak. Ảnh hưởng rất lớn đến âm thanh:

    sched_latency_ns

    sched_min_granularity_ns

    sched_wakeup_granularity_ns

    #3:

    Code:
    #Uncomment for MPD Affinity and Priority
    #chrt -f -p 81 $(pidof mpd)
    #taskset -c -p 1 $(pidof mpd)
    Mục này rất cần thiết cho MPD, nhưng em e là chưa đủ và không chắc là phù hợp với mọi OS hay mọi version MPD.

    Theo em được biết thường có các quan điểm khác nhau về optimize MPD như sau:

    - Dùng taskset

    - Dùng nice

    - Dùng chrt để thay đổi real-time scheduling của process

    - Dùng CPUAffinity=x

    - Dùng:

    CPUSchedulingPolicy=xx

    CPUSchedulingPriority=xx

    IOSchedulingClass=realtime

    - Dùng Isolate CPU phối hợp với các settings khác

    Túm lại: Mỗi OS hay version MPD âm thanh khác nhau rất nhiều. Mình nên test kỹ để nắm được đặc điểm của mỗi setting. Sau đó tùy theo âm thanh hiện tại mà mình sẽ dùng như thế nào để gia giảm cho ra kết quả như ý muốn.
     
    Last edited: 31/12/19
    eziodavinci, TQ_Audio and chuvanvu like this.
  9. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    nhìn qua đã thấy phức tạp và tốn nhiều công sức rồi. bác @tml3nr đúng là đam mê. hôm trước đọc qua bài bác review sơ sơ mấy sợi dây 400 đô trở xuống cũng đã thấy bỏ bao nhiêu công sức trong 20 năm :).
     
    tml3nr likes this.
  10. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    Dạ cũng vì tò mò và ham hố nên em ráng đu đeo. May mắn là được nhiều người giúp đỡ nên em học hỏi được nhiều thứ, hay lắm anh ạ :D

    Nếu anh có hứng thú với các vụ optimize OS, MPD này xin cho em biết. Em sẽ chia sẻ trong khả năng hiểu biết bèo nhèo của em.

    Lúc đầu thường rất khó chịu khi chạy lệnh và test âm thanh, nhưng khi quen rồi anh sẽ thấy rất dễ làm và phân biệt tác động của mỗi thứ.
     
    Last edited: 31/12/19
    tieuphi2006 and chuvanvu like this.
  11. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    cảm ơn bác, e học i tờ nên Linux không ngại lắm, nhưng cũng hơi lười lười thử (do đồ cũng bèo quá :).

    em sẽ đọc thêm các bài trên vnav và hdvietnam, có gì khúc mắc em sẽ học hỏi thêm ở bác.
     
    TQ_Audio, tieuphi2006 and tml3nr like this.
  12. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    mặc định mục này không enable.

    #Uncomment for MPD Affinity and Priority
    #chrt -f -p 81 $(pidof mpd)
    #taskset -c -p 1 $(pidof mpd)

    lúc e edit file Sound.sh, thử bỏ comment cả mục này và tắt nguồn usb và LAN, sau phải comment vụ tắt nguồn, nhưng vẫn đang uncomment 2 dòng trên.

    em thấy bass bó chặt, và mịn quá, tiếng hơi mỏng và cao, nghe bằng kiều thì cao, hay modern talking thì bass không đủ ép phê. (e nghe bằng tai nghe).

    dường như 2 setting trên không hợp.
     
    tml3nr likes this.
  13. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Theo luồng tweaks, em thấy nguồn tốt vẫn mang đến nhiều thay đổi tốt hơn tweaks (Tất nhiên phối hợp cả 2 thì tốt nữa :)).
    Bác @tml3nr vẫn chơi nguồn 1x đúng không? Lúc nào bác thử cấp 2 nguồn riêng biệt cho pi và DAC, nhưng pi thì cấp qua GPIO xem có đỉnh nhất/tốt nhất từ trước tới nay không ạ? :)

    Con DAC tàu của em không biết làm sao cấp riêng nguồn (Chắc phải gỡ con trở nào đó). Nếu cấp được riêng (Em đang hỏi thằng bán mà chắc nó không trả lời), và nếu setting trên bác thử có triển vọng tốt hơn nữa, chắc em sẽ mua thêm r-core và LT3042/3045 cấp cho DAC, cấp 2 nguồn riêng biệt cho PI và DAC.
     
    tml3nr likes this.
  14. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    Để em cố gắng phân nhóm các settings rồi viết ra cho dễ hiểu. Em muốn làm lâu rồi nhưng chưa sắp xếp được sao cho hợp lý.

    Hơi khó nói vì phần lớn các setting này làm thay đổi âm thanh tương đối ít và khó mô tả đặc trưng của mỗi cái, nhưng khi kết hợp nhiều cái với nhau sẽ làm thay đổi lớn. Và nhất là tùy theo âm thanh hiện tại mà thay đổi này có lợi hay không o_O
     
    Last edited: 31/12/19
    chuvanvu likes this.
  15. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    - Cấp 2 nguồn riêng biệt cho pi và DAC, nhưng pi thì cấp qua GPIO: Em chưa thử cái này o_O

    - Nguồn tốt vẫn mang đến nhiều thay đổi tốt hơn tweaks: Dĩ nhiên là vậy ạ, thay đổi về phần cứng mạnh hơn phần mềm nhiều. Nhưng khác nhau giữa các OS, settings hay version MPD cũng rất lớn.
     
    chuvanvu likes this.
  16. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    Em đã gỡ tweak trên rồi. mid bass và vocal rất tách bạch, hay, nhưng low bass bị bó chặt, không sâu lắm. nghe vocal hay ghi ta, giao hưởng thì hay, nhưng nghe dance thì dở quá. Không biết phải phối hợp tweak kiểu gì mà tách bạch mid, treble nhưng giữ được độ động, sâu của bass :)
     
    daonguyenvan and tml3nr like this.
  17. tml3nr

    tml3nr Advanced Member

    Joined:
    30/4/07
    Messages:
    3.082
    Likes Received:
    3.510
    Em vẫn chưa lên được dàn bài cho việc optimize toàn tập. Tạm thời mình làm trước như vầy. Các lệnh em dùng ở đây chủ yếu trên Archlinux, với Raspbian nếu có khác, anh chịu khó search các lệnh tương đương nhé.

    Bảo đảm là đang chạy OS gốc và phải kiểm soát được tất cả các thay đổi. Thử từng lệnh và sau đó trả lại như cũ trước khi test lệnh mới (Vì lúc đầu chưa quen tai, các thay đổi chồng lên nhau rất khó biết).

    Các vòng bên dưới em tính từ an toàn (Thường hợp lý với nhiều OS) đi dần lên các settings ảnh hưởng lớn đến âm thanh (Lợi hay hại tùy thuộc nhiều yếu tố khác).

    Vòng 1: Kiểm tra các service đang chạy bằng các lệnh sau. Cái nào không cần thiết nên disable:

    Check:

    systemctl list-unit-files --state=enabled

    systemctl --user list-unit-files --state=enabled

    Vòng 2: Tối ưu network:

    Check:

    cat /proc/sys/net/core/rmem_max

    cat /proc/sys/net/core/wmem_max

    Set lại và so sánh âm thanh với các giá trị sau:

    echo xxx > /proc/sys/net/core/rmem_max

    echo xxx > /proc/sys/net/core/wmem_max

    163840

    12582912

    16777216

    Vòng 3: Set kernel scheduler (Cái này ảnh hưởng rất nhiều đến âm thanh. Phải test thật kỹ)

    Check:

    cat /proc/sys/kernel/sched_latency_ns

    cat /proc/sys/kernel/sched_min_granularity_ns

    cat /proc/sys/kernel/sched_wakeup_granularity_ns

    Thay đổi lần lượt từng cái với các giá trị tăng giảm, để tìm ra giá trị hợp lý:

    echo xxx > /proc/sys/kernel/sched_latency_ns

    echo xxx > /proc/sys/kernel/sched_min_granularity_ns

    echo xxx >/proc/sys/kernel/sched_wakeup_granularity_ns

    Vòng 4: Kiểm tra và set priority, nice cho process:

    Check:

    ps -eo cpuid,pid,tid,cls,rtprio,pri,nice,comm | sed -n -e '1p' -e '/irq\//p' -e '/ksoftirqd\//p'

    ps H -q `pidof -s mpd` -o 'cpuid,pid,tid,cls,rtprio,pri,nice,comm'

    .............................................................

    Vòng 5: Kiểm tra và thay đổi lần lượt các kiểu settings priority cho MPD để tìm ra âm thanh phù hợp:

    Check file mpd.service:

    - Dùng taskset hay không?

    - Dùng nice hay không?

    - Dùng isolate cpus hay không? Có set CPUAffinity hay không?

    .............................................................

    PS: Vòng 4 và vòng 5 tính sau anh nhé. Em chưa biết nói sao cho dễ hiểu vì nó tùy thuộc vào version của OS và MPD. Gần đây họ có thay đổi về cách chạy realtime kernel và set priority nên nó có nhiều trường hợp xảy ra khác nhau.

    Nhìn toàn bộ công việc optimize thì thấy rất ghê. Nhưng nếu mình tìm được một OS có âm thanh gần đúng ý thì chỉ cần set vài bước là xong.

     
    Last edited: 1/1/20
  18. phuongdk

    phuongdk Advanced Member

    Joined:
    6/9/06
    Messages:
    655
    Likes Received:
    31
    Location:
    Hòn ngọc Viễn Đông
    Các bác cho em hỏi trong Volumio có nên bật Audio Resampling lên ko? em đã thử enable với các thông số cao nhất thì con Pi3 có vẻ vẫn ổn, nhưng tiếng chưa thấy có gì khác biệt nhiều? (hoặc cũng có thể đồ đánh của em chưa tới) :)
     
    chuvanvu likes this.
  19. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    thường nó phải match với dac. em thử 2 dac hat, dac 1 max 24bit-192khz (pcm5122) thấy leng keng hơn, nhất là các bản thu 16bit-44khz, nhưng với bản thu kém thì sẽ tệ hơn. source của em có cả mp3 320kbps.

    với dac 2, es9038q2m có clock riêng hỗ trợ cả 352 và 384, max 32bit-384khz, em thấy không khác mấy, một số bài không tĩnh bằng off.

    volumio hình như chỉ lên 192khz là max, em dùng moode, bác bật mà không khác thì nên tắt để nhẹ cpu.
     
    tieuphi2006 and phuongdk like this.
  20. phuongdk

    phuongdk Advanced Member

    Joined:
    6/9/06
    Messages:
    655
    Likes Received:
    31
    Location:
    Hòn ngọc Viễn Đông
    Thanks bác, mục đích của Audio Resampling này của Volumio để làm gì vậy bác?
     
    tieuphi2006 likes this.
  21. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    cái này em mới đọc bập bõm 1 2 bài, hơi khó giải thích ngắn gọn trong vài từ. resampling có upsampling và downsampling. mấy con số 44khz, 196khz, 384khz chả hạn thể hiện tần số lấy mẫu. chả hạn từ 44 lên 196 là upsampling, dùng phần mềm hay phần cứng (clock) để up. nó kiểu dùng thuật toán gì đó nội suy để chèn thêm data vào. thực tế tần số đó không tồn tại trong bản thu gốc, mà được "điền" thêm vào. nên gần như càng cao càng chi tiết, mịn hơn :)
     
  22. chuvanvu

    chuvanvu Advanced Member

    Joined:
    12/1/17
    Messages:
    661
    Likes Received:
    581
    hihi, e lại cài lại rồi. 1 đầu rca từ preamp của em bị lỏng, tiếp xúc không tốt gây hump ù. đêm nay lần đầu e được nhìn led dsd. mấy bài khác có ghi dsd64, dsd128 mà đèn không lên, có lẽ nó vẫn hiểu format pcm. [​IMG][​IMG]
     
    nguyenha7940 and tml3nr like this.
  23. gianghotuxu1

    gianghotuxu1 Advanced Member

    Joined:
    9/7/12
    Messages:
    323
    Likes Received:
    231
    Cụ nào đã thử add được tài khoản gsuite trên volumio ko nhỉ.play nhạc trực tiếp từ Tk gsuite
     
  24. chauphuong

    chauphuong Advanced Member

    Joined:
    4/4/12
    Messages:
    2.321
    Likes Received:
    1.772
    Bác add Gsuite vào BubbleUpnp trên điện thoại, rồi dùng Bubble gọi nhạc từ đó phát sang Pi.
     
  25. eziodavinci

    eziodavinci Approved Member

    Joined:
    19/10/19
    Messages:
    37
    Likes Received:
    27
    Đúng là cuộc đời thật éo le cuộc tình, Volumio full tính năng, update liên tục. Nhưng khi em thử Rune xong thì mặc dù Rune rất ít addon, không ổn định lắm, update hạn chế nhưng vẫn phải cứ dùng Rune, chất âm quá hay so với Volumio hay Moode
     
    TQ_Audio and tml3nr like this.

Share This Page

Loading...