從專業音效卡廠商網頁看來的作業系統限制

音效卡的問題在此討論。

版主: DearHoney

DearHoney
神人
文章: 6487
註冊時間: 2001-01-03 08:00
聯繫:

文章 DearHoney »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>我一開始所說 EWS88MT 在 Windows2000 裝兩張以上會撐爆一事,顯然不是事實,必須在此提出澄清。</FONT><!-- BBCode Quote End -->

這一篇再度挖出來.....

EWS88MT 的 WDM 驅動程式日前公布,我在同一台機器上實驗安裝兩張 EWS88MT,並且使用 WDM 驅動程式,如此一來,果然只有十個裝置可以被列出來。

先前是 ECHO Layla24 安裝 WDM,而 EWS88MT 安裝 NT 版驅動程式,這樣可以超過十個裝置。所以我們現在可以看出比較明顯的事情了,那就是在 Windows2000 下,WDM 音效裝置,最多只能有十個,超過的會不見。而這個限制,在 WindowsXP 下開放到 32 個,這個我們先前有討論過,是在 ECHO 的網站看到的訊息。

至於要靠 ASIO 驅動程式,並且使用支援 ASIO 的專業軟體來突破原本的限制,我過個幾天再試試看。
journeyman
初學者
文章: 2
註冊時間: 2001-10-17 08:00
來自: 法外科學暨工程顧問公司

文章 journeyman »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
所以我想這兩家講的是同一件事情。那,MME 是什麼?現在只知道是 Windows Multi Media Extension 的縮寫,這好像是 Windows 3.1 時代開始有的東西,但這方面的背景知識我就沒有了,有沒有人可以為大家解惑一下什麼是 MME?
</FONT><!-- BBCode Quote End -->

喔喔…歷史我知道一些,不過大概沒什麼用。Windows Multimedia Extension的誕生早在Windows 3.0的時候,那時它是一個分離的產品-也就是說,你裝的Windows 3.0是沒有MME功能的,必須要另外去買MME來裝上去,才有多媒體能力。後來到了3.1的時候MME就整合進Windows當中,一般絕少聽人提起…實在很難想像十年後還會聽到這個名字。 :P

老手一定都知道,在Visual C++誕生以前,Windows的開發套件是C的library,整包合起來稱為SDK (Software Development Kit)。而SDK以外還有個MDK(不是Mandrake),也就是Multimedia Development Kit。不過去找MDK的資料恐怕沒有用;畢竟舊的標準不可能不經修改就一直沿用到Win 9x系列上,不如從DDK相關的資料著手來了解…
Ran
初學者
文章: 37
註冊時間: 2001-01-05 08:00

文章 Ran »

我我...
再挖出來請教...
請問站大及大家,MME也有十個裝置的限制嗎?...
vxd和MME的關係是?....??

我看我的多媒體裡的裝置,上面寫著Emu10K2 MME driver,我裝的應該是vxd沒錯吧!?... ?_?
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
我我...
再挖出來請教...
請問站大及大家,MME也有十個裝置的限制嗎?...
vxd和MME的關係是?....??

我看我的多媒體裡的裝置,上面寫著Emu10K2 MME driver,我裝的應該是vxd沒錯吧!?... ?_?
</FONT><!-- BBCode Quote End -->
我我...
再挖出來回覆...
如同 journeyman 兄所說,MME 是從 Windows 3.0 留下來的東西,
MME 提供了一套 API 讓 Windows Application 去使用系統上的多媒體資源,
如同 DirectSound Driver 提供的 API 一樣,這個是屬於 user mode 的
Driver(API)-->.dll or .drv。
傳統的 Wave out/in 就是 MME Device。

VxD 和 WDM 則是 kernel mode 的 Driver -->.vxd or .sys,
屬於和硬體溝通層級的 Driver,比較符合我們一般認識的硬體裝置驅動程式。
所以驅動程式分為兩個部分一組搭配的,kenrel mode + user mode driver。
譬如說 OASYS 音效卡的 VxD Driver 有下面這幾個檔
OASYSPCI.drv (wave (MME) driver)
AsioKorgOasysPCI.dll (ASIO driver)
ASIO 也是一個 user mode 的 driver(API,供支援 ASIO 的軟體使用)

然後 kenrel mode 的 driver 則是
oasyspci.vxd (device driver)


關於前面站長提到的 WDM 驅動程式的問題,WDM 因為架構層設計的關係,
自動支援 MME/DirectSound 兩種 Driver(API),不像 VxD 需要加進一段
native code 才能支援 DirectSound。
還有其他非常多好的優點,不過有一個令人頭痛的問題,WDM 提供的
kenrel mode mixer 也就是 KMixer(kmixer.sys),作 Mixer 和 SRC 用的,
有一個很大的 latency 大約 30 msec,這個問題讓許多音效卡廠商非常苦惱,\r
因為當時微軟並沒有提供一個可以 bypass KMixer 的方法。
後來 Cakewalk 公司因為和微軟關係曖昧....呃..是不知道為什麼原因關係特別密切,
所以 Cakewalk 搶先推出可以 bypass KMixer 的軟體,也就是號稱使用
kernel mode streaming 技術的 SONAR。

以上是我所知的部分,至於現在情況如何,有沒有其他廠商推出類似的軟體,
我太久沒碰就不得而知了...
DogHouse
大師
文章: 70
註冊時間: 2001-06-20 08:00

