<progress id="ndt1d"><progress id="ndt1d"></progress></progress>

    <form id="ndt1d"></form>
    
    

    
    

      <address id="ndt1d"></address>

      <progress id="ndt1d"><mark id="ndt1d"></mark></progress><p id="ndt1d"><th id="ndt1d"><address id="ndt1d"></address></th></p>
        <thead id="ndt1d"><cite id="ndt1d"><mark id="ndt1d"></mark></cite></thead>

        <th id="ndt1d"></th>

              <span id="ndt1d"></span>

              <meter id="ndt1d"></meter>

              連載·設計一個理想的數字播放器(一)

              來源:bbs.hifidiy.net 發布者:kelan 版權:原創

              數字播放的核心是數字處理,CPU是必不可少的功能器件,我設計的初衷不僅僅是做個簡單的數字播放,還需要強大的交互操作和云數據處理能力,因此必須用能力強的CPU。

              雙11買了一臺數字播放器,在這臺近萬元的號稱非常NB的播放器到手后,沒用多久就另我對市面上這些數字播放器愈加不滿意了,無論其聲音、操控、云數據能力、交互體驗宣稱的有多完美,實際用來——全是些昂貴的“垃圾”。

              這些年我幾乎聽遍了,卻沒有一臺完全符合我的要求:聲音達到(萬元級)CD水平、操控人性、交互體驗較好、云數據能力出色。

              好吧,這次確實玩得有點“瘋了”,我想:要不自己設計一臺吧!

              自己設計數播,首先確定目標,那就對照前面的一條條落實吧……或者換個角度,我對目前市場上這些數播究竟哪些方面不滿意:

              1、操控太差:手機都普及這么久了,居然沒一款人性化的APP與數播交互的產品出現,市場上那幾個可以用手機app控制的機器,那界面、那操作反饋、那是為用戶著想設計的嗎!

              2、交互體驗:數播天然聽音樂的優勢就是數字化內容,數字化內容可以很方便的讓聽眾了解音樂背后的故事,但很遺憾目前市場還沒有聽讓我們邊聽音樂邊看內容的數播;

              3、音樂交友:為什么不讓喜歡聽同一首歌曲的人相互認識交流呢,至少我有這個想法,但目前的產品無一做到這點;

              4、云數據:這都什么年代了,數據還只能本地或簡單的NAS存儲,太讓人窒息的體驗了……

              我要設計的數播,必須滿足這樣幾個功能:

              1、手機APP操作,全交互;

              2、高保真回放能力;

              3、音樂云存儲;

              4、音樂交友;

              這是最基本的目標,在這個目標基礎上,再根據設計進度不斷加強功能。

              定下目標,先從框架開始。上面列的4個基本目標要求我設計的數播平臺必須有非常強悍的數據處理能力,那么首先必須選擇一個有能力處理這么多數據的CPU或SOC核心,否則無法完成大量的基礎運算。

              其次,播放和數據處理、人機交互,這么多功能必須有穩健成熟可靠的操作系統。

              第三本地操控和手機端(客戶端)操控要保持一致的品質,因此大型觸控屏少不了。有了這些基本的元素,一個數播的原型在頭腦就出來了。這里面的各個要素需要一個個摸索,好在有萬能的X寶。

              數字播放器

              接下來,根據設計進度,按以下順序敘述:

              CPU選擇 —— 信號處理 —— DAC部分 —— 模擬電路 —— 電源 —— 操作系統 —— 觸控屏與觸控操作 —— 手機APP(Android & iOS) —— 云數據 —— 音樂交友 —— 音樂“源”。



              (一)CPU選擇

              數字播放的核心是數字處理,CPU是必不可少的功能器件,好在這幾年智能手機的大規模普及,極大的提高了CPU——尤其是嵌入式CPU的發展,記得在30年前我第一次遇到6502和Z80的時候,一個是好貴,一個是好難用。而如今比起當時不知道要進步了多少倍了,一個芯片不僅集成了CPU,更是把常用的I/O都集成進去了,編程工具也一個比一個好用,技術文檔也全面豐富,比起當年現在的技術人員真是太幸福了!

              由于我設計的初衷不僅僅是做個簡單的數字播放,還需要強大的交互操作和云數據處理能力,因此必須用能力強的CPU。

              在之前體驗過的數播當中,有一個比較突出的問題就是開機啟動時長,我們知道那些啟動時間短的數播一般采用單片機結構,內置簡單的程序處理,因此啟動時間很短,缺點是無法進行復雜的交互操作。啟動時間長的數播,或是基于LINUX或安卓,優點是操作豐富,但啟動時候都太長了。

              由于我需要處理復雜的交互操作,因此必須采用基于操作系統的數據處理結構,一個功能強大的高速CPU是迫切需求。好在中國是世界制造中心,沒有找不到只有想不到,網上產品非常豐富,多比較幾下,應該能找到我需要的產品。

              由于CPU是與操作系統相結合,考慮到未來幾年這個數播的擴展性和易用性,操作系統能選擇空間只有LINUX、安卓、WINCE(WES)。WES需要微軟授權,版本費用很貴,而我又不想盜取他們的知識產權(使用D版),想想還是算了吧。安卓系統是個好選擇,但底層處理音頻架構讓人蛋疼,怎么優化都是那個德性,還是在LINUX上下功夫吧,畢竟那么多數字音視步處理平臺都是基于LINUX的,而且已有好多基于LINUX的數字播放包,如Daphile、Volumio等。

              確定了操作系統,基本上也就確定了CPU選擇方向,毫無疑問基于ARM內核的SOC是重點方向,接下就是如何找到好用的產品了。

              找到好用的CPU沒想象的難,網上已經有現成的速度比較了,而且比較也非常直觀,雷軍已經告訴了我們篩選方法——“不服跑個分試試”!

              數字播放器

              這個表簡單直觀,RK3288是一個不錯的選擇,為了驗證這個選擇是否客觀正確,從網上采購些板子測試下,為了做橫向比較,同時采購的還有珠海炬力的S700,非常流行的樹莓派,以及運行WIN8的intel Z3735。網上反復比較后下單,經過幾天的等待,物流陸續將測試板子送過來。

              數字播放器

              這些板子都是通用型設計,CPU沒有針對音頻做專門的硬解碼處理,因此測試主要是想了解單核運行速度和多核數據處理能力問題,而音質主要是通過算法處理和信號線路優化來解決。RK3288是目標產品,因此重點測試。操作系統使用Debian(德班),幾個產品都需要做系統編譯才能完成安裝,而S700不能提供相關文檔,暫時只能運行android5.1.1.

              RK3288芯片集成了SPDIF和I2S總線,方便外接DAC和數字輸出。樹莓派因為已經有DIGI+板子了,直接購了一塊看看聲音怎么,Z3735板子集成了聲卡,但聲音不好,直接PASS,外接USB界面試試怎么樣吧,S700由于目前只支持安卓,因此沒有做太多測試,簡單測試就PASS了。這幾個板子都是支持5V電壓,很方便外接電源。

              數字播放器

              數字播放器

              數字播放器

              數字播放器

              數字播放器

              數字播放器

              數字播放器

              為了驗證系統可行性,需要安裝實測,找了塊環氧樹脂板,打孔轉眼安好銅柱,將驗證功能需要的各個板子安裝上去。

              接下來是大量的軟件移植工作了。

              選擇Debian這個非常好用的LINUX系統,要知道大名鼎鼎的Ubuntu就是在這個基礎上開發的。整個移植工作分了好幾塊,包括:

              ①編譯生成內核,編譯修改devicetree,生成dtb文件;build kernel image:  (output : boot.img and out/kernel)build/mk-kernel.sh rk3288-evb

              ②編譯生成uboot;

              build u-boot image:  (output : out/u-boot)

              build/mk-uboot.sh rk3288-evb

              ③編譯生成文件系統;

              build rootfs image:

              follow readme in rk-rootfs-build

              ④將生成的uboot、kernel、文件系統鏡像整合為一個系統鏡像包;build one system image:  (output : system.img)build/mk-image.sh -c rk3288 -t system -r rk-rootfs-build/linaro-rootfs.img(5)更新鏡像包到emmc或者SD卡中,在更新鏡像過程中會對emmc或者SD進行分區,并將文件寫入到對應的存儲區域中;update image:

              eMMC: build/flash_tool.sh   -c rk3288 -p system  -i  out/system.imgsdcard: build/flash_tool.sh -c rk3288  -d /dev/sdb -p system  -i  out/system.img

              此外,需要重新編譯實時內核以提高音頻數據處理優先級,于是編譯了一版實時內核版Debian。關于實時內核和非實時內核對聲音的影響,大家可以百度了解下(有興趣看這個http://blog.csdn.net/zhourui1982/article/details/5282361)。

              整個驗證可行性的系統硬件由數據處理部分——MIQI的RK3288板、SPDIF輸出板、IIS入的DAC解碼板、電源板、變壓器共同構成。

              MIQI的3288板已經自帶了SPDIF輸出,為此我特意測試了自連板數字輸出質量,與專用的同軸輸出板比,確實輸出質量有差別,聽音表現就是直接輸出聲音聽起來沒有深度,發干(HIFI處外是玄學),而經過同軸板的數字輸出整形后,聲音要圓潤得多,太不可思議了。

              數字播放器

              數字播放器

              數字播放器

              按說數字信號無非就是0、1,怎么可能有這種無聊的區別,但實際聽感比較差異,連木耳的人都聽得出來!SPDIF輸出需要配置硬件腳本文件,I2S同樣需要配置腳本文件,I2S文件調試很麻煩,用了很長時間才搞定。

              關注【HIFI音響】公眾平臺

                ID:HIFI中國音響網 ID:hifidiy_2016
              国产免费av吧_女人与拘猛交高清播放免费_欧美特大毛茸茸bbm视视_国产私人尤物无码不卡