請問如何使音量輸出保持在相同大小 |
尚未結案
|
trlct
一般會員 發表:9 回覆:14 積分:4 註冊:2004-05-31 發送簡訊給我 |
|
gwanlin
一般會員 發表:1 回覆:29 積分:6 註冊:2002-07-30 發送簡訊給我 |
在處理聲音的領域中,可以完成你想要做的動作的機器叫做compressor,好的一台要幾十萬台幣,而在唱片工業裏面,"讓每一首歌的音量都相近"這件工作叫做Mastering,那是比錄音師、混音師更難的工作。 所以你要先有心理準備,用軟體去處理,能夠做到的十分有限。 那麼compressor是怎麼做的呢?? 其實跟你想的差不多,但是它是去偵測過大的音量,譬如你規定超過85db是過大的音量,所以你的程式就去把音量超過85db的sample取出來,把音量限制在85db,或者是為了避免這樣做會導致局部的音量會降得太離譜,你可以寫一個計算壓縮比的小程式,讓它在壓縮的時候不至於百分之百都壓縮到85db。 可是這樣一來,音量不是反而變小了嗎? 沒關係,局部的音量變小了,所以你就再寫一個調整整體音量的程式,把每一個sample的音量全部都依照特定的比例增加。這樣一來,就會變成一個現象,就是整體音量增加了,但是可能導致聲音破掉的部份卻沒有跟著增加那麼多。 然後你要怎麼樣讓每一首歌的音量都相似呢??
我的想法是:
1.去找出音量最高的點,根據它來決定要怎麼壓縮.
2.去把平均的音量算出來,根據它來決定要怎麼壓縮. 以上的觀念給你參考看看......蠻好玩的東西,可以玩玩看唷!! 我是gwanlin
------
我是gwanlin |
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
如 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 發送簡訊給我 |
|
gwanlin
一般會員 發表:1 回覆:29 積分:6 註冊:2002-07-30 發送簡訊給我 |
實作會自動調整的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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |