Winamp 的新 waveOut + SSRC !!!! ;)

討論MP3、WAV、MIDI、WMA甚至其他數位音訊的播放、製作、轉換等。

版主: DearHoney

回覆文章
gen6991
大師
文章: 151
註冊時間: 2001-01-08 08:00
來自: 高雄市

文章 gen6991 »

http://www.harmony-central.com/Newp/WNA ... O-2.0.html

上面是關於 ASIO 的敘述,參考一下吧.
TMNEXT
神人
文章: 271
註冊時間: 2002-01-02 08:00
來自: 人畜同樂促進會

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
<!-- BBCode Quote Start --><FONT COLOR=GREEN>
請問為什麼使用 ASIO 輸出聲音會變好聽?
</FONT><!-- BBCode Quote End -->
非常抱歉 現在才注意到 這是TMNEXT大問的問題.
我的卡有支援ASIO 2.聲音會變好 是"應該的"吧?
我本來以為是新手問的....就懶得解釋了(大小眼? [b05])
其實 我也解釋不出什麼來啦.
TMNEXT大 是不是以為 我是用AUDIGY的plug才會有此一問?
</FONT><!-- BBCode Quote End -->
呃,小弟不是什麼大,只是初學者,所以會問這種新手問的問題,您不用理我沒有關係 ^^;
我知道您用的是 MAYA(您以前有提過),所以我就更不懂為什麼音質會變好了。
MAYA 不是 AC'97 的架構,沒有 SRC 的問題,所以用 MME driver 或 ASIO driver,音質上應該不會有差異,所以我才會問您為什麼使用 ASIO 輸出音質會變好聽。
ASIO driver 是製作 Cubase 軟體的 Steinberg 這間公司提出的,因為當時 Windows 作業系統還在使用從 Windows 3.0 一直用到現在的 MultiMedia Extention driver(簡稱為 MME driver,也就是 95/98 下,一般音效卡用的那些 wave out 裝置),MME driver 因為過於老舊,有諸多限制(例如一個裝置只能是一對 stereo pair,最多 2 channel,要多聲道就得生出多個 MME device),還有非常高的 latency(延遲時間,譬如說我今天調了效果器,要等差不多一秒鐘才能聽到調整後的結果,反應非常遲鈍,我根本不知道我 Reverb 的量推到多少,發出來的聲音是我想要的),這些對音樂製作者來說是難以忍受的缺點。可是那時微軟可能不太重視音效,所以對這些問題遲遲沒有解決,以致於要在 Windows 系統底下從事專業的音樂製作幾乎是沒有可能的事情。於是 Steinberg 公司就推出自己的 ASIO 規格,同時為當時幾張著名的錄音卡撰寫 ASIO driver,用那幾張卡搭配 Cubase 軟體(ASIO Host Application),就可以達到縮短 latency 時間的目的。
一開始 ASIO driver 是由 Steinberg 公司自己主動幫幾家有名錄音卡的廠商寫的,大概是因為錄音卡廠商不見得具有很強的 driver 開發能力,二來 ASIO 又是一種新規格,錄音卡廠商可能不願意花時間花金錢去做這種嘗試,所以 Steinberg 公司就乾脆自己幫他們寫,作為大力推廣 ASIO 的第一步。寫出來的那幾張錄音卡的 driver 就是今天你在 ASIO Multimedia driver 設定底下,preset 裡面列出來的那幾張。後來因為 Cubase 的使用者眾多,許多使用者紛紛要求自己用的錄音卡廠商要提供 ASIO driver,ASIO 越來越流行,所以廠商也不得不去 k ASIO 的 SDK,開發 ASIO driver,慢慢的幾乎所有的專業錄音卡都會支援 ASIO driver 了。
所以要支援 ASIO,首先你要有一個使用 ASIO APIs 的軟體,也就是 ASIO Host Application,如 Cubase, Winamp + ASIO Plugin 等等,你才會用到 ASIO。第二,你系統上要有 ASIO native driver,你的音效卡廠商要開發支援 ASIO 的硬體驅動程式,這樣使用 ASIO 的軟體才能正常發聲。

