close

硬體 - 什麼是ASIO,它能為我們帶來什麼
什麼是ASIO,它能為我們帶來什麼
[什麼是ASIO]
  ASIO的全稱是Audio Stream Input Output,直接翻譯過來就是音頻流輸入輸出接頭的意思。通常這是專業音效卡或高檔音頻工作站才會具備的性能。採用ASIO技術可以減少系統對音頻流信號的延遲,增強音效卡硬體的處理能力。同樣一塊音效卡,假設使用MME驅動[1]時的延遲時間為750毫秒,那麼當換成ASIO驅動後延遲量就有可能會降低到40毫秒以下。
[理解ASIO的含義]
  也許你仍無法認識到解決音頻延遲的具體意義,那麼,我們姑且換一個角度來看問題:許多朋友都試過用電腦與互連網進行語音通話,就連著名的聊天工具 OICQ都有此功能。其實互連網上的語音通訊跟電信部門提供的IP電話是同樣機理,只不過由於網路帶寬的限制而使得前者的聲音延遲現象遠比後者嚴重得多。當話音的延遲在一定的範圍內時,人們會覺得尚可接受;但如果延遲量實在太大(比如說每說一句話都要等到5秒以上),那麼大家就會覺得這是無法忍受的了。
[誰會需要ASIO]
  普通音效卡在播放音頻流的時候是有延遲的,儘管一般用戶都不易察覺到它的存在。畢竟,對於播放影碟和雙聲道的MP3音樂以及玩遊戲來說,幾百毫秒的聲音延遲對應用的影響根本是微乎其微的,完全可以被忽略不計。但是,對於專業的錄音師和音樂製作人來說,這幾百毫秒延遲所帶來的後果就好比我們普通用戶要面對響應極慢的互連網IP電話那樣,同樣是不能容忍。試想,當按下一個琴跄保飈嵆?.6以上的時間才能夠聽到聲響,恐怕任何演奏者都很難發揮其正常的水平,更無法控制音樂表演的情緒;錄音師進行後期製作的過程中,需要給不同的音頻信號做相應的實時效果處理,並對分軌錄製的多通道音頻流進行混音,以得到最終的雙聲道立體聲或是5.1聲道的環繞聲格式。在對多個聲部的音頻進行縮混時,如果聲音有延遲且延遲時間各不相等,那麼多個聲道之間的信號同步就會成為大問題,錄音師就會因此而無法對混音的結果進行準確判斷。為此,他們十分迫切需要一種能夠讓音頻設備實現「零延遲」的技術,這個技術就是Steinberg 定義的ASIO。
[ASIO的本質]
  為了實現「音頻設備零延遲」的理想,著名的音樂製作軟件Cubase VST的開發者Steinberg公司提出了被稱為Audio Stream Input Output的標準規範,其目的是為了讓各硬體廠商開發出來的設備能夠很好地與Steinberg的音頻處理軟件Cubase VST相結合,以使其在數位音頻處理和軟件音源模擬方面發揮出最佳的性能水平。ASIO完全擺脫了Windows操作系統對硬體的集中控制,它能實現在音頻處理軟件與硬體之間進行多通道傳輸的同時,將系統對音頻流的響應時間降至最短。根據ASIO規範中定義的細節,音效卡廠商可以為其硬體產品編寫出高效能的ASIO驅動程式,使用音效卡硬體對音頻流的響應時間降低到十幾毫秒以內。要知道,即便是對於那些極其苛刻的專業音樂製作人,這樣低的延遲量也是根本無法察覺到的。