文章 DogHouse »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
關於前面站長提到的 WDM 驅動程式的問題,WDM 因為架構層設計的關係,
自動支援 MME/DirectSound 兩種 Driver(API),不像 VxD 需要加進一段
native code 才能支援 DirectSound。
還有其他非常多好的優點,不過有一個令人頭痛的問題,WDM 提供的
kenrel mode mixer 也就是 KMixer(kmixer.sys),作 Mixer 和 SRC 用的,
有一個很大的 latency 大約 30 msec,這個問題讓許多音效卡廠商非常苦惱,\r
因為當時微軟並沒有提供一個可以 bypass KMixer 的方法。
後來 Cakewalk 公司因為和微軟關係曖昧....呃..是不知道為什麼原因關係特別密切,
所以 Cakewalk 搶先推出可以 bypass KMixer 的軟體,也就是號稱使用
kernel mode streaming 技術的 SONAR。
</FONT><!-- BBCode Quote End -->

只要 Audio Controller 提供硬體加速能力,
同時在 WDM Driver 也正確 Report/Code,
Application 是可以利用 DirectSound 來 bypass KMixer 丟 Data 的.
Ran
初學者
文章: 37
註冊時間: 2001-01-05 08:00

文章 Ran »

嗚嗚~~小弟不知道該說什麼,謝兩位大大!! :o

另外,請問OASYS是什麼東西,看上面的介紹,音效加速卡嗎? :o

另外,請問Asio在windows下也是要經過vxd or wdm嗎?..
那麼,其又是靠什麼達到減少延遲的功能呢?..

小弟不才,懇請賜教!!
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-01-31 14:20 被 Ran 編輯過 ]</font><!-- Edit Notice End -->
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
嗚嗚~~小弟不知道該說什麼,謝兩位大大!! :o

另外,請問OASYS是什麼東西,看上面的介紹,音效加速卡嗎? :o

另外,請問Asio在windows下也是要經過vxd or wdm嗎?..
那麼,其又是靠什麼達到減少延遲的功能呢?..

小弟不才,懇請賜教!!
</FONT><!-- BBCode Quote End -->
小弟不是大大,不過 DogHouse 兄是真正的專家 [b07]

OASYS 是什麼東西,相信您應該很清楚,我就不多說了 [b01]

ASIO 也是要經過 WDM or VxD 的,WDM 可以透過 IOCTL ext. to WDM mini- port,
VxD 應該是要加進 ASIO kenrel mode module 的 code。

至於是靠什麼達成減少延遲的功能,我其實沒寫過 driver ^^;;;(爆汗)
不過大致上有兩個方向
1. 減少 data transfers or conversions,也就是減少 intermediate buffers
2. 善加利用硬體的性能,譬如說硬體有提供 hardware mixing, level metering
那麼就提供對應這些特性的 API 給軟體使用。

因為我不是專業人士,所以只有一點概括性的了解,以上說的如有錯誤,
還請大家幫忙補充和指證 [b08]
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-01-31 17:52 被 TMNEXT 編輯過 ]</font><!-- Edit Notice End -->
dxl
大師
文章: 161
註冊時間: 2001-04-23 08:00
來自: kamloops, BC. Canada
聯繫:

文章 dxl »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
嗚嗚~~小弟不知道該說什麼,謝兩位大大!! :o

另外,請問OASYS是什麼東西,看上面的介紹,音效加速卡嗎? :o

另外,請問Asio在windows下也是要經過vxd or wdm嗎?..
那麼,其又是靠什麼達到減少延遲的功能呢?..

小弟不才,懇請賜教!!

</FONT><!-- BBCode Quote End -->
OASYS是已經停產的失敗做
dxl
大師
文章: 161
註冊時間: 2001-04-23 08:00
來自: kamloops, BC. Canada
聯繫:

文章 dxl »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>我一開始所說 EWS88MT 在 Windows2000 裝兩張以上會撐爆一事,顯然不是事實,必須在此提出澄清。</FONT><!-- BBCode Quote End -->



這一篇再度挖出來.....



EWS88MT 的 WDM 驅動程式日前公布,我在同一台機器上實驗安裝兩張 EWS88MT,並且使用 WDM 驅動程式,如此一來,果然只有十個裝置可以被列出來。



先前是 ECHO Layla24 安裝 WDM,而 EWS88MT 安裝 NT 版驅動程式,這樣可以超過十個裝置。所以我們現在可以看出比較明顯的事情了,那就是在 Windows2000 下,WDM 音效裝置,最多只能有十個,超過的會不見。而這個限制,在 WindowsXP 下開放到 32 個,這個我們先前有討論過,是在 ECHO 的網站看到的訊息。



至於要靠 ASIO 驅動程式,並且使用支援 ASIO 的專業軟體來突破原本的限制,我過個幾天再試試看。
</FONT><!-- BBCode Quote End -->

Cubase VST 5.1
Logic Audio 5
Fruityloops 3.4
Orion 2.75
Reason 1.01
Storm 1.5
以上是較受歡迎的ASIO hosts

你要突破啥限制?又不能超頻 ?_?
DearHoney
神人
文章: 6487
註冊時間: 2001-01-03 08:00
聯繫:

文章 DearHoney »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>你要突破啥限制?又不能超頻 ?_? </FONT><!-- BBCode Quote End -->

你把整篇看完嘛∼∼∼

不過最後我還是沒有時間去做這樣的測試......
回覆文章