那那個 ASIO Multimedia driver 和 ASIO DirectX driver 又是怎麼回事呢?
話說微軟後來因為遊戲市場的需要,終於推出 DirectSound driver 來取代老舊的 MME,DirectSound 的 latency 大幅縮小,本來是很適合於音效製作,不過因為 DirectSound 只能 output 不能 input(當初開發的目的是遊戲的需要,根本沒考慮到音樂製作),所以大部分的音效軟體還是要支援 MME(如 CoolEdit 你可能曾經很納悶為什麼這樣一個專業軟體還在用 MME)。
Cubase VST 從 3.55 版以後,就多增加了 ASIO Multimedia driver 和 ASIO DirectX driver,這樣即使你的系統上沒有支援 ASIO 硬體驅動程式的音效卡,使用 ASIO 的軟體還是可以經由 ASIO Host Application --> ASIO Multimedia driver(user mode, ring 3)--> 系統上音效卡的 MME driver(kernel mode, ring 0)然後發聲。ASIO DirectX driver 顧名思義,就是用你音效卡的 DirectSound driver。這樣即使你的音效卡沒有支援 ASIO,透過這兩個 driver,你的 ASIO 軟體還是可以使用。

新版的 Cubase 和 Nuendo 的 ASIO driver 都支援 ASIO 2.0,所以只支援 1.0 的音效卡用這個 driver 就可以正常發聲了。

我以前做過實驗,Live! 使用 APSLive! driver 或 kx driver,用 Winamp 的 ASIO 輸出,都不能跳過硬體的 SRC。Winamp ASIO Output 的作者一直以為用了 ASIO 就可以跳過音效卡的處理,所以前一陣子有人問他要不要開發 ASIO + SSRC,他的回答是加上 SSRC 平白多一層轉換反而減損音質,其實完全不是那麼回事...

我一定是瘋了,緊要關頭還在這裡囉唆一大堆... ><
erato
神人
文章: 342
註冊時間: 2001-09-03 08:00
來自: 台中

文章 erato »

TMNEXT的大作太長了 在這裡就不引了.先說聲抱歉.
(TMNEXT大大 你就不要再謙虛了.不然 像我這種水準的人 連文章都不敢POST了)
我想 ASIO的外掛 應該是對WINAMP有影響吧.
WINAMP本身有個音量控制.很強的音量控制 連數位輸出都會被影響.
掛SSRC也還是有 掛ASIO就去掉了.還有 音量會變大 這是非常明顯的.
(WINAMP2.8掛上ASIO時 音量真是超大的.某種程度上 可藉以確定它是有作用的)
至於硬體SRC到底有沒有跳過?這應該是MAYA的DRIVER控制的吧.....我亂猜的啦.
(MAYA有個AC97版DRIVER.用這個 就不能掛ASIO了.)
很少人用MAYA+ASIO 我也不去講它和SSRC聲音的差異了.
我的想法很簡單 這個外掛既然是改善聲音的.能用就用囉. [b11] [addsig]
<!-- Edit Notice Start -->

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

文章 TMNEXT »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
TMNEXT的大作太長了 在這裡就不引了.先說聲抱歉.
(TMNEXT大大 你就不要再謙虛了.不然 像我這種水準的人 連文章都不敢POST了)
我想 ASIO的外掛 應該是對WINAMP有影響吧.
WINAMP本身有個音量控制.很強的音量控制 連數位輸出都會被影響.
掛SSRC也還是有 掛ASIO就去掉了.還有 音量會變大 這是非常明顯的.
(WINAMP2.8掛上ASIO時 音量真是超大的.某種程度上 可藉以確定它是有作用的)
至於硬體SRC到底有沒有跳過?這應該是MAYA的DRIVER控制的吧.....我亂猜的啦.
(MAYA有個AC97版DRIVER.用這個 就不能掛ASIO了.)
很少人用MAYA+ASIO 我也不去講它和SSRC聲音的差異了.
我的想法很簡單 這個外掛既然是改善聲音的.能用就用囉. [b11]

