6610/7210/6100的鈴聲震動揭秘
2024-06-08 15:03:04
供稿:網友
Nokia6610/7210/6100手機多媒體鈴聲同時會震動,雖然這個功能很多人都不認可,因為比較費電,但是還是很想從技術上知道其如何實現的問題。
經過一個下午的摸索,終于發現了其中的奧秘。
便把經過寫下來,和大家分享一下。如果有不對的地方,歡迎大家批評指正。
一、首先先“廢話”幾句,說說幾個概念的的定義:
1、MIDI
MIDI其實是一種約定:即指定應如何構成音調,以使該音調能夠在各種硬件上播放。
2、復音
顧名思義,也就是用于定義一種樂器可同時發出的最大音符數。
3、SP-MIDI——可縮放的復音 MIDI
在“諾基亞聲音轉換器”里,會顯示一個MIDI文件的所有的復音列表。在程序里面,可以給需要轉換的原 MIDI 文件添加復音表,使之成為“可縮放的復音 MIDI”。
簡而言之,就是經過縮放后,手機可以知道原MIDI文件中哪些頻道是最重要的。也就是說,它應該播放哪些頻道以及略去哪些頻道。(有點像突出主旋律或重點音的意思)
4、累積式復音
累積式復音值表示將要在手機中播放的頻道數。如果您的手機支持同時發出 16 個音符(即所謂的16和弦。可類推到24、32、40和弦等等),則包括在值不大于 16 的累積式復音中的頻道適合該手機。
Nokia6610/7210/6100只支持4和弦,所以只能播放累積式復音值小于4的頻道。
二、實戰帶震動的MIDI文件
**準備工作**
首先找來6100(6610/7210同)的原版多媒體文件安裝Zip包。解壓縮后,可以看到有個叫Tones的文件夾。
里面有很多.mid文件,相對應的就是手機的多媒體文件夾下的鈴聲文件。
**初探究竟**
查看這些音樂文件的完整文件名,發現這些文件依舊都還是.mid擴展名,和普通的Midi文件并沒有任何區別。
在“諾基亞聲音轉換器”里將這些.mid文件展開。
以Espionage.mid為例,可以看到其有六個頻道,依次為:
頻道:累積式復音
2:管樂器(1)4
3:齊奏(2)4
5:吉它(3)4
10:打擊樂器(5)4
12:風琴(5)4
16:聲音效果(5)4
請注意最后一項—— 16. 聲音效果 (5) 4!
覺得這個名為“聲音效果”的頻道比較可疑。然后再打開另一個MIDI文件Cicada.mid,同樣也發現有“16. 聲音效果”這一頻道。
試驗表明,所有這些MIDI帶震動的文件都有個共同點,就是都存在“16. 聲音效果”這一頻道。這個頻道里面究竟是什么東東呢?
**實戰“震動頻道”**
立即安裝專業工具CakeWalk PRo Audio 9。在CakeWalk里再打開Espionage.mid,可以看到各個單獨的頻道及其詳細內容。然后選擇只播放最后一個頻道,聽到有輕微的“嗒嗒嗒”的聲音。(我目前還不知道是什么樂器發出的聲音)進一步猜測就是這個頻道的緣故,導致手機在播放自帶的MIDI文件時會有震動。也就是說6610在遇到這樣一個特殊頻道的時候,將震動作為這個頻道的“聲音”輸出。
在CakeWalk中將這個特殊的頻道復制出來。然后隨便找個MIDI文件,打開,創建一個新的頻道,再將這個特殊頻道粘貼進來,保存。通過紅外線傳到6610上,播放。哈哈,果然,這個原本不帶震動的MIDI鈴聲帶震動了!
總結:
Nokia6100/6610/7210所標稱的MIDI帶震動功能,其實是利用手機的震動器來播放MIDI文件中的一個特殊頻道。當遇到這個特殊的“聲音效果”頻道時,用震動作為這個頻道的輸出。其它的頻道依舊還是靠手機揚聲器發出。所以,依靠這“隱藏”的頻道,可以做到震動隨著音樂節拍而起。
另:還有幾個有待弄明白的問題:
1、這個特殊頻道的音色是用什么樂器發出的?因為如果需要自己制作隨音樂震動的MIDI文件,添加這樣一條頻道時,這是必須要知道的。
2、震動的強弱是靠什么來區別的?
正在進一步研究中……:)