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)
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 wget https://github.com/dynobot/Linux-Audio-Adjustments/raw/master/basic-install.sh chmod 755 basic-install.sh sudo ./basic-install.sh Automated Removal wget https://github.com/dynobot/Linux-Audio-Adjustments/raw/master/remove.sh chmod 755 remove.sh sudo ./remove.sh 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
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.
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?
đú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 đó.
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.
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 .
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 ạ 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ứ.
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.
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.
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.
Để 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
- 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 - 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.
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
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.
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)
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.
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
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.
Đú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