midiと歌詞からmusicxmlを生成してNEUTRINOに渡したい(3)

前回の続き。

NEUTRINOを呼び出すようにした

自前のrun.shを用意して呼ぶのも考えたがWindowsで困ってしまうので、ProcessBuilderを使って呼び出した。
エラーも無視してひどい状態だが、まあ、おいおい。
標準出力の内容がstreamで取れるので、標準出力やGUI(JTextField)に表示するようにしたい。

 

促音・撥音・拗音・長音などをよしなにした

例えば「ヨーロッパ」は音符に乗せると「よろぱ」になります。
「っ」は音符の切れ目になるし、「ー」は音符の長さが変わるだけ。
「おはよう」は「おはよー」の発音なので「おはよ」になる。
自前で頑張ろうかと思ったが、kuromojiからpronuciationが取れたのでそれがバッチリだった。

「しゃも」は [しゃ, も] の2音にしないといけない。ここは自前で頑張った。Twitterで処理を募集したけど人望がないので誰も助けてくれませんでしたね!

 

テストを書いてGitHub Actionsで回すようにした

テストは取っ掛かりが難しいが、一度書いてしまえば、コピペで書けるところも多い。
テストが書ける環境にあると、手でトライアンドエラーするより100倍早く開発できるようになる(個人比)。
GitHub Actionsは何らしらのCIを触っていれば迷うことはない。

バッヂが眩しいぜ〜!(個人比)

sigprogramming/tyouseisientool の作者さんがリツイートしてくださり、フォロワーさんから反応がもらえる

sigprogramming/tyouseisientool は musicxml を食わせて調教できるツール。
GUIがすごい。
midiも読めるらしいので、midi2musicxmlを作った意図が…という気になりましたが、僕のは「とりあえず歌わせる」に特化してるので、midi2musicxmlでざっくり歌わせて、tyouseisientoolで調整する、という使い方とかいいんじゃないかな?
tyouseisientool、すごいツールなので、もうちょっと良い名前をつけられてはいかがか…
NEUTRINO Editorとかでいいと思う。

GUIを考えた

figmaの使い方を教わったので。
あんまGUI頑張るつもりはないので、やっつけ感はんぱないですが…。

まとめ

餃子
しゃぶしゃぶ
マニアックなホルモン
ビールで流し込みたい

こんなテキストファイルを

java -jar xxx.jar sample/kanon_short.mid -n /Applications/NEUTRINO/0.1 -t sample/lyric.txt

こんな風に呼び出すと

こうなって

こうじゃ。