見出し画像

オンラインでMIDIから歌詞入力してMusicXMLにするツール(NEUTRINO用)をつくった話

本職はUIデザイナ+フロントエンジニアのロモット です。

趣味で作曲をしています。
その中でAIボーカロイドみたいなAIきりたん(NEUTRINO)がすごかったので使ってみています。

すごいのですが、いまいち歌詞入力がしづらかったので
オンラインでMIDIから歌詞入力してNEUTRINO用ファイル(MusicXML)にするツールを雑につくってみました。

以下から使えます
https://romot-co.github.io/midi-musicxml-seq/

モチベーション

1. 楽譜読むの苦手なので、DAWみたいなシーケンサで入力したかった
2. ノートごとに入力するの面倒なので、まとめて歌詞を入力したかった
3. 中国のAIシンガー試用したときに中国語がわからず入力できなかったので、ローマ字入力できるようにしたかった

シーケンサで入力

MIDIを読み込んで表示+各ノートをVocaloidEditor的に編集できます。

画像1

各ノートのクリックで入力開始します。
EnterやTabで次のノートに移動します。
(Backspaceなどはまだやっていません)

まとめて歌詞を入力

まとめてひらがなで入力できます...主にこれがやりたかった

画像2

まとめて入力したものは各ノートに反映されます(逆も)

ベロシティやピッチ変更などは技術的にはいけそうですが、まだ試していません。

ローマ字で入力

まとめてローマ字で入力できます。
自分が中国語がわからなかった悔しさと同じものを味わっている海外の方がいたらちょっとだけ解消したい。

画像3

ブラウザが日本語以外だと自動的にローマ字モードになります。
右上から手動変更も可能です。

MusicXML上ではひらがなになります。

その他にたぶんできること

1. トラック選択
2. BPM変更(StudioOneだと120固定になってしまうのでほしかった)
3. トランスポーズ
4. X軸スケール変更(DAWにあるやつ)

技術的には

自分で使えればいいのでわりと雑です。
なおMusicXML化については tnantoka さまの記事 を参考にさせていただきました。感謝。

1. tone.js でMIDI読み込み
2. React(自作コンポーネント)で表示系
3. xml-js で雰囲気でMusicXML化

モチベーションは満たせたのと自分的には困らなくなったので、いちおうオープンソース(MIT)にしておわりにします。

https://github.com/romot-co/midi-musicxml-seq


宣伝

NEUTRINO(AIきりたん)で曲をつくりました。
ボカランEDに採用されたよ。

AIきりたん - NEU BREATH / NEUTRINOオリジナル
https://www.nicovideo.jp/watch/sm36446234


いいなと思ったら応援しよう!