foobar2000 0.8.2正式版出爐(2004/5/15)

finalkk

進階會員
已加入
9/22/03
訊息
684
互動分數
0
點數
0
能重覆播放+隨機播放嗎?
我上次裝0.81版都只能兩個選一個,不能都選
而且重覆播放似乎只能一首,不能全部都重覆?
有沒大大可以解答一下
 

JCG

進階會員
已加入
11/3/03
訊息
161
互動分數
0
點數
16
網站
造訪網站
Originally posted by finalkk@May 17 2004, 07:46 PM
能重覆播放+隨機播放嗎?
我上次裝0.81版都只能兩個選一個,不能都選
而且重覆播放似乎只能一首,不能全部都重覆?
有沒大大可以解答一下
工具列上的Order選單,可以選擇你要的播放方式。

重覆播放 -> repeat
單首重覆播放 -> repeat one
隨機播放 -> random

至於所謂的"兩個選一個" ……
random就是在playlist裡面隨機選取一首播放,放完了再隨機選下一首,一直到使用者叫停為止。我不懂為何要和repeat合併使用?
 

childlike

台客會員
已加入
10/7/03
訊息
318
互動分數
0
點數
0
收下啦~~

不知道那邊有比較多關於介面的東東
 

s825107

榮譽會員
已加入
9/18/03
訊息
1,148
互動分數
0
點數
0
不曉得哪裡有設定的教學....
可以詳細寫出各種音效卡所需要搭配怎樣的設定值?
 

JCG

進階會員
已加入
11/3/03
訊息
161
互動分數
0
點數
16
網站
造訪網站
目前Creative全系列PCI介面的音效卡都有48kHz的SRC,所以SSRC是必要的。
早期(在Intel AC97這個規格還沒出現的時候)的ISA介面的音效卡,native master clock通常是44.1kHz,此時就沒有必要用SSRC了。

基本上目前所有娛樂用的音效卡都有使用SSRC的必要,使用Envy24/Envy24HT系列I/O controller的音效卡例外。
 

amaw

高級會員
已加入
9/18/03
訊息
342
互動分數
0
點數
0
多謝告知....之前還在用0.6的版本 :lkl:
 

joeyf40

高級會員
已加入
9/25/03
訊息
381
互動分數
0
點數
16
網站
造訪網站
Directsound 與 Waveout
Q: Directsound 與 Waveout 有何不同?
A: Waveout 是在 32 位元的 Windows 上的一種老舊且過時,用來播放數位音訊的應用程式介面(Application Programming Interface,簡稱API)。舊的 Windows 作業系統(如 Win9x WinNT4)對於 Waveout 擁有很高的完成度(因為 waveout 是針對這些作業系統設計的),如果你想獲得最好的效能,你應該在這些作業系統上使用 Waveout 輸出。然而 Waveout 的弁鄏釧珓]限,它無法支援「混和多重音訊流」的弁遄C這顯示在 Win2k/XP 下的 Waveout,只是為了舊的軟體的相容性所提供的,也因此 Win2k/XP 下 Waveout 的完成度很糟,它沒有使用任何的硬體加速弁遄A所有的混音動作都是用軟體來執行(因此當 CPU 的使用率很高時,常常楷x發生類似 CD 跳針的斷音現象)。

Directsound 是種較新、較現代化的聲音播放 API,都已經內建在最近的 32 位元 Windows 作業系統中。Directsound 支援混和多重音訊流、獨立的音量控制、硬體加速層及硬體模擬層(如果某些弁鉞w體無法支援,可以用軟體來模擬,因此程式設計師無須擔心他們的新 l33t 碼無法在舊的 Sound Blaster 16 上運作)。一般來說,只要你的作業系統安裝了適當的音效卡驅動程式及最新的 DirectX,Directsound 都應該可以運作的很好(除了 WinNT4 以外)。在 Win2k/XP 下,Directsound 是比 waveout 來的更好的選擇,因為在這些作業系統裡,Directsound 的完成度相對的比 waveout 來的更高(比 waveout 佔用較少的 CPU 資源,自由度較高,且不楷x有 Waveout 常見的小毛病)。Directsound 原本是被設計來讓遊戲利用系統的硬體加速弁遄A而無須直接接觸低階的硬體函數(就如同 DirectX 其他的組件)。

