Skip to content

VoiceVoxのVSTでVVVST(名前にFFFTPやPPPoE感がある)、ただしDPFとRustで実装

License

Notifications You must be signed in to change notification settings

sevenc-nanashi/vvvst-dpf-rust

Repository files navigation

VOICEVOX VST

Voicevox の VST プラグイン。

エディタ側:https://github.com/sevenc-nanashi/voicevox/tree/add/vst
Issue:VOICEVOX/voicevox_project#45

開発

  • エディタをクローンしてnpm run vst:serveすると VST 用のエディタが立ち上がります
  • Release ビルドするときはエディタをnpm run vst:buildし、dist内をresources/editorにコピーしてください
  • cargo xtask に色々置いてあります

ビルド

VST プラグイン本体

❯ cargo xtask build --help
Usage: xtask.exe build [OPTIONS]

Options:
  -r, --release                          Releaseビルドを行うかどうか。
  -l, --log                              logs内にVST内のログを出力するかどうか。
  -d, --dev-server-url <DEV_SERVER_URL>  開発用サーバーのURL。デフォルトはhttp://localhost:5173。
  -h, --help                             Print help
  -V, --version                          Print version

Windows用インストーラー

依存:

  • NSIS(3.09 で動作確認)
❯ cargo xtask generate-installer --help
Usage: xtask.exe generate-installer

Options:
  -h, --help     Print help
  -V, --version  Print version

rust_bridge.generated.{cpp,hpp}

❯ cargo xtask generate-bridge --help
Usage: xtask.exe generate-bridge

Options:
  -h, --help     Print help
  -V, --version  Print version

ライセンス情報

❯ cargo xtask generate-licenses --help
Usage: xtask.exe generate-licenses

Options:
  -h, --help     Print help
  -V, --version  Print version

ツール

テスト

❯ cargo test

ログの確認

❯ cargo xtask watch-log

仕組み

sequenceDiagram
    participant daw as DAW(VST3ホスト)
    participant cpp as VVVST(C++)
    participant rust as VVVST(Rust)
    participant vue as Voicevox Editor

    daw->>cpp: 音声取得(run)
    cpp->>rust: plugin_run
    rust->>cpp: 書き込んで返す
    cpp->>daw: 波形送信
    daw->>cpp: 再生情報
    opt 再生情報が変更されたら
      cpp->>rust: plugin_run
      rust->>vue: 情報送信
      Note over vue: UIロックとか再生位置移動とか
    end

    opt エディタのフレーズが更新されたら
        vue->>rust: タイミング、SingingVoiceKey
        rust->>vue: 不足しているSingingVoiceKeyの一覧
        vue->>rust: SingingVoice
        Note over rust: wavパース&再サンプル->ミックスダウン作成 @ 別スレッド
    end
Loading

About

VoiceVoxのVSTでVVVST(名前にFFFTPやPPPoE感がある)、ただしDPFとRustで実装

Resources

License

Stars

Watchers

Forks

Packages

No packages published