AI填詞能(八):Codex大法好
上回評測了好幾個坊間見到的網上填詞工具,也是時候回來鑽研自己的填詞程式了。早前收到ChatGPT的電郵推廣,可以免費試用一個月 ChatGPT Plus(原價每月 20 英鎊),一向做開「免費仔」的本blog主也決定一試學習一下收費功能有幾強大有甚麼好用,當然也少不免叫ChatGPT給我訂一個計劃,該如何用盡這一個月的收費專用功能了。
初嘗coding agent,須小心使用
結果用得最多的是Codex,就是用AI幫你寫程式的工具(也就是coding agent)。Codex其實免費版也可用,只是有用量限制。我的程式有很多新功能想加,有很多方法想試,但按照ChatGPT給我的建議,還是先讓它檢視一下現有的程式,建議可以怎樣整理架構和改善程式碼。
Coding agent的厲害在你給它看你的整個程式資料夾(包含多個程式檔案和歌詞資料),它可以一次過明白你整個project的結構和各部分的關聯,幫助你把程式碼弄得更有條理,之後更容易後續的開發。
但同時也很快領悟到叫AI寫程式不一定為你節省時間,有時反而走了冤枉路。為甚麼?我叫它根據它建議的架構改寫,結果出來新檔案變得面目全非,連叫它寫的說明檔(README)也似是而非。表面上程式碼更完善,照顧更多可能狀況,但問多幾次AI就承認了那些東西不是我需要的,最大問題是有些東西想作修改也不知如何入手,結果唯有砍掉重練,由自己已知可行又認得出的程式碼開始,逐個function問AI改,再消化建議後copy and paste,確保每個轉變自己都看得明白。
Codex給我「大執」程式期間有個意想不到的收穫,是它加插一個功能幫我從歌詞資料庫找錯處。那400首歌詞一首一個csv檔案,原來不少都有錯漏(例如一字多音之下其實沒有選定一個音)而一直沒有發覺,這部份可以更進一步發展。
程式和算法更新
這陣子在AI幫助之下對程式作出不少修改:
- 押韻機制糾錯:原來之前選押韻字的部份有錯,如果一個字有幾個讀音,程式只會根據一個讀音提供押韻字,例如「覺」字,它自動以為是「睡覺」的「覺 」(gaau3)而非「感覺」的「覺」(gok8),所以要加添一個選單,如果輸入的字有多過一個讀音,它會叫你選要用哪一個,再產生押韻的字;
- 之前隨機抽字,機率是純粹根據每個字(連讀音)在資料庫的頻率決定,其實更周全的做法是把一個字在多少首歌出現加入考慮;
- 文本用字機率和押韻字之前是以表格輸出,現在減去多餘資料;
- 文本機制的設定也有調整,以前可以指定提供的字要有多大機率被抽中,現在改成調整它的「權重」,也就是調高或調低程式抽中它的機會。預告:整個文本機制經試用後對填詞流程其實幫助不大,之後可能會以其他機制取代。
加歌詞
繼續充實歌詞資料庫。為使程式提供的歌詞更有自己的特式,下一輪是加自己之前寫過的200多首歌詞(主要是舊曲新詞),加過了一堆「佛系歌詞」之後,輪到早年最擅長的口語時事改詞,以前還要想這類歌詞該怎麼形容,現在大可稱為「晴天林寫開嗰啲」就好了。
最主要的一個系列叫「新人巡禮」,原曲都是來自2002-2005年出道的新人,題材都是當時的時事話題。隔了很久重看這些歌詞,除了想起那些年發生的事和當時自己的想法之外,也不免感嘆以前的詞可以寫得那麼好,用詞精準到位順口又搞笑,恐怕研發了AI也未必寫得出。
加這些歌入資料庫比想像中花多了些時間,那是因為有好些歌根本已經完全忘記了原曲是怎樣唱!例如裡面有Krusty(麥浚龍公司二人女子組合)《吉絲締的衣櫃》、Bliss(同公司二人男子組合)《活該》、董敏莉《遊客》、李逸朗《閃》,還有多不勝數遺忘了的歌和遺忘了的歌手,須上YouTube和Spotify搜尋考古一番,要不還是放棄加入。當然也有些後來成為了耳熟能詳的金曲了。而有些歌連自己也忘記了寫過,但今日再看覺得是真的寫得好的,在文章末尾分享幾首。
寫詞遇上樽頸位
本來計劃要再這次發文的時候分享多兩首新作,其中一首在萬聖節前面世,但結果還是走數了。不知是不是新加自己寫的歌「污染」了資料庫(特別是新加的歌多口語),隨機抽出來的字好像沒有那麼好用,有時連續抽了100句也還是茫無頭緒。不過與此同時收到一個來自香港的填詞機會,結果把時間花在這首作品身上,運用自己的填詞能力加上程式的輔助在死線前完成了,待出街再分享。
預告
接續的更新將會包括以詞語為本的選字機制(直到現時程式的隨機抽樣部份還是以單字為本),這是上一篇文章評測其他填詞工具得出的研究方向。希望稍後可以把這個程式上線供有興趣者使用,當然也繼續要運用這工具多寫一些歌。
舊作分享
都是超過20前的事,要不是做這個project也差不多忘記了,但今日重看原來很欣賞以前自己填過的詞。
《反恐戰爭》(原曲:周國賢《目黑》)
第一句的馬德里是指2004年的恐怖襲擊,911後的戰爭和後續不時令人想起「冤冤相報何時了」。
大地就在一息之間爆炸敲響馬德里
預定是日火車同行為何快樂變傷悲
念著舊日九一一的震懾經典再公演
賣力合力打擊狂徒然而索命案件未能避免反恐戰爭 全憑武器精準手法精心
但現在 仍有漫長藥引
俠義仁心 何解 仍不安靜眾生
還是會 又添怨恨紛爭恨極嫉妒的心天天要算清所有的賬
教你慨嘆生死無常平民老弱也遭殃
暴力為著殉主不知哪個真主會欣賞
日夜願望祝禱和平為何更像怨曲自彈自唱反恐戰爭 連場聖戰始終可有私心
越賣力 人世越無護蔭
用盡人生 全心 孩子加入抗爭
仇未報 又添怨恨紛爭反恐戰爭 文明世界怎麼止戰息爭
大學問 塵世覓尋護蔭
實在同德 同心 無私方是勇敢
能令世上相愛又相親
《就是你》(原曲:F.I.R《Lydia》)
原來當年寫過粵語版,和原曲一樣滿滿的正能量。
就是你 不再感自卑
聲線弱小 仍可有見地
懷著傲氣 足以行走各地
相信自己 別自棄
懷疑和嘲笑跟打擊也都不理
勝敗和逃避也屬你自己炎夏之中再找感人故事
流著汗水也被留在歷史
無懼挫敗跌倒都當閒事
期待暴風雨後晴空中展翅就是你 真理何需顧忌
相信晴天 靜候著你
旁人從不看好不相信也不理
記住誠實地對待你自己炎夏之中再找感人故事
流著汗水也被留在歷史
無懼挫敗跌倒都當閒事
期待暴風雨後晴空中展翅
《笑柄》(原曲:Ricky Martin《She Bangs》)
關於孔慶翔William Hung。合音有意思兼寫得順口也是令自己滿意的作品。
開句聲 講俾你聽 Hit歌已經不再靠靚聲
我心裡想要講嘅好想你聽 使乜驚 Yeah Babe
出晒名 房嘔到廳 首本靚歌等你再去jam
jam多兩咀你揼晒七色眼鏡 機都hang 屈到病隨便你笑我 我冇有驚過 你第日就附和
我盡力做 就係做大事 問你有冇你有冇你有冇試笑柄 笑柄 落力笑吧 發夢 發夢 辱罵我吧
我要咁樣唱歌你不愛都不要ban 不懂發聲 第日怕冇埞
笑柄 笑柄 笑到要你嗌救命 重症也會變冇病
極度缺乏呢種咁樣出位啲𡃁膽正人平出唱片 金榜領先 睇真個樣冧到你發癲
美洲進軍到歐亞非演唱添 伊拉克 都過電
攞個獎 裝番炷香 多講理想不會更快香
當天有踩我今晚頒呢個獎 好歌短 好戲長走音走得咁錯 喂你理得我 我最忌就係負荷
我練練練 第日就掂掂掂 問你有冇你有冇試過去變笑柄 笑柄 落力笑吧 發夢 發夢 辱罵我吧
我要咁樣唱歌你不愛都不要ban 不懂發聲 第日怕冇埞
笑柄 笑柄 笑到要你嗌救命 重症也會變冇病
示範我地斗膽come out顛覆come on good show最上鏡隨便你笑我 我冇有驚過 你第日就附和
我盡力做 就係做大事 問你有冇你有冇你有冇試笑柄 笑柄 落力笑吧 發夢 發夢 辱罵我吧
我要咁樣唱歌你不愛都不要ban 不懂發聲 第日怕冇埞
笑柄 笑柄 笑到要你嗌救命 重症也會變冇病
示範我地斗膽come out顛覆come on good show最上鏡



留言