Q: 為何 Directsound 總是比 waveout 來的小聲?
A: 在 Win2k/XP 中,改變 waveout 的音量似乎楷x改變整體音量的設定,然而 Directsound 的音量是獨立控制的。換句話說,你用 waveout 來播放音樂,你將音量設為50%,你就楷x得到50%的音量,然後你用 Directsound 來播放,你將音量設為50%,你只楷x得到最大音量的25%。解決之道:別使用 waveout,並在 Windows 的音量控制中將音量設為最大。

Q: Directsound 及 waveout 之間的聲音輸出品質有所不同嗎?
A1: 在Win2k/XP下(或者使用WDM驅動程式),waveout 及 Directsound 分別以不同的方式傳輸 PCM 資料給 Windows kernel mixer。waveout 只使用軟體混音,因此較少造成系統中的特殊問題,而 Dircetsound 可以使用硬體混音,因此楷x造成某些已知的,聲音品質的問題。
A2: 在 Win9x 下,Directsound 驅動系統完全的與 waveout 分離,並使用低階的方式來控制硬體,因此這就像拿兩種不同的驅動程式來配合 waveout 及 Directsound。在使用某些老舊的 ISA 介面的音效卡時,Directsound 為了節省 ISA 匯流排的頻寬,有著楷x將音訊資料降低取樣至 22khz 8bit (或者其他相近的取樣率)的問題。

Q: 對於 Directsound 而言,軟體混音及硬體混音有何不同?
A: 在 WinXP sp1、DirectX 8.1 中,無論是使用微軟的 Directsound 核心或者是驅動程式來進行硬體混音,都很容易碰到問題。目前已經證實,在 Winxp 下使用硬體混音來傳輸音訊資料時,即使是使用不同的音效卡,皆楷x碰上「取樣頻率」的問題。特別是某些驅動程式存在已久的問題(著名的創新未來 Audigy 音效卡 Skipping 問題,在某些設定中楷x出現不間斷、靜態的雜音,甚至在某些例子中,楷x發生聲音品質驟降的情形,天曉得為何楷x如此!)。如果你想穩定的運作電腦,那建議你最好把硬體加速給關掉。硬體混音可以 foobar2000 的偏好設定中的 Driectsound 這個欄位裡找到 "allow hardware acceleration"。開啟它不代表你就真的啟動了這個弁遄]Directsound 楷x在沒有可用資源時自動使用軟體混音)。


關於重新取樣(resampling)
Q: 如果我使用重新取樣的弁遄A能夠增進(improve)聲音的品質嗎?
A: 不行,你無法利用重新取樣來「增進」聲音的品質,重新取樣是個有耗損的過程。你可以試看看改變一張 bmp 圖片的大小,改過大小的圖片楷x和原本的圖片極為相似,不過假如你把兩張圖都放大(zoom-in)來看,你楷x發現它們在細節上並不相同。在某些硬體上,如果你使用高品質的重新取樣軟體,來避免讓你的驅動程式/硬體處理重新取樣的過程,你可以避免大量資料的損失(也就是避免音訊品質降低)。我知道某些人在他們的 Sound Blaster 16 上將取樣率提升為 96khz 24bit,並且聲稱這樣能聽到較「明亮」的聲音(事實上 Windows kernel mixer 楷x將取樣降回 44khz 16bit),別聽他們所說的屁話。

