專題做好了

2019 年 2 月 14 日

我選在情人節寫文章嗎?這只是湊巧而已

寒假到了,但是我到現在才寫文章,因為我一放寒假,腦袋就被掏空了,寫程式都不順,寫文章都會睡著。

自國曆新年以來,我又做出了輸入樂譜的程式,有了這個程式,我的專題才能夠合成歌聲。 程式介面是使用下拉式選單,輸入歌詞、音高還有音符種類,就可以做出歌曲,如下圖所示。

為什麼介面不做成很多編曲軟體都採用的 piano roll 的形式呢? 因為我沒有什麼時間可以再寫介面了。 記得是期末考週的下個禮拜就要報告專題,而我那時卻只是剛開始做合成器而已,如果要做 piano roll 介面,我會需要和 CSS 奮鬥,而且手機螢幕太小了,piano roll 很難在手機上面操作。

我的專題也有寫出報告,因為我把資訊工程專題拿去當成「互動式音訊處理」的專題,互動式音訊處理的期末專題要交出報告。 報告就放在這裡 (PDF),有興趣的就來看一下吧。

既然做出了歌聲合成器,那就表示,我再也不需要唱歌了,只需要念歌詞,然後在把錄音輸入到手機上,就可以做出一首歌,好棒喔~~

來聽聽看合成效果:

什麼?機器音好重,到底是發生什麼事? 還有中間的那個「樂」怎麼聽起來像是「日~二~」? 沒辦法,這只能說是我的程式的限制。 我在寫切割單字的程式時,以為子音都是沒有音高的,所以程式抓母音是尋找一個字裡面有音高的範圍。 可是後來隨便查網路一下,卻發現有的子音是有音高的,像是「樂」的子音是ㄌ(L),是屬於有音高的子音。 這表示我的程式把「樂」這個字的所有音都當成母音,母音會被拉長,結果就把「樂」拉長成「日二」了。

所以我大概還是不能用這個程式參加金GO盃 (別想了,程式不能參加競賽)。 可是它可以讓不會唱歌的人唱起歌,也可以讓我唱出不在我的音域的歌。 當然,這全部都是由喇叭播放出來。

再給一個合成的歌聲,Let it go 改歌詞版:

歌詞
弟不看  弟不看  弟弟都不看
都不看  都不看  弟弟都不看
都在睡  弟弟都只在睡覺
弟弟都不看
弟弟都不看都只在睡覺

之所以要寫出這麼無腦的歌,是因為弟弟都不讀書,只在睡覺,要不然就是打遊戲。 這只是我在寒假的觀察,反正大學生在寒假不都嘛這樣。 還有,我相信以我的 key 絕對沒辦法唱上去。 不信的話,去留言那裡反對我。

想要用一下我的歌聲合成器嗎?來 speech2sing,使用說明寫在報告裡面了。 還有更多合成的範例

寒假還有其他的事情可以寫,只是我可能明天才會寫。 你們想要哪個?

  1. 程式競賽的故事
  2. 遊戲開發過程
  3. 神秘妙妙工具神秘的故事