淺談動感歌詞-歌詞產生篇

來源:互聯網
上載者:User

標籤:動手   info   寬度   介紹   開始時間   分代   效果   編寫   ogr   

1引言

在寫這產生篇時,我還是在煩惱應該是先寫歌詞解析篇,還是先寫歌詞產生篇,後來我想一想,其實還是要先有歌詞檔案,才有解析嘛,當然,我們也可以通過現有的歌詞(krc、trc和ksc等)直接跳過這一步,直接解析歌詞即可。

2製作軟體

這裡介紹一下《小灰熊卡拉ok字幕製作軟體》,我們可以通過一些專業的製作軟體,來理清和弄懂歌詞的製作原理。這裡先上個:


 

由圖和軟體製作歌詞的使用教程,我們可以知道如下資訊:

1.歌詞以行為單位製作,逐【字】製作

2.在製作歌詞時,軟體似乎已經把每一行歌詞的【字】都分割好了,應該是為了後面方便製作歌詞,所以預先把行歌詞分割成每一個【字】,這裡的【字】包括:英文單詞、數字串、中文,其中空格【只能】與英文單詞、數字串或者中文組成一個【字】,且空格的位置要放在後面

3.在製作歌詞的過程中,音樂響起,聽到行歌詞中的【字】時,就按一下【空格】,這裡按一下【空格】,其實應該就是記錄該【字(A)】的出現時間,當按下下一個【字(B)】或者換行時,那就可以記錄【字(A)】的期間

4.歌詞換行,則記錄行歌詞的開始時間

5.歌詞製作完成後,則根據歌詞格式,產生對應歌詞檔案

註:第2和第3點是實現製作歌詞的重點,如無法理解,則無法製作歌詞。

3自實現製作軟體

知道製作歌詞的原理後,我們就要動手自己編寫和實現製作歌詞軟體,這裡我採用Java Swing來編寫一個傳統型程式,介面方面參考酷狗實現。

3.1API

Java Swing:Graphics2D.setClip。當然也有Android的,後面的部落格會說到。

 


 

由圖可知,Graphics2D在繪畫文本時,先畫預設顏色的歌詞文本,再設定clip層的長度寬度,然後再繪畫【高亮】歌詞文本,只要我們不斷地修改clip層的寬度,就是我們想要的動感歌詞效果了。當然我們在製作歌詞時,只需要設定漸層遞增寬度為每個【字】的寬度就可以了。

3.2實體類設計3.2.1歌詞實體、行歌詞實體、標籤實體

採用《淺談動感歌詞-歌詞分析篇》裡的實體類,製作歌詞時,產生的資料,會儲存到,歌詞實體(LyricsInfo)裡面,方便歌詞的預覽和產生。

3.2.2歌詞檔案產生器

這個類的作用,就是為了方便後面拓展支援多種動感歌詞格式。

 


 
 3.2.3HRCX歌詞產生器

 


 
 3.3介面3.3.1錄入歌詞

 


 3.3.2製作歌詞

思路:

1.大概就是將【錄入歌詞】的歌詞文本,進行行分割

2.擷取行歌詞後,對歌詞的內容進行分析,並進行【字】分割

3.播放歌曲,按下【左右箭頭】和【空格】製作歌詞

4.分割部分代碼:

 


 
 

5.介面


 

註:紫色,是已完成。紅色,表示正在產生。

3.3.3製作完成

 


 3.4歌詞產生

部分代碼,檔案尾碼名:hrcx


 3.5歌詞效果預覽

 


 4參考

卡拉OK歌詞實現

註:這個是好像是Android的視頻教程,我也是從這個視頻的原理來找到Java Swing的API的。

5源碼

樂樂音樂

註:這是我用Java Swing寫的一個PC音樂播放器

6最後

下一篇,將介紹動感歌詞的解析。如有侵權,麻煩告知。

淺談動感歌詞-歌詞產生篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.