全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1645
推到 Plurk!
推到 Facebook!

請問如何使音量輸出保持在相同大小

尚未結案
trlct
一般會員


發表:9
回覆:14
積分:4
註冊:2004-05-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-08 07:26:18 IP:211.76.xxx.xxx 未訂閱
播放影音檔案時,不同檔案的音量大小往往差異頗大,致使要不斷調整音量大小。請問各位先進,如何可以用BCB寫一維持音量在相同大小的程式,也就是說,當檔案的音量小於某一 Level 時就會自動提高電腦的音量輸出,反之亦然。多謝。
gwanlin
一般會員


發表:1
回覆:29
積分:6
註冊:2002-07-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-11 00:24:26 IP:61.222.xxx.xxx 未訂閱
在處理聲音的領域中,可以完成你想要做的動作的機器叫做compressor,好的一台要幾十萬台幣,而在唱片工業裏面,"讓每一首歌的音量都相近"這件工作叫做Mastering,那是比錄音師、混音師更難的工作。 所以你要先有心理準備,用軟體去處理,能夠做到的十分有限。 那麼compressor是怎麼做的呢?? 其實跟你想的差不多,但是它是去偵測過大的音量,譬如你規定超過85db是過大的音量,所以你的程式就去把音量超過85db的sample取出來,把音量限制在85db,或者是為了避免這樣做會導致局部的音量會降得太離譜,你可以寫一個計算壓縮比的小程式,讓它在壓縮的時候不至於百分之百都壓縮到85db。 可是這樣一來,音量不是反而變小了嗎? 沒關係,局部的音量變小了,所以你就再寫一個調整整體音量的程式,把每一個sample的音量全部都依照特定的比例增加。這樣一來,就會變成一個現象,就是整體音量增加了,但是可能導致聲音破掉的部份卻沒有跟著增加那麼多。 然後你要怎麼樣讓每一首歌的音量都相似呢?? 我的想法是: 1.去找出音量最高的點,根據它來決定要怎麼壓縮. 2.去把平均的音量算出來,根據它來決定要怎麼壓縮. 以上的觀念給你參考看看......蠻好玩的東西,可以玩玩看唷!! 我是gwanlin
------
我是gwanlin
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-11 02:24:06 IP:61.64.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?topic_id=34955 http://delphi.ktop.com.tw/topic.php?topic_id=23721 DSPACK控件控制 先參考看看 發表人 - conundrum 於 2004/08/11 02:25:35
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-11 11:57:15 IP:61.221.xxx.xxx 未訂閱
如 gwanlin 兄 所言不差 轉貼 http://www.guitarplayer.com.tw/v01/guide/011.htm 在網友問到CS-3後,Johnson大俠補充說明Compressor: COMPRESSOR就是動態壓縮處理器,用來調節音量大小變化的 線性,也就是將輸入的音量按照一定比例壓縮後輸出,使音量在 某指定的範圍內變化。 COMPRESSOR的幾個基本參數 THRESHOLD 壓縮動作的起始點,指的是輸入音量的值。 THRESHOLD是用來決定開始壓縮動作的音量 ,一但超過此起始 點,壓縮動作就會開始。 RATIO 壓縮比,由起始點以上起算,輸入音量除以輸出音量的比值。 RATIO決定THRESHOLD起始點以上音量壓縮的比例。 ATTACK 輸入音量超過THRESHOLD到開始壓縮動作所需的時間。 RELEASE 輸入音量掉回THRESHOLD以下到壓縮動作回復所需的時間。 MAKE UP GAIN (OUTPUT) 壓縮後對整體音量的補償。 首先要了解COMPRESSOR和音量變化最基本的參數: THRESHOLD 和 RATIO到底是什麼? 以2:1的RATIO為例,當輸入高過THRESHOLD 10dB時,輸出僅 增加 5 dB,其餘以此類推。 例:INPUT LEVEL = 35 dBm, OUTPUT LEVEL = 20 dBm, THRESHOLD = 10 dBm, 我們可以算出壓縮比 RATIO = ( 35dBm- 10dBm )/( 20dBm - 10dBm )= 25/10 = 2.5 我們可以調整THRESHOLD的高低和RATIO的大小,如此便能夠 適當壓抑輸出的音量大小變化了。 再來了解ATTACK TIME的快慢和聲音的變化。 輸入的訊號是一般樂器的聲音,如SNARE, GUITAR...等。尖端處是我們一般講的TRANSIENT,也就是瞬間最大音量的部分。 在快速的ATTACK TIME時,大部分超過THRESHOLD的音量都被 COMPRESSOR抓住,以設定的RATIO壓縮。 在慢速的ATTACK TIME時,最先超過THRESHOLD的音量大部分被COMPRESSOR放過,其後的部分才會被OMPRESSOR以設定的RATIO壓縮。 在前面我們瞭解到RELEASE TIME是輸入音量掉回THRESHOLD以下到壓縮動作回復所需的時間。 同樣的輸入的訊號是一般樂器的聲音,如SNARE, GUITAR...等。請注意THRESHOLD以下的部分的音量變化。 在快速的RELEASE TIME時,COMPRESSOR很快就放過所經過的訊號。 在慢速的RELEASE TIME 時,COMPRESSOR會把訊號壓縮的動作延伸,形成比較長的SUSTAIN(延音)。 為何要使用COMPRESSOR? 為了適應錄音,播放媒體的動態範圍,使音量保持在媒體可負擔的音量範圍內。 一般樂器的音量變化可以分為四階段:ATTACK'DECAY' SUSTAIN'以及RELEASE。混和使用COMPRESSOR的各項參數能改變聲音的品質。 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DSPACK 應是可行的
trlct
一般會員


