第81頁,共715頁 第一第一 ... 3171798081828391131181581 ... 最後最後
顯示結果從 801 到 810 共計 7144 條
  1. #801
    註冊日期
    2007-10-23
    文章
    884
    Thanks
    3,149
    Thanked 3,785 Times in 778 Posts

    預設

    引用 作者: psycho 查看文章
    多謝!!我妄想的理論又爆了.......

    OK,我己經知道重覆寫入同一塊記憶體的理論是錯的,但是從你的答案我又想到另一個理論;同樣的,是天馬行空的胡猜;但是為什麼要胡猜呢?因為最近經驗到的USB DDC現象、CAT現象、藍光轉盤現象,造成我非得要找個理論來幫忙預測不可....:P

    DRAM 是每 1/18.2 秒由一個硬體中斷產生一個對DRAM充電的指令,這是我在 MSDOS 時代就學會的,至今沒錯吧?OK,假設在寫入記憶體是 1,充飽了電(這是可疑的假設!),此時立即讀取資料,讀到的可能是 0.99999999;如果是延遲了 XX MS才去讀資料,有可能讀到的是 0.6666666。OK!當然兩者都會判讀成 BIT 是 1,但是從完美方波的想像中,會不會前者比較接近完美方波?

    所以,寫低階組合語言,先把 WAV檔讀進連續記憶體,然後送一個充電的硬體中斷,再立即讀 X BYTE 的資料送到AUDIO DEVICE;再送一個充電的硬體中斷,再立即讀 X BYTE 的資料送到AUDIO DEVICE;.......如此如此,會不會就是同樣使用記憶體連續排列的播放程式,結果聽感會相差甚大的原因?

    會想到這個歪招,是因為當年寫組合語言讓CRT的電腦螢幕模擬『速示器』時,必需抓到CRT電子管從上開始掃描整個畫面的開始時間,否則該 CRT 呈現的圖形刺激會出現 1X ms 的誤差,沒錯,才 11MS 0.011秒 這就可以讓心理學實驗結果完全毀了......也就是可以徹底改變人類大腦的認知與感官結果。

    咦?不知道極聽的作者有沒有想到這個?Lally 拿去問問看!如果沒有考慮到這個1/18.2的問題,這表示記憶體再怎麼連續、讀取的過程還是不夠連續喔!說不定就是這樣子輸給 jplay的.......:P
    小弟對您的方波理論, 並沒有進一步的想法.

    以小弟的看法, 有影響的可能不是實際值是0.666666還是0.999999, 而是讀取資料的時間間隔是否一致.
    在記憶體充電的時候, 充電區域是無法讀寫的. 所以如果CPU剛好要取某塊記憶體位址的資料, 但這位址剛好正在充電中, CPU就要等到這塊充好電之後才能夠拿資料. 因此如果CPU取資料的速度沒有跟充電速度同步, 就會造成每次取資料的等待時間不固定. 也就是說, 有時候可以馬上拿到資料; 而有時後剛好快充好, 所以只要等一下下; 倒楣的時候, 可能要取資料的時候才正剛好開始充電, 所以要等很久才能拿到資料. 這可能就會造成數位流的jitter.

    這個問題在即時系統(realtime system)已經有不少討論. 而數位流應該可以算是即時系統的一種. 在Balasubramanya Bhat, Frank Mueller 2011 所發表標題為"Making DRAM Refresh Predictable"的論文中有驗證, 如果把CPU取資料的速度和記憶體充電的速度同步, 可以讓每次取資料的等待時間相同. 應用在數位流裡, 應該就是降低jitter.

  2. The Following 4 Users Say Thank You to bchsieh For This Useful Post:


  3. #802
    註冊日期
    2012-05-20
    文章
    59
    Thanks
    0
    Thanked 57 Times in 27 Posts

    預設

    引用 作者: bchsieh 查看文章
    小弟對您的方波理論, 並沒有進一步的想法.

    以小弟的看法, 有影響的可能不是實際值是0.666666還是0.999999, 而是讀取資料的時間間隔是否一致.
    在記憶體充電的時候, 充電區域是無法讀寫的. 所以如果CPU剛好要取某塊記憶體位址的資料, 但這位址剛好正在充電中, CPU就要等到這塊充好電之後才能夠拿資料. 因此如果CPU取資料的速度沒有跟充電速度同步, 就會造成每次取資料的等待時間不固定. 也就是說, 有時候可以馬上拿到資料; 而有時後剛好快充好, 所以只要等一下下; 倒楣的時候, 可能要取資料的時候才正剛好開始充電, 所以要等很久才能拿到資料. 這可能就會造成數位流的jitter.

    這個問題在即時系統(realtime system)已經有不少討論. 而數位流應該可以算是即時系統的一種. 在Balasubramanya Bhat, Frank Mueller 2011 所發表標題為"Making DRAM Refresh Predictable"的論文中有驗證, 如果把CPU取資料的速度和記憶體充電的速度同步, 可以讓每次取資料的等待時間相同. 應用在數位流裡, 應該就是降低jitter.
    小弟也很認同 "有影響的可能不是實際值是0.666666還是0.999999, 而是讀取資料的時間間隔是否一致 " 看法

    不管原來是0.666666還是0.999999,最後判定結果一定是 "1",過程需要時間,其時間不影響"正確性",確影響"連續性",最後產生"聽感"差異

    現在的 CPU 速度快 RAM 太多了,並不是直接存取記憶體上的資料,中間還有 CPU L1、L2 、...快取

    JPlay 很有可能根據快取的特點對程式代碼實施特定優化,從而更好地利用快取

    CPU 快取命中率高或許對 JPlay 或其它播放軟體都有幫助

  4. The Following User Says Thank You to Lally For This Useful Post:


  5. #803
    註冊日期
    2011-08-28
    文章
    23
    Thanks
    48
    Thanked 13 Times in 8 Posts

    預設

    引用 作者: psycho 查看文章
    多謝!!我妄想的理論又爆了.......

    OK,我己經知道重覆寫入同一塊記憶體的理論是錯的,但是從你的答案我又想到另一個理論;同樣的,是天馬行空的胡猜;但是為什麼要胡猜呢?因為最近經驗到的USB DDC現象、CAT現象、藍光轉盤現象,造成我非得要找個理論來幫忙預測不可....:P

    DRAM 是每 1/18.2 秒由一個硬體中斷產生一個對DRAM充電的指令,這是我在 MSDOS 時代就學會的,至今沒錯吧?OK,假設在寫入記憶體是 1,充飽了電(這是可疑的假設!),此時立即讀取資料,讀到的可能是 0.99999999;如果是延遲了 XX MS才去讀資料,有可能讀到的是 0.6666666。OK!當然兩者都會判讀成 BIT 是 1,但是從完美方波的想像中,會不會前者比較接近完美方波?

    所以,寫低階組合語言,先把 WAV檔讀進連續記憶體,然後送一個充電的硬體中斷,再立即讀 X BYTE 的資料送到AUDIO DEVICE;再送一個充電的硬體中斷,再立即讀 X BYTE 的資料送到AUDIO DEVICE;.......如此如此,會不會就是同樣使用記憶體連續排列的播放程式,結果聽感會相差甚大的原因?

    會想到這個歪招,是因為當年寫組合語言讓CRT的電腦螢幕模擬『速示器』時,必需抓到CRT電子管從上開始掃描整個畫面的開始時間,否則該 CRT 呈現的圖形刺激會出現 1X ms 的誤差,沒錯,才 11MS 0.011秒 這就可以讓心理學實驗結果完全毀了......也就是可以徹底改變人類大腦的認知與感官結果。

    咦?不知道極聽的作者有沒有想到這個?Lally 拿去問問看!如果沒有考慮到這個1/18.2的問題,這表示記憶體再怎麼連續、讀取的過程還是不夠連續喔!說不定就是這樣子輸給 jplay的.......:P
    那個充放電的中斷向量,我曾經調整讓充放電週期放慢,但也不能太慢,記憶體電量不足會當機。經過幾次的當機實驗,找到臨界值,做最後的設定,讓以後開機時都去執行這段指令。當時這麼做是為了讓CPU運算速度能夠加快(在那個x86還很慢的時代),而事實上呢,速度也確實能夠增加大約20%左右。
    現在看到psycho提及當年往事,我們是否也可以這樣思考:現代的CPU與記憶體控制晶片的互動關係中,是否仍然存在著過去的架構?甚麼架構?就是CPU的運算週期是否會分一些clock給記憶體控制器去進行充放電作業呢?如果這個架構仍然存在,那麼,對於具有即時運算需求的程式(如:音樂播放),大量的CPU指令、記憶體搬移指令、硬體的錯誤校正等內部工作在一連串的clock當中,如何能降低最後對I/O中斷向量的輸出clock能保持穩定的同步關係,是否就是降低jitter、提升傳輸穩定性的改善方向呢?

  6. The Following 2 Users Say Thank You to da.di.ya.ta For This Useful Post:


  7. #804
    註冊日期
    2007-10-23
    文章
    884
    Thanks
    3,149
    Thanked 3,785 Times in 778 Posts

    預設

    引用 作者: Lally 查看文章
    小弟也很認同 "有影響的可能不是實際值是0.666666還是0.999999, 而是讀取資料的時間間隔是否一致 " 看法

    不管原來是0.666666還是0.999999,最後判定結果一定是 "1",過程需要時間,其時間不影響"正確性",確影響"連續性",最後產生"聽感"差異

    現在的 CPU 速度快 RAM 太多了,並不是直接存取記憶體上的資料,中間還有 CPU L1、L2 、...快取

    JPlay 很有可能根據快取的特點對程式代碼實施特定優化,從而更好地利用快取

    CPU 快取命中率高或許對 JPlay 或其它播放軟體都有幫助
    據小弟的了解, 判定0.666666和0.999999為1的過程, 時間是相同的. 所以小弟認為0.666666和0.999999不會影響讀取資料的時間.

    其實以realtime system來看數位流, 所有的快取和緩衝, 都是可能會讓音質減損的兇手, 最好能不用就不用. 像是目前最紅的OS5.0和OS8.0, 其中一個設定就是用最少的緩衝級數和最小的緩衝大小. 所以小弟猜測, 如果能取消所有的L1, L2, 和快取, 也許音質又會更好也說不定.

  8. #805
    註冊日期
    2009-06-13
    文章
    426
    Thanks
    40
    Thanked 875 Times in 261 Posts

    預設

    引用 作者: bchsieh 查看文章
    據小弟的了解, 判定0.666666和0.999999為1的過程, 時間是相同的. 所以小弟認為0.666666和0.999999不會影響讀取資料的時間.

    其實以realtime system來看數位流, 所有的快取和緩衝, 都是可能會讓音質減損的兇手, 最好能不用就不用. 像是目前最紅的OS5.0和OS8.0, 其中一個設定就是用最少的緩衝級數和最小的緩衝大小. 所以小弟猜測, 如果能取消所有的L1, L2, 和快取, 也許音質又會更好也說不定.
    這工程太浩大了,等於是從頭搞出一台機器.

    還是完全單工的玩意........就像是一台用硬

    碟取代CD得CDP.

  9. #806
    註冊日期
    2007-09-12
    文章
    4,545
    Thanks
    3,513
    Thanked 5,498 Times in 1,853 Posts

    預設

    大家一起腦力激盪,集思廣義......:)

    我會堅持『0.666666和0.999999』的解釋,是因為玩藍光轉盤、USB HUB與 CAT,都發現了:

    『加強數位訊號運算或輸出時的供電』,可以讓聲音變得更正確。

    如果是發生在CD轉盤,還可能有其他解釋。但是只要在主機板上,把CPU或某個BUS的供電增強(換個高性能電容),就可以改善整體聲音的正確性;我怎麼想都覺得與JITTER的直接關係不是很大,不知道大家對此現象所猜想的方向是?

    我知道另一種解檡是:供電充足,晶片運算的過程會演少電磁雜訊。也提出來猜測一下。

    還有,我所整理的『USB解決方案』,任何正常的道理都應該是使用 USB HUB 自帶的電源輸入端,偏偏很多人的耳朵清楚發現只有從USB孔灌電源才能得到最正確的聲音。可以猜想,USB接收晶片得到最充足的電力供應後,送出去的數位訊號特別正確 ── 是什麼變正確了?JITTER?電磁雜訊?完美方波?猜不完了.....

  10. #807
    註冊日期
    2007-10-23
    文章
    884
    Thanks
    3,149
    Thanked 3,785 Times in 778 Posts

    預設

    引用 作者: psycho 查看文章
    大家一起腦力激盪,集思廣義......:)

    我會堅持『0.666666和0.999999』的解釋,是因為玩藍光轉盤、USB HUB與 CAT,都發現了:

    『加強數位訊號運算或輸出時的供電』,可以讓聲音變得更正確。

    如果是發生在CD轉盤,還可能有其他解釋。但是只要在主機板上,把CPU或某個BUS的供電增強(換個高性能電容),就可以改善整體聲音的正確性;我怎麼想都覺得與JITTER的直接關係不是很大,不知道大家對此現象所猜想的方向是?

    我知道另一種解檡是:供電充足,晶片運算的過程會演少電磁雜訊。也提出來猜測一下。

    還有,我所整理的『USB解決方案』,任何正常的道理都應該是使用 USB HUB 自帶的電源輸入端,偏偏很多人的耳朵清楚發現只有從USB孔灌電源才能得到最正確的聲音。可以猜想,USB接收晶片得到最充足的電力供應後,送出去的數位訊號特別正確 ── 是什麼變正確了?JITTER?電磁雜訊?完美方波?猜不完了.....
    對數位訊號而言, 最重要的不是方波的波頂和波底多高還是多低, 而是當波頂變成波底, 或是波底變成波頂, 速度有多快.
    假設有個方波, 波頂是完美的1.0000000, 而波底是完美的0.0000000, 但是若是因為某些原因 (像是供電反應速度不夠快), 使得讓0變成1的過程為 0.0000000, 0.2000000, 0.4000000, 0.6000000, 0.8000000, 1.0000000. 這種狀況反而不如0.1000000, 0.4000000, 0.7000000, 0.9000000這種波頂波底為0.9和0.1, 但是電壓訊號上升速度非常快的波型. 為什麼上升速度對數位訊號那麼重要? 因為上升的時間越短, 0變成1或是1變成0的時間就越不容易飄移, 越不會模稜兩可. 說穿了, 還是jitter在作祟.

  11. The Following User Says Thank You to bchsieh For This Useful Post:


  12. #808
    註冊日期
    2007-10-23
    文章
    884
    Thanks
    3,149
    Thanked 3,785 Times in 778 Posts

    預設

    引用 作者: Higuma 查看文章
    這工程太浩大了,等於是從頭搞出一台機器.

    還是完全單工的玩意........就像是一台用硬

    碟取代CD得CDP.
    只要有多核心, 不用單工就可以辦得到.
    小弟的系統目前就是一個核心負責和播放有關的程式, 插斷, 還有驅動程式.
    而另一個核心負責其餘的工作. 時鐘也是各跑各的, 不會互相干擾.

  13. #809
    註冊日期
    2007-09-12
    文章
    4,545
    Thanks
    3,513
    Thanked 5,498 Times in 1,853 Posts

    預設

    引用 作者: bchsieh 查看文章
    對數位訊號而言, 最重要的不是方波的波頂和波底多高還是多低, 而是當波頂變成波底, 或是波底變成波頂, 速度有多快.
    假設有個方波, 波頂是完美的1.0000000, 而波底是完美的0.0000000, 但是若是因為某些原因 (像是供電反應速度不夠快), 使得讓0變成1的過程為 0.0000000, 0.2000000, 0.4000000, 0.6000000, 0.8000000, 1.0000000. 這種狀況反而不如0.1000000, 0.4000000, 0.7000000, 0.9000000這種波頂波底為0.9和0.1, 但是電壓訊號上升速度非常快的波型. 為什麼上升速度對數位訊號那麼重要? 因為上升的時間越短, 0變成1或是1變成0的時間就越不容易飄移, 越不會模稜兩可. 說穿了, 還是jitter在作祟.
    高手!!這個答案讓我非常認同,也很接近原先我構想的『完美方波』,只是要修正:1.0還是0.7不重要,重要的是從 0.2 快速變成 0.7 的時間,假設無限快,就會變成完美的方波了。咦?對數位的要求跟我對類比最在乎的要求『暫態反應』完全一樣嘛!怪不得 rendzaw那個伙使用改類比的方法來改數位,聽感的改善方向完全一樣。

    最後一個好奇的問題:不夠完美的方波會生 jitter,稱為『方波內的JITTER』。而晶振或時鐘的水準高低也會有方波傳送時間的jitter,稱為『方波間的JITTER』;這兩種jitter最後會整合成同一種jitter?還是聽感上將永遠無法分開這兩種影響?

    我解釋一下為什麼有此猜想:

    玩 monitor 03 usd,本身的晶振極佳 >>>> 01 usd,兩者的供電一樣爛,扣除掉xilinx本身的性能差異,仍然在『音色的正確性』 03 usd >>>> 01 usd。

    請 rendzaw 加強 01 USD 的供電,於是其數位資料大幅接近完美方波,因此聲音舞台、定位、暫態反應、韻味....等這些傳統音響玩音的性能指標,可以讓改裝的01 USD >= 原廠 03 USD。這反映的是『方波內的JITTER』造成的聽感改善。

    但是,03 USD 的 XILINX性能較強(猜的),晶振又高一大截,所以無論改裝的01 USD 的方波多麼完美,它在『方波間的JITTER』就是比不上原廠 03 USD,最直接的聽感差異,就是『音色的正確性』03 USD >>>> 無限改裝的 01 USD。

    P.S. 你知道我所謂的『音色的正確性』是什麼吧?....:P

    因此,從聽感皂心理現象看來,不管是否都是JITTER,在聽感心理上的確可以明確區辨兩種JITTER來源影響不同的聽感反應。因此我還可以預測:

    DAC 只要外接時鐘,除非實在太爛,否則一定可以減少『方波間的JITTER』,所以『音色的正確性』一定提升。
    但是外接時鐘本如果供電太爛,造成『方波內的JITTER』,慘了,主要的音響性能說不定不升反降。

    因此,怪不得那些超高DAC的外接時鐘,打開外殼空空如也,只有電源供應做得最好。

    以上的『胡猜』,讓我打算使用兩個名詞來深入理解音響科學:一個是『音響性能』,就是傳統音響玩家重視的那些指標,在數位音樂牽涉到的是一般人最理解的JITTER,也就是『方波間的JITTER。

    另一個是『電腦性能』,這是我接觸正確錄音久而久之,對低價位音響的基本要求;在聽感上意謂著就算使用全套兩萬元的便宜音響,都必需能快速分辨錄音方式、演奏技巧與音色調和。在數位音樂上意謂著『方波內的JITTER』,是一般音響玩家比較少討論到的。

    OK,以上『音響性能』與『電腦性能』之辨,請 bchsieh 繼續指教!....

  14. The Following User Says Thank You to psycho For This Useful Post:


  15. #810
    註冊日期
    2010-04-25
    文章
    602
    Thanks
    40
    Thanked 102 Times in 69 Posts

    預設

    USD01和03的clock都不是太好的,這部分要好不光是元件的,相對的電路設計也需要配合
    clock本身的jitter在生產規格上有很多相抵觸的,那是看如何取捨,例如:體積大的通常組抗小,但需要較大的電流、電壓來驅動,組抗小時jitter會小,但電流、電壓大卻會增加jitter的產生
    設計的時候是跟電路配合來求最大的優點,但技術的進步有時會產生新一代的全面改革,但上次發生已經是很久以前了

  16. The Following User Says Thank You to chen3058 For This Useful Post:


發文規則

  • 不可以發表新主題
  • 不可以發表回覆
  • 不可以上傳附件
  • 不可以編輯自己的文章
  •