【SynthV 插件】漢字轉(zhuǎn)拼音、多音字檢查、音素拼音轉(zhuǎn)換等
在?SynthV Studio 里用漢字歌詞的話,基本都會被多音字坑到。又一次在發(fā)布完才發(fā)現(xiàn)讀音錯誤后,我打算寫些工具來避免這種情況。順便也寫了幾個其他的相關(guān)工具。
漢字轉(zhuǎn)拼音
最直接的避免多音字問題的方法就是直接用拼音,但這樣也不大方便:
一、一般漢字的歌詞直接就能搜到,但拼音的基本沒有現(xiàn)成的,需要自己轉(zhuǎn)換。而且轉(zhuǎn)換出來的結(jié)果依然有可能存在多音字導(dǎo)致的讀音錯誤,需要手動校對。另外在扒譜時用拼音填歌詞很可能會增加工作量,比如兩段漢字歌詞很容易看出來每行的字?jǐn)?shù)一不一樣,拼音的話就費(fèi)勁了。
二、在調(diào)歌時,如果歌詞是漢字的,看著很方便,就像字幕一樣,拼音則不是一目了然的,定位也不方便。
問題一可以通過插件在一定程度上解決。
把歌詞中的漢字轉(zhuǎn)成拼音:https://www.vsqx.top/project/vn9239
因?yàn)槎嘁糇值仍?,很多人愿意使用拼音作歌詞,但一般只能搜到歌詞的漢字歌詞,還需要找工具轉(zhuǎn)換可能比較麻煩。這個插件可以直接把漢字轉(zhuǎn)換成對應(yīng)的拼音(根據(jù)當(dāng)前使用的音素)。
用法:
選擇音軌后運(yùn)行即可,只支持默認(rèn)音符組。轉(zhuǎn)換前最好備份一下,轉(zhuǎn)換后試聽一遍,以免出現(xiàn)未預(yù)料到的錯誤。
有了這個工具,自己在調(diào)歌時可以先填漢字歌詞,填完后(或者調(diào)差不多后)直接運(yùn)行插件把漢字全部轉(zhuǎn)成拼音,再校對讀音。如果漢字存在讀音錯誤,轉(zhuǎn)成拼音就更容易發(fā)現(xiàn)了。
但這樣也只能減少一些工作量,而且因?yàn)閱栴}二,我不想使用拼音歌詞,這個插件只是一個我自己不用的副產(chǎn)品。
多音字檢查
既然問題出在多音字上,那么專門寫個工具用來檢查多音字讀音就好了。
檢查多音字發(fā)音:https://www.vsqx.top/project/vn9238
在 SynthV Studio 里使用漢字歌詞的話,基本都會被多音字發(fā)音問題坑到,簡直防不勝防……被坑了不少次后,我終于決定寫個工具輔助檢查多音字的發(fā)音。
用法:
選定需要檢查的音軌(只支持默認(rèn)音符組)運(yùn)行插件即可彈出結(jié)果,同時會復(fù)制結(jié)果到剪切板。會在多音字后邊的括號中顯示當(dāng)前使用的發(fā)音,為了方便判斷,會同時輸出該字前后合計(jì)十余個漢字。
運(yùn)行示例(如果內(nèi)容較多,可以粘貼到其他地方看):

修改方法:
我目前自添加了一部分多音字,如果覆蓋不全,可以自行添加。
// 可以根據(jù)自己的需要增刪
var words = [
"落", "覺", "地", "合", "淺", "重", "彈", "顫", "扒", "數(shù)",
...
"茄", "什", "湯", "系", "軋", "粘",
];
按照這個格式添加即可。
相關(guān)工具:
如果歌詞中有很多連音符、呼吸音之類,可以用“簡化歌詞”插件先處理一下,這樣前后的字就比較多了:https://www.vsqx.top/project/vn5697
使用這個插件可以在比較快的時間判斷當(dāng)前的讀音是否有錯誤,因?yàn)榛静恍枰?,只需要根?jù)上下文來看。
音素拼音轉(zhuǎn)換
以上兩個插件都需要漢字轉(zhuǎn)拼音的功能。SynthV 提供歌詞轉(zhuǎn)音素的函數(shù),我們可以基于這個來做相關(guān)的功能,比如漢字、拼音、音素互相轉(zhuǎn)換(不能再轉(zhuǎn)回漢字)。這些功能在開發(fā)日語(比如假名和羅馬音互相轉(zhuǎn)換)、粵語(也存在多音字問題,而且不會粵語的話,看拼音可能更方便)和基于字典的語言的相關(guān)插件時也用的上。
所以我寫了一個音素拼音轉(zhuǎn)換工具包:https://www.vsqx.top/project/vn9237
該工具包用于開發(fā)音素拼音轉(zhuǎn)換相關(guān)功能的腳本,如漢字轉(zhuǎn)拼音、多音字處理等等。如果用于 Lua 腳本,可以稍微修改下字符串拼接部分的代碼。
用法:
拼音全表.pdf:所有拼音的列表,希望是全的,內(nèi)有來源地址
拼音全表.txt:從“拼音全表.pdf”轉(zhuǎn)換的拼音列表
拼音全表.svp:包含所有拼音的 svp 文件
生成音素拼音對照表的工具.js:打開“拼音全表.svp”運(yùn)行后可在剪切板獲得“音素 -> 拼音”對照表的 javascript 賦值語句
生成音素拼音對照表的工具.js:打開“拼音全表.svp”運(yùn)行后可在剪切板獲得“拼音 -> 音素”對照表的 javascript 賦值語句
預(yù)先生成的代碼(音素轉(zhuǎn)拼音).txt:用 SV 1.10.0b1 運(yùn)行“生成音素拼音對照表的工具.js”的結(jié)果
預(yù)先生成的代碼(拼音轉(zhuǎn)音素).txt:用 SV 1.10.0b1 運(yùn)行“生成拼音音素對照表的工具.js”的結(jié)果
如果拼音不全,或者處理其他語言(如粵語),可以自行修改“拼音全表.svp”然后重新運(yùn)行。
相關(guān)工具:
批量粘貼已選中音符:https://www.vsqx.top/project/vn5426
粘貼歌詞:https://www.vsqx.top/project/vn5477
可用于制作或者修改“拼音全表.svp”。比如隨意創(chuàng)建一個音符,選上后運(yùn)行“批量粘貼已選中音符”,填個大點(diǎn)的數(shù)(比如 500),然后復(fù)制“拼音全表.txt”全文,選擇剛剛創(chuàng)建的第一個音符,運(yùn)行“粘貼歌詞”,就可以了。
如果是處理漢字(普通話),直接用就可以。其他的則需要自己找拼音列表之類,然后使用其他提到的插件重新生成“拼音全表.svp”,再運(yùn)行其中的插件。
假名轉(zhuǎn)羅馬音
把歌詞中的假名轉(zhuǎn)成羅馬音:https://www.vsqx.top/project/vn9240
用法:
選定音符(不選擇則處理整個當(dāng)前音軌),運(yùn)行插件即可。只能在日語模式的假名歌詞上使用,其他情況很可能導(dǎo)致錯誤的結(jié)果。
如果一個音符上有超過一個假名可能出問題,比如:
はて(h a t e) -> ha t e(h a cl e)
一般情況好像不會這么填歌詞。
にん、げん這樣的情況正常。
不了解日語,可能在某些情況下會出錯。