</FONT><!-- BBCode Quote End -->
也許是我前面那篇回得太長您抓不到重點,我再把他整理一次\r
1. Winamp 的音量控制是控制 Windows Mixer,這個只對使用 MME/DirectSound driver 的時候有作用,如果你改用 ASIO 輸出,自然音量控制會失效。那個音量控制,您不想用的話不要用他就好了。音量大聲,把他調小就好了,這個應該沒有關係吧?
2. 要使用 ASIO,第一個你用的軟體必須會去使用 ASIO 的 APIs,就如同遊戲要使用 DirectSound,本身就要去用 DirectSound 的 APIs,用 ASIO APIs(user mode driver)走 ASIO Hardware driver(kernel mode driver),用 DirectSound APIs,自然就走 DirectSound driver。軟體不用 ASIO,你系統上有 ASIO driver 也沒用。MusicJukebox 根本就不用 ASIO APIs,雖然他不會控制音量,但是他還是不會用 ASIO,音量控制、音量大小聲和使不使用 ASIO 完全是兩回事。
3. MAYA 不是一張 AC'97 架構的音效卡,卡上沒有強制轉成 48KHz 輸出的機制,沒有硬體 SRC 的問題,你不論是用 MME output,ASIO output,聽到的聲音都應該是一樣的。MAYA 提供的兩種 driver,一種叫 E-WDM,我就不解釋這是什麼了,以前就有討論過,另一種給 95/98 用的叫做 VxD driver,不是 AC'97 driver,也沒有這種名稱的 driver。MAYA 的公司沒有為這個 VxD driver 寫 ASIO 的 code,所以他不支援 ASIO,支援 ASIO, GSIF 的 driver 全部寫在 E-WDM 裡面了。
4. ASIO 主要是用來解決 latency 的問題,他控制的是 buffer 的數目和大小,並且直接和硬體層溝通,所以速度才會快,除此之外他不會做其他能改善音質的處理,所以我不明白,為何使用 ASIO 音質會改善是理所當然的?為什麼這個外掛能夠改善音質?這也是為什麼我會問您那個問題的原因。

我前篇 POST 白爛寫錯了,是廠商也不得不去 k ASIO 的 DDK,不是 SDK,SDK 寫不出 driver 的,我忙中有錯,非常抱歉。

又,我不是大大 ^^;;
站上有很多人才是真正的大大,只是他們比較少露面說話,小弟只是獻醜了...
erato
神人
文章: 342
註冊時間: 2001-09-03 08:00
來自: 台中

文章 erato »

在這裡先抱歉一下.我的回答 一直回不到技術層面.我沒有那個水準.
MAYA有3種DRIVER. VXD WMD AC97版(安裝後 會有AC97 AC-3字樣)
我也很奇怪它是幹嘛的?不過 確實有這個東西.而且安裝後.
在ASIO外掛的裝置選單中 MAYA就不見了.
那個寫ASIO外掛 總是有根據什麼 來改善聲音的吧?
總不是 寫好玩的吧?還是他寫錯了!!!?
我一直有個想法 "音量控制"是音質下降的元兇之一.
因為像高階DAC+前級 這種機子 是沒有用軟體音量控制的.
(還是有 1 2萬的CD PLAYER有軟體音量控制就是了)
WINAMP對數位輸出 都有音量控制 是讓我一直耿耿於懷的.
(把它DISABLE 只是鎖在MAX 沒有跳過去吧?)
我一直不想寫 聲音變的怎樣怎樣了.不過 講到這裡還是提一下好了.
在SSRC外掛出來前 我一直用MusicJukebox.後來又覺得 ASIO更好.
至少 我可以確定 加ASIO和原來的WINAMP是相差很多的
我的感覺: 原WINAMP < MusicJukebox < W+SSRC < W+ASIO.
(我弄不太清楚 我原來WINAMP裝的MAD有沒有發生作用)
那個"音量變的超大聲"(比原來的MAX還大聲很多) 也許是種巧合或什麼的.
但是 至少是這個外掛 的確有某種影響的一種證明吧.

版上的"超級大" 潛水潛到馬里那海溝去了.......
想請教TMNEXT大之前那些圖 是用什麼測的啊?
(TMNEXT大應該是科班出身的吧?)[addsig]
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-08-19 23:58 被 erato 編輯過 ]</font><!-- Edit Notice End -->
justthinking
神人
文章: 1366
註冊時間: 2001-01-04 08:00
來自: 敗家者天堂
聯繫:

文章 justthinking »