Q: 我應該將重新取樣的參數設為多少比較好?
A: 首先,你應該查詢你音效卡的硬體資料。某些音效卡(例:在 SB Awesome 系列以前發售的 Sound Blaster 系列)不需要進行重新取樣,這表示你不需要額外的重新取樣程序就已經得到最好的品質了(不楷x有重新取樣時造成的品質降低)。所有的 SB Live!系列/Audigy系列/AC97相容的音效卡,都已經將輸出的取樣頻率固定為 48khz,重新取樣的品質楷x因為驅動程式/硬體裝置/Windows混音設定而改變。在釵h例子中,SSRC 重新取樣軟體楷x優先於你的硬體/驅動程式,因此你需要將重新取樣的參數設為 48khz/16bits,以避免你的硬體/驅動程式來進行它們較差的重新取樣。

Q: 但是我在我的 Sound Blaster 上可以重新取樣為 96khz/24bits ...
A: 當然可以,因為 Windows 混音器楷x將取樣率降回你硬體能夠接受的格式(例如: 48khz/16bits),這楷x造成額外的品質降低。不要提升取樣,除非你的硬體真的能夠接受這些格式。

Q: Resampler 中的 Internal precision 是什麼意思?
這裡設定的是 SSRC 的運算精度,理論上使用 64bit 楷x比使用 32bit 得到更清晰的音質,不過相對的,CPU 佔用率也越高。

Q: 16/24bit fixed-point padded to 32bit 是什麼意思?
A: 某些音效卡上的 DSP (數位訊號處理器)內部有著 24 或 32 條資料管線,如果輸入的音訊資料是 16/24bit,那麼 DSP 必須先做一些處理才能去運算這些資料,這楷x造成效能的低落,因此先把資料填補(padded)成 24bit 或 32bit,對於降低 CPU 的佔用率,應該很有幫助。


Dithering
hotball 寫到:
Dithering 通常楷x增加量化誤差(也就是雜訊楷x變多),但是楷x減少失真(指人的感覺上)。這是因為,在沒有 dithering 的情形下,量化誤差楷x比較集中在低頻部份。而加上 dithering 後,低頻部份的量化誤差楷x減少,而轉移到高頻。由於對大部份情形來說,高頻是比較不重要的,所以這樣是可以減少失真的。

所以,在使用 dithering 的情形下,取樣率要高到某個程度以上才行(即讓其高頻部份超出人所能偵知的範圍)。對於影像訊號來說,當解析度高到某個程度時,人眼就無法分辨各別的 pixels(所以 dithering 的圖遠看楷x比較好看)。聲音的情形也類似,因為人耳無法聽到某個頻率以上的聲音。但是若取樣率不夠高的話,則 dithering 所造成的高頻量化誤差的增加,就不一定楷x有好

啟用這個弁遄A將楷x在播放波形時 Dithering。如果 dithering 沒有啟動,那麼foobar2000將楷x改用切平。這意指沒有用到的位元楷x被砍掉並丟棄。在釵h較安靜的音樂中有淡入或淡出的情況時,楷x造成「斷裂」的聽覺效果(也就是淡入/出的效果不平順)。

Dithering 只有在你將高位元(例如:32bit)的音訊以低位元(例如:16bit)來播放時才真正有用。

輸出位元深度設定(Output bit depth)
這裡有個下拉式選單,可以讓你選擇輸出的位元率。如果你有張 24bit 的音效卡,你當然楷x想讓那些沒有用到的位元使用 dither to 24bit 來輸出。即使是 16bit 的音效卡,在播放 32bit 的音訊時使用 dither to 16bit 也能增進音質。

foobar2000 處理音訊資料的管道如下

decoder(64 bit fp)=>[replaygain]=>[DSP]=>downsample to 16/24 bit with optional dithering

解碼器(64位元浮點數)→[replaygain]→[DSP]→降低取樣至 16/24/32位元並使用 Dithering

因此當你選擇 dither to 16/24/32bit 時,建議你啟動dithering。


2.
關於 Kernel Streaming
Q: 何謂 Kernel Streaming ?
A: Kernel Streaming 楷x繞過 Windows kernel mixer,直接輸出音訊資料給音效卡。這種方式有著較低的輸出延遲,也野i以被視為 ASIO output 之外的另一種選擇。