發表:9
回覆:14
積分:4
註冊:2004-05-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-12 08:19:01 IP:211.76.xxx.xxx 未訂閱
多謝 gwanlin 及 conundrum 的指教,想來一件看似簡單的事,其實並不簡單。
gwanlin
一般會員


發表:1
回覆:29
積分:6
註冊:2002-07-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-12 12:04:53 IP:61.222.xxx.xxx 未訂閱
實作會自動調整的compressor是要費點心力,老實說小弟也蠻有興趣的,不過剛剛想了一下,trlct兄想要的應該只是讓音量變化不大,其實是不見得要自己弄一個compressor出來的,聲音處理上面還有一個叫做normalizer的東西可能也能達到類似的效果。 normalizer的原理就是: "去找到整首歌音量最高的時間點,然後根據那個最高的點直接把整首歌的整體音量提高或降低" 由於現在的唱片都已經經過高水準的mixing與mastering,所以通常player只要可以做一下normalize,就可以達到讓每一首歌的音量相差不會太遠的目標。 這樣一來只要善用下面的東西,可能就可以比較快實作出你要的東西了。(以下節錄自DirectShow之介面實戰篇(三)/ 張貼者 cmf ) 音量控制 需要使用IbasicAudio的方法 增加音量: BasicAudio.get_Volume (&volume);//得到音量 volume:= volume volumestep; BasicAudio.put_Volume (volume);//增加一定的音量的分貝 減小音量: BasicAudio.get_Volume (&volume); //得到音量 volume:= volume -volumestep; BasicAudio.putVolume (volume); //減小一定音量的分貝 我是gwanlin 發表人 - gwanlin 於 2004/08/12 12:23:59
------
我是gwanlin
gwanlin
一般會員


發表:1
回覆:29
積分:6
註冊:2002-07-30

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-12 12:19:20 IP:61.222.xxx.xxx 未訂閱
順帶一提,與iPod配合推出的播放軟體iTune就有類似的功能,原本以為它會幫我們做mastering,覺得真是神奇,後來發現似乎只有做normalize,但是由於多數的歌曲mixing與mastering都已經做得很好了,所以只做normalize就可以達到蠻不錯的效果。 我是gwanlin
------
我是gwanlin
系統時間:2024-11-23 10:27:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!