看來看去實在是搞不懂..沒辦法只好發言了..
erato兄您所用的卡是MAYA對吧..這張卡的確沒有SRC..也非AC97架構..
既然如此..為什麼您說用了SSRC後音質會變好??
今天SSRC的出現就是為了避免使用遵循AC97架構的娛樂用卡上頗爛的SRC..
但是您的卡既然不會過SRC..您還用SSRC..只有兩種情況會發生..
1. SSRC幫您resample成48k輸出..
2. SSRC不做resample的動作..因此還是44.1k輸出..

先來討論前者好了..不管SSRC有多好..resample這個動作無可避免的
還是會造成失真的現象..如此狀況下您聽到的聲音是經過SSRC染色過的聲音..
當然也有可能是您覺得SSRC染色過後的聲音比原汁原味的MAYA不經過SRC的聲音好聽..

另外一個情況就是雖然您有安裝SSRC..但是沒開啟resampling..
這情況下SSRC根本沒有動作到..所以音質應該根本沒有差異吧??

以小弟手上的CardDeluxe來說..用DirectSound SSRC Plugin..
開啟resample的話聲音失真頗為嚴重..還會有雜音產生..要是不開啟的話..
則跟用其他輸出聽起來沒有不同..

另外您說覺得MusicJukeBox比Winamp好聽..我倒是覺得跟output無關..
應該是很單純的decoder的問題..怎麼說呢..
我想您用Winamp的時候應該沒用MAD或是MPEG123等Plugin吧??
不然就是用的不得其法..所以根本沒作用..
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-08-20 13:46 被 justthinking 編輯過 ]</font><!-- Edit Notice End -->
justthinking
神人
文章: 1366
註冊時間: 2001-01-04 08:00
來自: 敗家者天堂
聯繫:

文章 justthinking »

另外關於音量變大的部分..SB Live!或是YMF 7x4系列的音效卡..
安裝在Win2K上使用OS內建的Native Driver時也會發生音量比在Win9X下用
VxD司機大了很多的現象..但是前者的音質明顯的比後者要差上許多..
所以音質跟音量大小沒有直接的關係吧..

至於ASIO..我想您有必要先去了解ASIO的由來跟其架構還有功能..
ASIO PLUGIN的作者一開始就弄錯方向了..他以為ASIO可以跳過SRC..
他認為一但跳過SRC音質自然不會受到殘害而可以不失真..
但是事實證明他弄錯了..會過SRC的卡用了ASIO還是會過SRC..
不過SRC的卡就算不用ASIO也還是不過SRC..ASIO跟SRC根本沒有關聯..

另外有音量控制不見的就是壞事..像卡豪華的音量控制..基本上=Gain Control
0dB的時候最大.. -INFdB的時候就是完全無聲..這種音量控制的方式對音質絲毫沒有影響..

說真的..像書宗兄, Lidibo大大, LukeLo, 這些才真的是大大..
我自認學藝不精..只是之前有興趣的時候曾對這些東西花了點時間把基礎搞清楚..
後來就完全擱在一邊了..要是我的發言內容有誤..
還請各位大大指點出來..[addsig]
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-08-20 04:22 被 justthinking 編輯過 ]</font><!-- Edit Notice End -->
頭像
KomHub
神人
文章: 337
註冊時間: 2001-01-15 08:00
來自: B612號小行星

文章 KomHub »

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
各位大大在用的時候,如果是播放 CD 訊源,請將此 plugin 預設使用的 dithering 給 disable。因為 SRC 不需要使用 dithering 來增加雜訊。此預設選項是給 input 輸入是 16bit 以上(如 vorbis decode 時選擇 24bit 輸出,或 MAD 24bit 輸出),降轉為 16bit waveOut 時才需要使用。
</FONT><!-- BBCode Quote End -->

我發現用 Winamp 在 XP 下播放 CD 訊源 根本不會經過這個 SRRC Plugin
因為我把 Wunamp 所有 Out Plugin 全部移位子...
CD 訊源照樣撥的好好的說... :-.-:
xtreme
大師
文章: 60
註冊時間: 2001-08-09 08:00

文章 xtreme »

out_ds_ssrc v2.2.0出來了
Tiberius
神人
文章: 931
註冊時間: 2001-01-03 08:00

文章 Tiberius »

內建的 in_cdda.dll 是直接透過 Windows 撥放 ...
若要獲得 SSRC 好處,請使用 CD Reader Plugin :)
回覆文章