Open sevenc-nanashi opened 6 months ago
https://github.com/VOICEVOX/voicevox_project/assets/59691627/3f2b88cd-c327-4483-bc0f-b42c59564978
https://github.com/VOICEVOX/voicevox_project/assets/59691627/757c8844-3e62-43bb-b390-4ec9ad61646c
(Voicevox:ずんだもん)
括弧内はオプショナル。
[x] 本家VoicevoxのコンフィグをとってくるところのMac/Linux対応 プラットフォーム依存のコードはほぼないです。 choc/juceが大体吸収してくれました。 -> @romot-co さんによりMacは対応 -> 一応Electronのドキュメントに沿ったコードは書いた。要テスト。
[x] トークエディタを無効化する トークエディタに依存する部分がかなりある(特にダイアログ)のでまだ有効にしてます。 これは多分本家で変更した方が良さそう。
[x] Release Buildで動くようにする Release BuildではWeb側のファイル全部埋め込んじゃいたいな〜って思ってます(Debug Buildはlocalhost:5173に接続する感じ) zipにでも圧縮してバイナリに埋め込む? -> zip圧縮して(vstビルドでは専用のzip作成プラグインを走らせるようにした)JUCEにBinary Resourceと認識させて、ランタイムでZIP読み込み、fetchResourceでファイルを探して返す感じになった
[ ] ライセンス周り調べる VST3 SDK(GPLv3、または公式からの許可)といい感じに付き合ってく必要がありそう。 Voicevox Engineは直接埋め込んでない(外部で起動する感じ)ので大丈夫だとは思います
[x] ちゃんとガイドを書く CMakeにしたのでガイドがほぼいらなくなったので解決
[x] プロジェクト保存を作る 本家のプロジェクト保存をいい感じに叩く? -> ソング周りのstateを監視して5秒のdebounceで保存するように
[x] MenuBar周りの最適化 例えばエンジン項目や右上のボタンの削除
[x] Sandboxの色々実装 MIDIやMusicXMLやプロジェクトファイルの読み込みは作った方が良さそう -> ブラウザ版のロジックを使い回せそう?
[x] DAW連携をもっといい感じにする
今はカーソル位置の同期、再生中のUIロックくらいしかないので。
具体的にはUndo/Redoとか?できるかは要調査できなさそう?
-> SynthVを触った感じ、カーソル位置の同期くらいしかないので完了で良さそう。
[x] リポジトリ整備 clang-formatとか、変数のsnake_case/camelCase揃えるとか
[x] JUCEの調査
どうやらJUCEのライブラリのパスが相対パスらしいので、多分自分以外の環境だと動かない(えぇ…)
->
-> CMake APIに移行したVVVST_example.jucer
をVVVST.jucer
にコピーするような運用(VVVST.jucer
はgitignore済)
[x] ドキュメントや表記を合わせる 「エンジン起動中」(起動してないのでエンジン待機中が正しい?)とか使い方とか。
[ ] 細かい呼び方を決める(「VOICEVOX本体」とか)
[ ] ちゃんと説明する(インストール方法とか)
[ ] (使い方動画を作る)
[ ] (AudioUnit対応) JUCEが対応してるのでいけるはず。Mac勢を待機
[ ] (仮置き音の同期) 割と欲しい -> そんなことなかった
ボイボ内のノートをDAW内に出す
SynthVがやってない && それっぽいAPIが見付からなかったのでなし。
Undo/Redo それっぽいAPIが見付からなかったのでなし。SynthVやVitalもできてない。
内容
Voicevox 0.16の歌声エディタをVSTプラグインとして提供できると面白そうです。
Pros 良くなる点
Cons 悪くなる点
実現方法
プロトタイプを作ってみました:
VOICEVOXのバージョン
0.16.0
OSの種類/ディストリ/バージョン
その他
試してわかったことを書いておきます。