[分享] 集合分享一下小弟的電腦音效 tune 聲的所有經驗

本文由 parco2011-02-09 發表於 "錄音、MIDI、音樂製作" 討論區

  1. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    這次是要和大家分享一下小弟對 tune CAS/DAW 的經驗, 怎樣改善電腦的音質等
    CAS 就即是 Computer Audio system, 用作 high-end hifi 播聲 entertainment 的
    而 DAW 則是 Digital Audio Workstation, 是工業版或工作版的 CAS, 主要是用於錄音室, 及編曲人, 亦會有人弄 home studio 及弄音效或弄音樂既人偶爾會彈琴錄音等等
    兩者皆是 computer for pro audio, 只是有 functional 的分別, 音質的 tune 法都是大同小異
    而小弟的就更是 PC + CAS + DAW 三合一用途的電腦, 所以一般有很多其他人教你們架設純 CAS or 純 DAW 要關閉的很多地方, 我都不會, 因為還是要保持一部「正常電腦」應有的系統平衡穩定狀態, 其實這樣反而才會對音質有正面幫助


    好了, 先開始由選擇用料開始說起

    首先, 音效本身都是媒體的其中一種
    而對於媒體處理來說, AMD 無論怎樣都比不上 Intel, 尤其是 CPU 指令, 浮點運算等等, 還是 Intel 的效率快得多, 尤其是高負載量時, 例如大量轉碼, 開啟許多高精確度的效果器等等, intel CPU + intel 底板更格外顯得十分穩定
    亦是因為這樣, 所以一向以弄 media 最高質素見稱的 Mac 機, 除了以前的 Power PC 之外, 從來都只會使用全 intel 系統而不會使用其他 CPU or chips
    而且在外國都有不少外國人說「the only advantage of AMD is just price」

    一般現今的 Intel 主機板或 Intel Chipset (大概由 Pentium D 時期起) 都會有一東西叫做 HPET (High Precision Event Timer 高精確度事件計時器)
    http://en.wikipedia.org/wiki/HPET
    這東西是於 2005 年由 intel 及 microsoft 合作研發的, 但我不能肯定其他 chips 的主機板或 AMD CPU 有沒有這回事
    HPET 可以在主機板的 BIOS 中啟用, 這東西對音質有極大作用, 啟用與停用會有很明顯大的分別, 所以極建議必定要開啟, 如果看不見有的話, 可以嘗試 upgrade BIOS 都可能會有

    電源需要充足

    當然, 應該都沒有誰架設這些系統時會使用 onboard sound, 大多數都會是 pci/pcie soundcard, 1394/USB/pci DAC/AI 等等
    要留意一點, 1394/USB card 最好要使用德州儀器 (TI) 或 NEC 的晶片, 切忌使用 ALI 或 VIA 晶片的, 否則........ 嘿嘿, 只能祝您好運
    如果可以另加 display card 就最好了, 不用使用 onboard display 的話, CPU 及 I/O 就會少了一份工作量, 但其實影響不算很大


    作業系統方面, 當然提過, 最好最高音質的當然就是 Mac OSX
    但一般大多數人還是慣用 Microsoft Windows 的系統, 在 windows 系統之中, 最好使用 Vista 或 7, 因為只有使用 windows core audio 核心, 它們的 clocking timer 才是最好, 而且重點是 MMCSS, 對 WASAPI 或 ASIO 都好有用處, 當然 7 的性能遠比 vista 好
    接著, 所有 driver versions 要盡量升級至最新版本, 亦要做好所有最新的 windows update
    而且自從 Windows Vista 開始, 所有 audio device drivers 都開始必須符合 UAA 規格, 以便在 core audio 的環境下運作 http://en.wikipedia.org/wiki/Universal_Audio_Architecture

    我剛才說過, 總會有很多人的電腦仍然是 PC 與 CAS/DAW 混合使用, 即是又會聽歌或製作但同時又會開 MSN, ICQ, facebook 上網等等, 所以仍需要安裝防毒軟件
    而在眾多防毒軟件之中, 到目前來講, 暫時只有德國的 Avira 是同時有最高偵測率但又最快最高效能, 安裝了後速度亦好像沒有無安裝一樣, 所以建議大家選用
    這個網站每年都會進行幾次防毒軟件的 benchmarks 實驗, 大家可以參考一下他們最近的測試 http://www.av-comparatives.org/
     
    Last edited: 2011-02-09
  2. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    好了, 以下的我將會重點以 Windows Vista SP1 及 Windows 7 來分享

    控制台 > 硬體和音效 > 聲音, 開啟了後, 於「播放」一頁選擇你用作播音的 output, double-click 或按「內容」打開, 再到「進階」, 選擇你需要的預設格式, 在獨佔模式一欄中, 要確保兩個空格皆要被 tick 上
    該兩個空格就是 WASAPI 的 Exclusive mode, 即是可以完全繞過 windows mixer 而直接輸出, 其他在 OS mixer 中的任何聲音皆不能再被播放, 直至獨佔的音效被重新釋放出來為止
    而下方的一格就是容許獨佔模式的音效流可以使用 MMCSS 以提高音效在整部電腦中有較高的優先權, 以減少 jitter


    好了, 以下開始在軟件方面談一下, 由於 CAS 及 DAW 普遍使用的軟件都不同, 所以以下暫時分開來講

    CAS 方面, 以 foobar2000 來作例子

    首先, 要確保放播的執行緒 (thread) 要有最高的優先權, 在 foobar2000 之中, File > Preferences > Advanced > Playback > thread priority 保持 7 就對了

    此外, 全個音效檔完全在 ram 中播放亦很重要, 在 File > Preferences > Advanced > Playback > full file buffering up to 一項設到 100,000KB 或更大值, 視乎你會播放檔案的最大 size

    應盡量使用 ASIO 或 WASAPI exclusive mode 來播放, 如果兩者都沒有的話, 使用 kernel streaming 都可能會是一個美中不足的替代品

    所有 DSP 效果器都應該關閉, 以及 foobar2000 的 volume fader 都應該保持 0dB, 以免造成不必要的數位失真噪音, 如果你只會播放 16bit 44100Hz 的最一般音效的話, foobar2000 的 dithering 也不要用, 因為 dithering 是應該在音效被製作時使用, 而並非在使用者播放時加上

    最後, 連整個 foobar2000 的 process 都應該以「實時」的最高優先序來執行, 在 windows 工作列處 right click > 啟動工作管理員, 在「處理程序」一頁中, 尋找「foobar2000.exe」然後選擇再 right click > 設定優先順序 > 即時 (R), 如果嫌太麻煩的話, 可以開新的 notepad 將以下一句輸入, 然後儲存為一個 .bat 檔案
    start "" /realtime "C:\Program Files\foobar2000\foobar2000.exe"
    那麼你每一次要啟動 foobar2000 時, 只要直接執行此 bat 檔就可以了



    DAW 方面, 由於 Cakewalk Sonar 的音質一般都不太好, 而 Protools 及 Logic 的普遍性又不大, 所以以下會以 Steinberg 的 Nuendo 及 Cubase 來作例子

    首先, 其實 DAW 的整個 process 在「實時」優先序來執行都一樣可以改善音質, 做法和 CAS 的一樣, 只不過一般許多 DAW 都很少真的會這樣做

    其次, 打開 Cubase/Nuendo, 然後 Devices > Device Setup > VST Audio System, Steinberg 的軟件一般都只可以使用 ASIO, 然後在 Advanced Options 中, Audio Priority 一定要 Boost, 然後一定要 Multi-processing, 然後其他所有設定都使用預設設定便可
    其他的所有 DAW 事宜都是涉及編曲技巧, 製作及混音技巧, 而與本題目沒大關係, 所以省略不談


    有一點需要注意的是, 現時 Windows Vista 及 7 的 WASAPI 儘管是 exclusive mode, 但在預設上都未可以為 USB/1394 的 DAC/AI 在 WASAPI streaming 之中自動提供 MMCSS 運作, 所以目前仍需要 DAC/AI 廠方提供的 Windows Vista/7 驅動程式中自行為 ASIO driver 配上 MMCSS 套用, 就好像 AudioFire driver 的:
    http://www.av-forums.net/plus/viewthread.php?tid=70031
    不過至於其他品牌的 DAC/AI, 可能不同廠方都會有不同辦法, 未知是否都支援同樣的做法, 詳情請需要自行聯絡你們自己 DAC/AI 的技術支援, 我自己都有經常和自己 Echo 的技術支援保持聯絡


    好了, 說到可能會是重點的部份了, 就是連更改 Windows 登錄碼都可以改善音質, 可以進一步榨盡 audio 的最大 priority 極限, 令你的音效實現近乎 sample-realtime-perfect, 近乎 high end 音效碟播放機的完美實時性
    現在就開始在「開始」中鍵入 “regedit” 執行來準備修改你的 windows registry

    首先, 要到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile 中, "SystemResponsiveness" 是代表在 CPU 的 clock task cycle 之中除了 MMCSS 的 media stream之外還要預留給其他程式或工作使用的最少百分比 %,即是 MMCSS multimedia streaming 的 CPU workload 上限, 否則如果無上限的話, 整部電腦就會完全停止反應, 嚴重影響電腦本身的穩定性, 但本身這個值都有一個硬性最少值, 即使你設定它為 0%, 但實際上系統都只會視它為 10%, 所以這個值你大可以改它為 10(%)

    再一次說明 Windows Vista/7 與 Windows XP 以前的核心是完全不同的
    http://technet.microsoft.com/zh-tw/magazine/2007.02.vistakernel.aspx

    而在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks 之中, 存放了一堆給程式或 drivers 去選擇的 MMCSS config profiles
    一般 Directsound, waveout, WASAPI shared mode 等類似的會使用 “Audio” 而 WASAPI exclusive mode 及 ASIO 就會使用 “Pro Audio”, 但亦有可能不同程式或 drivers 會有不同的 profiles, 詳情請查閱其相關資料或聯絡其技術支援

    所以現在就以 “Audio” 及 “Pro Audio” 來談
    在每個 profile 之中
    "Scheduling Category" 是整體需要用上的優先序政策, 字串值, 有 “High”, “Medium” 及 “Low”, 當然要用 “High” 吧
    "Priority" 是再細調資料流的優先序, 數值由 1 – 8, 1 為最低, 8 為最高, 所以當然係要用8 吧
    "GPU Priority" 數值由 0 – 31, 0 為最低, 31 為最高, 因此要用 31
    "BackgroundPriority" 這個數值和 "Priority" 一樣, 但只會對背景執行時有效, 同樣都是 1 – 8, 1 最低, 8 最高, 所以亦是 8
    "SFIO Priority" 是指資料流在使用 I/O 出入時的優先序, 例如進出 DAC/AI, 進出 1394/USB, 進出 PCI/PCIE bus, 進出 ram, CPU, harddisk 等等的 I/O, 為字串值, 有 “Idle”, “Low”, “Normal” 及 “High”, 那當然都是 “High” 吧


    設定好了後, 只需要再 restart MMCSS 服務或重新開機, 就會自動生效


    而提高硬體 IRQ 的優先序亦可以進一步改善音質, 需要提高優先序的 IRQ 分別有 IRQ 0, IRQ 8 及你 soundcard 或 1394 card 所在的 IRQ 值, 而事前請先確保你的 soundcard 正擁有獨立自己一個 IRQ 值而並沒有和其他硬體共享, 否則效果不大, 你可以在「開始」程式集的「附屬應用程式」>「系統工具」>「系統資訊」中的「硬體資源」>「IRQ」中可以找到你自己那張 soundcard 的 IRQ, 如果同一 IRQ 不只有 soundcard 還有其他硬體一同共用的話, 可以試試更換另一條 PCI/PCIE 插槽試一下, 直至成功為止, windows 本身是無權更改 IRQ 的, 即使要在 BIOS 中更改 IRQ 也不是每一部電腦都可以
    1394 就一般都必定擁有自己獨立的 IRQ, 因為本身其規格就已經定了必定是這樣, 所以 1394 是很容易設定 IRQ priority, 這是它天生的效能優勢, 是為了設計它作高效即時的工業格式
    然而如果你使用 USB DAC/AI 的話, sorry, 就真的沒辦法了, USB 必定要與其他的共用 IRQ, 這同樣亦是天生設計規格, 由 USB 1-3 都是這樣, 因為它原本的設計本身就沒有預計你會使用在高效工作, 所以, USB card 本身是無法提升其 IRQ 優先序的
    而 IRQ 0 是 CPU 系統計時器, IRQ 8 就是電腦主機板 CMOS 及實時計時器, HPET 可能應該都位於其中, 所以這兩個 IRQ priority 的提升都會對音質有很大的影響

    現在開始了, 同樣都是打開「regedit」, 到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl 中, 添加 “IRQ#Priority”, 而其中的 # 就是你需要添加的 IRQ 值, 例如要提高 CMOS 就要加 "IRQ8Priority", 再把它的值設成 1
    IRQ 0 及 soundcard/1394card IRQ 同樣都是這樣做, 例如
    "IRQ8Priority"=dword:00000001
    "IRQ0Priority"=dword:00000001

    設好了後, 重新開機, 就會自動生效

    所有以上的都 tune 好了後, wow, 整部電腦的聲音, 聽起上來真的全都好了很多, 像是一部 Highend 的播碟機般, 十足hardware 播聲一樣, 如果你的 sound codec 足夠質素的話, e.g. AKM 128x oversampling, 聽起上來會更加非常少 digital noises, 十足 studio 中的 analog tape 一般, noise 從未試過這麼少, 甚至好像以前聽不到的細節全都回來了, 但是一次過改進太大, 對 speakers 又有點好像生硬了, 又是時候要再繼續煲音箱了
    大家都可以自己試一試小弟的方法, 試完之後在此再和大家分享一下 :D


    所以又說明了一個道理, 即使下游用了一條大水道, 如果上游依然是一條幼水管的話, 流出的水永遠都只會好像小便般, 同時即使上游是一條大型輸水管, 下游又被逼到一條幼水管的話, 瓶頸出來的都依然是開小便似的, 必定需要上中下游同樣都是大型河床, 才能成功流出一條又漂亮又高水量高水壓的大江河來, 所以在 audio route 的過程中, 由源頭至終點之間, 所有的都一定要做到最好, 只要途中有一粒「老鼠糞」的話, 整條路徑就可能一下子就廢了
    在音效的世界中, 雖然聽上來很殘酷, 但卻永遠是事實
     
  3. 瑋斯

    瑋斯 Active Member

    註冊日期:
    2005-05-17
    文章:
    1,262
    讚:
    15
    唉~玩音樂要這麼累?:confused:

    還有...對我而言,並沒有哪個OS聲音比較好的絕對說法
    我最愛的聲音的DAW只能跑PC
    So.....

    我喜歡Mac OS9的聲音多過OSX
    So.....


    影響聲音
    OS是一部份
    但不是全部

    也不是有好OS 就=有了100%硬體Sound

    So.....
     
  4. hjack

    hjack Member

    註冊日期:
    2010-08-19
    文章:
    542
    讚:
    0
    很專業的分享,不過新手動登錄表請小心



    所以MAC貴,什麼都不好,只好在一個地方,讓你專心做事
    不管是XX inside,Mac it's Mac


    不過成本跟環境,PC還是有不可取代的地方
    一般上網或播放的電腦,AMD反而好用
    這是先天架構的不同導致的運算特性
     
    Last edited: 2011-02-09
  5. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    啊, 還遺漏了一點未講, 如果你們的電腦太舊太慢的話, 或使用很慢而效能不好的 onboard display 的話, 又或者你覺得你的電腦的速度或效能依然是很慢的話, 你可以嘗試關閉不必要的 Windows Aero, 這樣電腦的整體速度都會較快
    雖然 Windows Vista 的 Basic 佈景主題可能會比較不好看, 但 Windows 7 的 Basic theme 卻也仍算得上漂亮
     
  6. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    對吧, 我說的當然不是說調好了後聲音就一定百分百好, 而我所說的硬體 sound 不是指音質一定好, 只是說 sample-realtime-perfect, 所有 samples 都幾乎沒有 jitter latency, 而且 interval 均等穩定, digital performance 像是一部硬體的高級音響播碟機一樣
    但即使是音響播碟機的實時硬體 sound 也不一定都會代表音質好, 還需要看其 DAC, analog LP filter, DSP, 運放, preamp 等等, 一部數百元和一部數千元的播碟機當然也可以相差甚遠 ;)
     
  7. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    凡事有其優點都有其缺點, 可能你覺得 Mac 的方便性對於其他人來說又會變成了自定性低的缺點呢 ;)

    關於 Intel vs. AMD

    1. 據小弟了解多久以來的 benchmark 所知, AMD 在運算速度上唯一比 Intel 優勝的 (以同級計) 就只有 athlon vs. Intel P4 時期, 好像大約在 2004 年左右, 亦是唯一一次, 但以後及之前一直都是被 intel 所拋離, 但當然是指最普遍的計數運算或日常運算式的密集計算 benchmark http://www.cpubenchmark.net/
    2. 但有一點 intel 一直都是必勝 AMD 的就是 media 運算, float 等等, 尤其是 media instructions, AMD 一直都很難取代, 單只是 MMX 指令已經無可代替, 很多人做出來的 media benchmark, 兩個 CPU 品牌的差距都蠻嚇人, e.g. 長時間 transcode, 長時間解壓 ape 成 wav 再重新壓成 ape, 一次過開啟滿十多個 VST (EQ reverb compressor dither stereoprocess limiter quantization 等等一都齊齊開啟), 一次過長時間轉換影片編碼, 剪接影片, 甚至是繪畫 maya or 3dmax 等等, intel 明顯都是快得很多, AMD 就真是慘不忍睹
    最重要的是 intel cpu + intel MB 真是比 AMD 的穩定得很多, 尤其是 full load 或 overload CPU 時, 我的親弟弟就是正在使用 AMD + nvidia (他是 AMD 的粉絲), 當我在使用他的電腦時真的很恐怖, 非常不穩定, 時快時慢, 有時候偶爾還會進出 "半hang" 的狀態, 相比之下 intel 真的穩定得多 (我們的 amd and intel 是同級同期產品)
    所以, 我認識的人們中, 從來沒有 commercial pro studio 會使用 AMD 的, 繪畫 maya, 剪接影片, 製作 video 等都不會有人使用, 佢們都說, 除非你是想搬起石頭砸自己的腳吧
    :D
     
  8. kcstudiohk

    kcstudiohk New Member

    註冊日期:
    2001-11-02
    文章:
    673
    讚:
    1
    "沒有 jitter latency, 而且 interval 均等穩定"
    這句看得我很頭痛 :confused::confused::confused::confused:
     
  9. 瑋斯

    瑋斯 Active Member

    註冊日期:
    2005-05-17
    文章:
    1,262
    讚:
    15
    我了解妳的頭痛.....

    不知該怎麼回了Wrz
     
  10. hjack

    hjack Member

    註冊日期:
    2010-08-19
    文章:
    542
    讚:
    0
    其實兩者的PK都是拿同級產品下去比
    比贏了市價就高

    市場上等級跟陣營無關,跟$$$有關,在商言商
    要求多那一點順,目前只能用intel 或 opteron了


    變成硬體討論區了..........
     
  11. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    你學習過什麼是 PCM digital 取樣使會明白
    以 CD 為例, 每一秒取樣 analog 線路電壓值 44100 次, 所以叫 44100Hz, 而每一個取樣值最多只會用 16 位的二進制數字來代表, 所以 sample size 就是 16bit
    而在那堆 44100 次的取樣之中, 每一個取樣之間都是十分均等 (可以說基本上是絕對均等) 的相隔 1/44100 秒, 即是說 ADC 每隔 1/44100 秒就會讀取一個新的取樣值, 而這些取樣值存好了後再要被讀播出來的話, 就必須依照原來的絕對時間間距來給 DAC 解讀來重繪其 analog 波形, 會個 sample 都必須每隔絕對的 1/44100 秒就要被送到 DAC, 否則如果過早或過遲被送到 DAC 的話, 都必定會造成波形走樣及失真
    當然 DAC 本身都有其硬體的固定 clock, 所以不會有取樣接收過快的問題, 因為過快的樣本都會被暫存在 DSP 的緩衝記憶之中, 而且 DAC/DSP 都是當需要再補充新一批 samples 時才會去對播放程式引發需求 "事件" (我所指的事件是指在寫程式時的 "event" 陳述式) 去叫喚程式讀取並送出取樣, 所以不會有過快的問題, 可是過慢卻是防不了的, 因為我說過, 上游的動作太慢 "水流過小" 的話, 下游怎樣叫罵也是沒它辦法的, 所以如果有小時距過慢的話, DAC 可能會自行在其之間自行估計及安插一個自己編出來的值, 當然這個值從來都沒多準的, 會造成噪音及失真, 若是大時距的延誤更會造成礙耳的 "pop/click glitches"
    所以我才說, 音效流在核心時的效率, 優先權及速度是相當重要的, 就是這個原因, 雖然純音效播放在 CPU 的每秒總工作量中只是佔上很少不明顯的份量, 但是在每一個 CPU clock task cycle 循環中都排上最高次序的話, 實質的音質的分別卻還是非常明顯的, 當然若果音效裝置, 音箱及耳機的質素太差的話都可能仍是不大明顯的 :)
     
  12. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    所以才會有這麼多老外都是在說 "The only advantage of AMD is just price"
     
  13. kcstudiohk

    kcstudiohk New Member

    註冊日期:
    2001-11-02
    文章:
    673
    讚:
    1
    香港有 PARCO 這種朋友, 音樂界應該有救了 !
    不如講講你錄過什麼的 session , mix 過什麼的歌
    做過那些唱片的 mastering 吧 !
    又或者講講你以前在那一家學院學習
    介紹一些書籍給大家
    好讓大家見識學習一下 !
     
    Last edited: 2011-02-09
  14. kcstudiohk

    kcstudiohk New Member

    註冊日期:
    2001-11-02
    文章:
    673
    讚:
    1
    說起又說...
    正確量 jitter 的方法應該是怎樣的呢...
     
  15. RENOIR CHEN

    RENOIR CHEN Member

    註冊日期:
    2005-02-06
    文章:
    85
    讚:
    0
    parco兄 你還是講你專業的部分吧
    我做3D工作好幾年了 我有十幾個核心是AMD的
    從來沒有不穩過 連過熱都沒有(3D一算都是CPU滿載連算好幾天不停的)
    公司會用INTEL不是因為AMD不好..
     
  16. sampkeimo

    sampkeimo Member

    註冊日期:
    2005-08-07
    文章:
    289
    讚:
    0
    我也好想知道!
    還有cpu上的散熱膏會不會影響?
     
  17. hjack

    hjack Member

    註冊日期:
    2010-08-19
    文章:
    542
    讚:
    0
    intel 也不是全部沒缺點

    付"風扇"的盒裝i7E...
     
  18. 瑋斯

    瑋斯 Active Member

    註冊日期:
    2005-05-17
    文章:
    1,262
    讚:
    15

    還有啥工程版....哈



    我現在電腦還用771
    讓我很難升級Orz

    不過I7是頗強大



    parco兄 也分享一下你的經歷阿
     
  19. hjack

    hjack Member

    註冊日期:
    2010-08-19
    文章:
    542
    讚:
    0
    小弟覺得intel這樣有點不負責任,隨然不會出事
    朋友還另外花快兩萬買水冷,不然只能跑最低頻率
    為了一顆三萬多的原廠盒裝公司貨CPU買水冷,不知道該說什麼
     
  20. parco

    parco New Member

    註冊日期:
    2008-08-04
    文章:
    134
    讚:
    0
    just try and experiment by yourself, it's more helpful than just asking silly questions here, unless you are asking for the private benefit of some related corporations.
    fact and result are more valid than senseless questions
     

分享此頁面