http://www.91fh.com/UploadFiles/2005101017127820.jpg
[ASIO與DirectSound]
  ASIO的目的在於最大程度地降低系統播放音頻流時的延遲時間。也許有讀者會因此聯想到DirectSound——不錯,ASIO跟 DirectSound的確十分相似,二者都是以設法繞過Windows操作系統對硬體設備的控制、直接與硬體連接阜取得通訊的思路來實現提高響應速度的目的。不過,ASIO的革命性要比DirectSound更徹底一些:如果把DirectSound比喻成用高階語言實現的程式,那麼ASIO就是用彙編代碼構成的程式——不僅結構更為緊湊,效率也大為提高。更何況,ASIO不僅是驅動上的革命,還需要硬體晶片的支持。在驅動與硬體的緊密結合下,ASIO 將延遲降至極低的程度是必然的事情。
  不過,如果你的音效卡僅支持ASIO而不支持DirectSound,那麼就無法用Windows任務條上的小喇叭來實現音量控制,而執行最常用的一些娛樂軟件,諸如超級解霸和WinAmp等的時候,也無法通過播放器界面中的音量推子來控制聲音的大小。
  某些音效卡可以同時支持MME、DirectSound、ASIO、GSIF[2]等多種標準,並通過軟件實現不同相容方式之間的切換。對於那些需要兼顧專業創作和日常應用的朋友而言,這樣的音效卡無疑是十分方便的。
[哪些音效卡支持ASIO]
  並非所有的音效卡都能夠支持ASIO。如前所述。ASIO不僅定義驅動標準,還必須要求音效卡主晶片的硬體支持才能夠得以實現。在過去,只有那些價格高貴的專業音效卡,在設計中才會考慮到對ASIO的支持。我們日常所用的音效卡,包括創新過去的SB Live!系列都屬於民用卡的範疇,所以沒有哪一款是配備了ASIO驅動的。
  有趣的是,SB Live!的主晶片EMU10K1本身支持ASIO,只是這一性能並未在創新自帶的LiveWare! 3.0驅動中體現出來。因此,當你將SB Live!的驅動程式換成採用同樣規格設計的E_mu APS錄音卡的驅動後,音頻處理軟件就會報告說找到ASIO!
  另一個比較有意思的例子是採用CMI8738晶片的各種多通道音效卡。CMI8738本身也是具備ASIO的潛質,只不過至今還沒有合適的驅動將其發揮出來。
  首款公開聲稱徹底支持ASIO技術的民用音效卡是創新最新推出的SoundBlaster Audigy。這款SB Live!的換代產品不僅提供了高達24bit / 96 kHz的聲音品質,而且還全面支持ASIO、SB 1394等最新的先進技術。SB Audigy的面市,使得民用音效卡跟專業音效卡之間的距離又縮小了一層。
http://www.91fh.com/UploadFiles/2005714103336205.gif
[如何判斷與應用ASIO]
  在音頻處理軟件的表菜單欄中找到「Setup Preferences Audio」或是「Setup Audio Hardware」,在Device下拉選單中會列出當前可用的音頻設備。如果音效卡不支持ASIO,那麼下拉選單中就就只會顯示出ASIO Multimedia Driver一項,這實際上是MME驅動對ASIO的軟模擬;如果音效卡使用的是ASIO驅動,那麼在此下拉選單中還會有另外一項,例如MAYA ASIO Driver或SB Audigy ASIO。
  將軟件的音頻輸出設置為ASIO設備後,播放多軌音頻、使用實時效果器以及使用VSTi軟音源時就會得到近乎完美的效果。不過,要想真正達到「零延遲」(指延遲時間在10ms以下),還須對ASIO設備的緩衝區進行設置。
  單擊音頻內容設置中的Control Panel打開ASIO控制交談視窗,單擊Advance按鍵進入高階設置。這裡最重要的參數是Buffer Size,也就是音頻緩衝區的大小。一般來說,緩衝區設置得大一些,可以增加系統的穩定性,緩解因資料傳輸或處理過程中的速度差異而導致的爆音現象;而把緩衝區設置得小一寫,則會提升系統的響應時間,減少音頻延遲。總之,緩衝區的大小設置,需要根據你所用電腦的CPU和記憶體等硬體的性能而定。
  設置好音頻緩衝區後,音頻軟件會提示說環境設置已改變,要求進行測試以保證將來的工作正常。測試的主要內容是檢查資料包是否會有丟失,整個過程大概需要數十秒至1分鐘左右。當看到如下圖所示的成功訊息後,你就可以在音頻處理軟件中充分享受到「零延遲」所帶來的種種樂趣了!
原文位址http://www.91fh.com/text3.asp?id=289
http://www.91fh.com/UploadFiles/200673162610941.jpg

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Auster 的頭像
    Auster

    Auster 隨手亂彈

    Auster 發表在 痞客邦 留言(2) 人氣()