Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

読み飛ばす単語を設定できるようにする。 #1099

Closed
takiren opened this issue Jan 10, 2023 · 7 comments
Closed

読み飛ばす単語を設定できるようにする。 #1099

takiren opened this issue Jan 10, 2023 · 7 comments
Labels
OS:win 初心者歓迎タスク 初心者にも優しい簡単めなタスク 機能向上

Comments

@takiren
Copy link

takiren commented Jan 10, 2023

内容

  • 読み飛ばす単語を設定できるようにする。
  • 正規表現も使えるようにする

例:

"w"と"(.*)"を登録し、以下の文章を読み上げるとする。
「今日も仲良くエルデンリングやっていきたいと思いますw
(メモ:友達0人の紹介を追記)」

登録した単語が読み飛ばされ実際には以下の音声が出力される。
「今日も仲良くエルデンリングやっていきたいと思います」

Pros 良くなる点

  • VOICEVOXで直接メモを残せる。
  • アホほどつまらない台本を書く前に踏みとどまれる。

Cons 悪くなる点

”正規表現が使えます”という説明を入れると
難しいと捉えられガイドラインに反する恐れがある。
小さく入れれば問題なさそう。

使用感

試しに実装し使っているがかなり便利だと感じる。
台本を他のソフトで用意しない私のようなずぼらには刺さる。

実現方法

  • メニューバーの「読み方&アクセント辞書」の下に読み飛ばしの項目を追加。
  • 単語を登録し適当なファイルに保存。
  • VOICEVOXエンジンへPOSTする前に登録された単語を""にreplaceする。

DefaultApi.tsの

export class DefaultApi extends runtime.BaseAPI implements DefaultApiInterface {

    /**
     * テキストからアクセント句を得ます。 is_kanaが`true`のとき、テキストは次のようなAquesTalkライクな記法に従う読み仮名として処理されます。デフォルトは`false`です。 * 全てのカナはカタカナで記述される * アクセント句は`/`または`、`で区切る。`、`で区切った場合に限り無音区間が挿入される。 * カナの手前に`_`を入れるとそのカナは無声化される * アクセント位置を`\'`で指定する。全てのアクセント句にはアクセント位置を1つ指定する必要がある。 * アクセント句末に`?`(全角)を入れることにより疑問文の発音ができる。
     * テキストからアクセント句を得る
     */
    async accentPhrasesAccentPhrasesPostRaw(requestParameters: AccentPhrasesAccentPhrasesPostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<AccentPhrase>>> {
       //...略
        if (requestParameters.text !== undefined) {
            queryParameters['text'] = requestParameters.text;
        }

こいつを

        if (requestParameters.text !== undefined) {
            queryParameters['text'] = requestParameters.text;
        }

こう。

        if (requestParameters.text !== undefined) {
            requestParameters.text=requestParameters.text.replace(**登録した単語**,'');
            queryParameters['text'] = requestParameters.text;
        }

保険

OSSで何かするのが初めてでissueも出したことない若造なので許してください。

想定問答

Q1.requestParameters.textを弄るのは雑すぎやしないか。
A1.私もそう思います。Electronやtypescript、Vueを触ったことがないため優しくしてください。

Q2.勉強してください。
A2.善処します。

@Hiroshiba
Copy link
Member

Hiroshiba commented Jan 10, 2023

issue作成ありがとうございます!

面白い視点だなと感じました!
ちょっとユーザー操作が難しそうな内容だなと感じました!
@takiren さんのユースケースを深掘りさせていただけると嬉しいです!

そもそもなのですが、読み飛ばしたい文言が文面に含まれる、といった状況が少しイメージできないでいます。(すみません!)
実際入力する際、それらの文字を書かない方が多そうだなと思ったためです。
例えばニコ生のコメントや自動文字起こしした文章をそのままVOICEVOXに貼り付けたときに、語尾のwなどを排除したいという感じでしょうか👀

@Hiroshiba Hiroshiba added the 要議論 実行する前に議論が必要そうなもの label Jan 10, 2023
@takiren
Copy link
Author

takiren commented Jan 11, 2023

コメント読ませたいのではなく脚本をそのまま食わせたいって感じです。

ジロウ「(芝居がかって)トシオ、お前も災難だなぁ。こんな意地っ張り連中のいざこざに巻き込まれてよォ」

↑こういう文があったとき今のVOICEVOXなら読んでほしくないのに括弧の中を読んじゃうじゃないですか。
これを制御できたら(少なくとも私は)とても幸せになれるんです。

趣味で誰にも需要のないゲームにVOICEVOXで解説入れた動画を投稿したりしてるんですが...
その時読み飛ばし機能があると同じような理由で楽なんです。
以下私の録画&編集ルーティン

  1. 台本をVOICEVOXで書く
  2. 台本見ながら録画
  3. VOICEVOXで音声書き出し
  4. 編集
  5. 加筆修正したいところがあったら2-5をもう一度
  6. 動画サイトにアップロード

セリフをVOICEVOXで書きつつどのような流れで録画するとか、編集のとき補足する必要ありとかを
考えるのですが、読み飛ばし機能がないとそういったアイデアをVOICEVOX以外で管理する必要がありちょっと
大変だなと感じています。
台本をVOICEVOXで書くなよという意見もあると思いますが面倒なんです...
それに実況ではなくチュートリアル的な動画のため
最初から台本を用意してテンポ感を確認したほうが都合よい、という理由も後押ししています。

説明が下手で申し訳ありませんが、
以上ユースケース+アルファです。

@Hiroshiba
Copy link
Member

なるほどです!!
よりユースケースに沿って、いろんな方もほしいなと感じそうな言い方だと、「文中にメモを書ける機能」かなと思いました!

例えば[]で囲えばそこは読み飛ばす、みたいな感じを想像しています。
()にすると、それを読んでほしい場合も結構あるかなと思ったので、少なくともデフォルト設定は[]とかかなと!

なので、「[]内のテキストは読み飛ばす」ようなメモ機能を実装する・・・というのはいかがでしょうか!

@takiren
Copy link
Author

takiren commented Jan 15, 2023

反応遅れてすいません。
確かに[]内飛ばすのめっちゃいいですね!
その方向で考えてみます。

@Hiroshiba
Copy link
Member

ありがとうございます!!
VOICEVOXエディタはなかなか複雑なのですが、たぶんCOMMAND_CHANGE_AUDIO_TEXTあたりに実装するのが良さそうな気がします…!

@Hiroshiba
Copy link
Member

TRPGで同じ感じで悩まれている方がいらっしゃいました!
【】も飛ばせると嬉しいかもしれません。
https://twitter.com/mel_ne/status/1624082557091614722

@Hiroshiba
Copy link
Member

にて実装されました!
[]で囲った部分がテキスト書き出しと音声再生のどちらもで省略されます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OS:win 初心者歓迎タスク 初心者にも優しい簡単めなタスク 機能向上
Projects
None yet
Development

No branches or pull requests

2 participants