|
WMP 与 Real 既有各自專用的歌詞表現形式,又有兩者都通用的歌詞表現形式。WMP 專用的歌詞表現形式是通過 *.SMI 文件實現的,Real 專用的歌詞表現形式是通過 *.RT 文件實現的,兩者通用的歌詞表現形式為 *.LRC 文件。
SMI 歌詞文件
請點播放鍵觀看效果(有個緩沖過程,大家要等待片刻)。SMI 文件有專門的制作軟件,非常方便,方法后面詳談。可實現歌詞的單行、多行及卡拉OK等特殊效果。SMI 歌詞實際是利用 WMP 的 Closed Caption 屬性實現的。
代碼如下﹕
<OBJECT ID="aboutplayer" CLASSID="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" height=150 width=200><param name="UIMode" value="none"></OBJECT> <table height=100 width=200 border=3 bordercolor=blue> <tr align=center> <td bgcolor=white><font color=olive size=2>SMI 演示</font></td> </tr> <tr height=75> <td bgcolor="green"><div id=CapText></div></td> </tr> </table> <table width=200> <tr> <td align=center><INPUT TYPE="BUTTON" VALUE="Play" OnClick="Play()"></td> <td align=center><INPUT TYPE="BUTTON" VALUE="Stop" OnClick="Stop()"></td> </tr> </table> <SCRIPT> function Play() { aboutplayer.closedCaption.CaptioningID = "CapText"; aboutplayer.closedCaption.SAMIFileName = "http://lrc.aboutplayer.com/goodbye.smi"; aboutplayer.URL = "http://www.shijiren.net/wma/g00146001/g0014600101.wma"; aboutplayer.controls.play(); } function Stop() { aboutplayer.controls.stop(); } </SCRIPT>
問題的關鍵就是下面三句﹕
aboutplayer.closedCaption.CaptioningID = "CapText";
// 网頁上顯示歌詞的位置 ID
aboutplayer.closedCaption.SAMIFileName = http://lrc.aboutplayer.com/goodbye.smi;
// SMI 歌詞文件地址
aboutplayer.URL = http://www.shijiren.net/wma/g00146001/g0014600101.wma;
// 媒体文件地址
放在 aboutplayer.controls.play(); 的前面。其中 SMI 文件地址最好用絕對地址(隨媒体文件地址是絕對、相對而變化)。若媒体文件与 SMI 文件同名同路徑,則 SMI 文件地址可省略不寫。
上面只是單曲歌詞播放的實例,關于 SMI 歌詞連續播放的經典版本請參閱譜樂制作的 BBSVisual For SMI。
RT 歌詞文件
請點播放鍵觀看效果。RT 歌詞文件既可逐行同步,也可逐字同步,下面就是逐字同步的演示。
代碼如下﹕
<window bgcolor="black" duration="225" width="142" height="95"> <center> <font charset="gb2312" color="red"> <strong> <b> <time begin=00:00:00/><font size="2">淚的小雨</font> <font size="1"> <p>演唱﹕鄧麗君 <p><font color="green">(譜樂視听)</font> <p><font color="red">傾情制作 <time begin=00:23.15/><clear/>分<time begin=00:23.55/>不<time begin=00:23.90/>出<time begin=00:24.30/>是<time begin=00:24.80/>淚<time begin=00:25.40/>是<time begin=00:26.10/>雨 <time begin=00:28.80/><p>淚<time begin=00:29.15/>和<time begin=00:29.50/>雨<time begin=00:29.90/>憶<time begin=00:30.36/>起<time begin=00:30.95/>了<time begin=00:31.70/>你 <time begin=00:34.55/><p>憶<time begin=00:34.85/>起<time begin=00:35.40/>你<time begin=00:36.10/>雨<time begin=00:36.40/>中<time begin=00:36.90/>分<time begin=00:37.45/>离 <time begin=00:38.70/><p>淚<time begin=00:39.70/>珠<time begin=00:40.00/>儿<time begin=00:41.30/>洒<time begin=00:42.05/>滿<time begin=00:43.00/>地 <time begin=00:45.25/><clear/>哭<time begin=00:45.70/>泣<time begin=00:46.60/>你<time begin=00:47.15/>哭<time begin=00:47.63/>泣<time begin=00:47.90/>為<time begin=00:48.20/>了<time begin=00:48.50/>分<time begin=00:48.80/>离 <time begin=00:49.55/><p>分<time begin=00:50.00/>离<time begin=00:50.85/>分<time begin=00:51.10/>离<time begin=00:51.32/>后<time begin=00:51.60/>再<time begin=00:51.90/>相<time begin=00:52.40/>見<time begin=00:52.75/>不<time begin=00:53.00/>易 <time begin=00:54.10/><p>我<time begin=00:54.70/>重<time begin=00:54.95/>把<time begin=00:55.25/><p>你<time begin=00:55.70/>的<time begin=00:56.00/>愛<time begin=00:56.35/>情<time begin=00:56.65/>藏<time begin=00:57.10/>在<time begin=00:57.40/>我<time begin=00:57.75/>心<time begin=00:58.05/>底 <time begin=00:58.80/><clear/>啊<time begin=01:01.75>藏<time begin=01:02.05>在<time begin=01:02.40>我<time begin=01:02.70>心<time begin=01:03.30>底 <time begin=01:04.55/><p>就<time begin=01:05.07/>好<time begin=01:05.50/>像<time begin=01:06.35/><time begin=01:06.63/>藏<time begin=01:07.30/>起<time begin=01:08.00/>回<time begin=01:08.77/>憶 <time begin=01:23.00/><p>我<time begin=01:23.45/>喜<time begin=01:23.80/>歡<time begin=01:24.15/>綿<time begin=01:24.65/>綿<time begin=01:25.25/>細<time begin=01:25.87/>雨 <time begin=01:28.80/><p>細<time begin=01:29.20/>雨<time begin=01:29.45/>里<time begin=01:29.80/>憶<time begin=01:30.35/>起<time begin=01:31.00/>了<time begin=01:31.65/>你 <time begin=01:34.50/><clear/>憶<time begin=01:34.80/>起<time begin=01:35.35/>你<time begin=01:36.05/>在<time begin=01:36.35/>我<time begin=01:36.85/>怀<time begin=01:37.40/>里 <time begin=01:38.80/><p>淚<time begin=01:39.75/>珠<time begin=01:40.05/>儿<time begin=01:41.50/>洒<time begin=01:42.10/>滿<time begin=01:43.15/>地 <time begin=01:45.25/><p>哭<time begin=01:45.80/>泣<time begin=01:46.70/>你<time begin=01:47.25/>哭<time begin=01:47.69/>泣<time begin=01:48.00/>為<time begin=01:48.25/>了<time begin=01:48.50/>分<time begin=01:48.85/>离 <time begin=01:49.65/><p>分<time begin=01:50.15/>离<time begin=01:51.10/>分<time begin=01:51.35/>离<time begin=01:51.60/>后<time begin=01:51.85/>再<time begin=01:52.10/>相<time begin=01:52.65/>見<time begin=01:52.95/>不<time begin=01:53.25/>易 <time begin=01:54.25/><clear/>我<time begin=01:54.85/>重<time begin=01:55.15/>把 <time begin=01:55.45/><p>你<time begin=01:55.85/>的<time begin=01:56.10/>影<time begin=01:56.52/>子<time begin=01:56.80/>藏<time begin=01:57.30/>在<time begin=01:57.55/>睡<time begin=01:57.85/>夢<time begin=01:58.35/>里 <time begin=01:59.05/><p>啊<time begin=02:01.95/>藏<time begin=02:02.30/>在<time begin=02:02.65/>睡<time begin=02:03.00/>夢<time begin=02:03.50/>里 <time begin=02:04.90/><p>就<time begin=02:05.40/>好<time begin=02:05.80/>像<time begin=02:07.10/>藏<time begin=02:07.60/>起<time begin=02:08.30/>回<time begin=02:09.23/>憶 <time begin=02:35.50/><clear/>分<time begin=02:35.85/>不<time begin=02:36.15/>出<time begin=02:36.55/>是<time begin=02:37.10/>淚<time begin=02:37.70/>是<time begin=02:38.45/>雨 <time begin=02:41.30/><p>淚<time begin=02:41.65/>和<time begin=02:41.95/>雨<time begin=02:42.25/>憶<time begin=02:42.85/>起<time begin=02:43.45/>了<time begin=02:44.15/>你 <time begin=02:47.10/><p>憶<time begin=02:47.40/>起<time begin=02:47.95/>你<time begin=02:48.55/>雨<time begin=02:48.85/>中<time begin=02:49.40/>分<time begin=02:50.00/>离 <time begin=02:51.40/><p>淚<time begin=02:52.30/>珠<time begin=02:52.65/>儿<time begin=02:53.90/>洒<time begin=02:54.65/>滿<time begin=02:55.57/>地 <time begin=02:57.80/><clear/>哭<time begin=02:58.30/>泣<time begin=02:59.20/>你<time begin=02:59.70/>哭<time begin=03:00.30/>泣<time begin=03:00.60/>為<time begin=03:00.95/>了<time begin=03:01.20/>分<time begin=03:01.50/>离 <time begin=03:02.20/><p>分<time begin=03:02.75/>离<time begin=03:03.55/>分<time begin=03:03.80/>离<time begin=03:04.05/>后<time begin=03:04.30/>再<time begin=03:04.60/>相<time begin=03:05.20/>見<time begin=03:05.50/>不<time begin=03:05.80/>易 <time begin=03:06.85/><p>我<time begin=03:07.40/>重<time begin=03:07.60/>把 <time begin=03:07.90/><p>你<time begin=03:08.40/>的<time begin=03:08.65/>眼<time begin=03:09.05/>淚<time begin=03:09.40/>藏<time begin=03:09.80/>在<time begin=03:10.00/>寂<time begin=03:10.30/>寞<time begin=03:10.75/>里 <time begin=03:11.55/><clear/>啊<time begin=03:14.45/>藏<time begin=03:14.80/>在<time begin=03:15.10/>寂<time begin=03:15.40/>寞<time begin=03:15.90/>里 <time begin=03:17.35/><p>就<time begin=03:17.95/>好<time begin=03:18.30/>像<time begin=03:19.60/>藏<time begin=03:20.10/>起<time begin=03:20.80/>回<time begin=03:21.73/>憶</font> </font> </b> </strong> </font> </center> </window>
這种方式的歌詞同步譜樂稱之為“精确制導”,即卡拉OK效果,逐字出現的時間与媒体播放精确同步。“网上卡拉OK”為譜樂首先創意,并實現了多种表現形式。
LRC 歌詞文件
LRC 歌詞中也能實現“精确制導”,具体效果參閱 http://aboutplayer.com/bbsvisual++,可“逐字變色”,感覺非常爽。但這种“精确制導”的歌詞文件制作非常費時費力,不便于推廣應用。為此,譜樂研究出了一种网頁能自動“逐字變色”的播放器 BBSVisual。演示地址﹕http://qq.aboutplayer.com。
LRC 歌詞作為一种通用的歌詞文件,使用非常廣泛,网上很多地方提供下載(譜樂歌詞搜索与下載 http://lrc.aboutplayer.com)。下面是歌詞文件“潘越云 - 野百合也有春天.lrc”的內容﹕
[ti:野百合也有春天] // 歌曲名 [ar:潘越云] // 演唱者 [al:唯一] // 專輯名 [la:zh] // 語言類別 [by:譜樂] // 歌詞編制人 [offset:500] // 時間參數(正數表示整体提前,負數表示整体滯后。通過在网頁中編制語句實現) [00:00.00]潘越云-野百合也有春天 [00:05.50]www.aboutplayer.com [01:21.05][00:07.14]仿佛如同一場夢 [01:24.52][00:10.42]我們如此短暫的相逢 [01:28.55][00:14.09]你像一陣春風輕輕柔柔吹入我心中 [01:35.69][00:21.58]而今何處是你往日的笑容 [01:43.01][00:29.10]記憶中那樣熟悉的笑容 [02:18.93][01:49.26][00:35.40]你可知道我愛你想你念你怨你深情永不變 [02:27.36][01:57.61][00:43.62]難道你不曾回頭想想昨日的誓言 [02:34.57][02:04.90][00:51.04]就算你留戀開放在水中嬌艷的水仙 [02:42.00][02:12.16][00:58.54]別忘了寂寞的山谷的角落里野百合也有春天 [01:08.54]譜樂專欄 [02:48.65]啦...........啦...............啦..........
前面是歌詞出場時間,可組成時間數組 Time(1)、Time(2) ……。后頭為歌詞內容,可組成歌詞數組 Txt(1)、Txt(2) ……。LRC歌詞文件的工作机理就是“通過即時判斷,當歌曲播放時間到達 Time(1) 時,歌詞 Txt(1) 顯示”。Txt(1)“逐字變色”的時間算法為 (Time(2) - Time(1)) / Txt(1).Length。“歌詞同步”譜樂的說教就到此為止,詳細的工作過程請到譜樂論壇下載源碼研究。
最后介紹兩款歌詞制作輔助軟件。LRC2SMI﹕方便地將 LRC 文件轉換為 SMI 文件。“精确制導”﹕制作准确的“逐字變色”的 LRC 歌詞文件。譜樂論壇獨家提供下載。
|