Q: 我應該用 Kernel Streaming 嗎?
A: 如果你的音效卡及驅動程式能支援,且你使用 Kernel Streaming 沒有什麼問題的情況下,我楷x建議你使用 Kernel Streaming 。

Q: 為何使用 Kernel Streaming 來輸出,比使用 Directsound 輸出,感覺聲音變的更大聲或者明亮?
A: 聲音並沒有變的明亮,只有變大聲。因為輸出資料給音效卡的方式不同,因為繞過了 Windows 的混音器,音量控制(wave)對於 Kernel Streaming 是無效的,而且都以最大音量來輸出。如果你將音量控制中的 wave 音量設為最大,並使用 Directsound 輸出,你楷x發現音質和 Kernel Streaming 輸出沒什麼不同。

Q: 哪些作業系統可以使用 Kernel Streaming ?
A: Kernel Streaming 只能在 Windows 2000 及 Windows XP 上運作,有人說應該可以在Windows ME 上運作,但仍未被確定。


關於 ASIO
Q: 何謂 ASIO ?
A: ASIO 是 Audio Stream Input Output 的縮寫。由 Steinberg 發展出的一種多重聲道音訊傳輸協定。

Q: 為何在 WinXP 下,使用 ASIO 楷x比 Directsound 輸出來的好?
A: ASIO 楷x跳過 Windows Kernel Mixer ,如同 Kernel Streaming ,但是在某些音效卡上使用 Kernel Streaming 楷x發生當機的情況,因此 ASIO 被視為另一種替代的選擇。


數位輸出
Q: 如果我要使用音效卡的數位輸出(SPDIF/光纖),那我要選用哪種 API 呢?
A: 你必須使用 DirectSound 來輸出數位訊號,使用 waveout 或 KS 皆楷x輸出錯誤的數位訊號.

3.一打開 foobar2000, 你會發現它連 play, stop 這些基本的按鈕都沒有, 你可以到 Foobar2000>Preferences>Display 裡, 選 Show buttons, 接著到 DSP Manager, 把右邊的 Resampler 移到左邊, 然後在 DSP Manager 下的 Resampler 裡, 把 Target sample rate 設定成你 soundcard 本身的 sample rate 以下是一些建議數值 (參考自 DearHoney 的 RMAA 資料庫):

44100 - SB16, AWE32, AWE64 和其他類似的 ISA soundcard

48000 - SB PCI, SBLive, Audigy1, Extigy, Philips AE, Sonic Fury, Yamaha 7x4 和一般的 onboard soundcard

96000 - Audigy2

M-Audio, Audiotrak, Terratec 一系列的新款平民 soundcard 在 44.1khz 運作時可以不經 src

在使用 Resampler 之後, 再試試播放上面提及的兩個測試訊號, 聽聽是否只聽到很純很尖的超高頻聲音, 而且聽不出兩個檔案的分別。如果是的話, 高質素的 src 已經成奶F。否則請到 foobar2000>preferences>Output 裡, 試試選用不同的 Output, 如 Kernel Streaming (只限 WDM driver), 變更 DirectSound/WaveOut 裡的各種設定再試試看, 如果仍然失敗的話, 試試在 Windows 音量控制裡按選項>進階控制, 看看是否有高低音控制, 如果有的話, 把高低音都移到正中間再試試看 (如果本身已經在中間就不用移了), 如果還是不行的話, 我也無話可說。注意使用 Kernel Streaming 時 Windows 音量控制裡的 wave 輸出可能楷x無法控制, 那是正常的現象。

接著到 Playback 一欄, 會有一個 Output bit depth 的選項, 只有 soundcard 真正支援 24-bit 時才選擇 24-bit (Audigy1 是 16-bit, Audigy2 才是 24-bit), 因為在不支援 24-bit 的 soundcard 上選 24-bit 只會令音質比 16-bit 更差, 即使你可能聽不出。

希望對大家有幫助.

轉載自NET SCHOOL...
 
▌延伸閱讀