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

全テキスト欄の文章をキャラ名とともに一括してテキスト書き出す機能 #787

Conversation

kantas-spike
Copy link
Contributor

内容

ファイルメニューに、"テキストを繋げて書き出し"項目を追加し、クリックすると、全テキスト欄の文章をキャラ名とともに一括してテキスト書き出す機能を追加

関連 Issue

ref #786

スクリーンショット・動画など

スクリーンショット 2022-04-15 6 46 17

その他

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

お待たせしてしまってすみません。

命名なのですが、音声は1セリフの書き出しはexportAudio、つなげて書き出す際はconnectAndSaveAudioという風な名前になっています。
exportTextという名前だと、同じく1セリフであることを期待するかもなので、ちょっと面倒かもですがconnectAndExportTextなどにして頂けると嬉しいです。

(もしくはそもそもテキストをつなげるだけではなく、キャラクター名も一緒に書かれているので、text以外の別の名称でも良いかも)

connectAndExportTextで名称を統一
* メニューハンドラ名 exportTextFile => connectAndExportText
* ダイアログ名 exportTextFileWithDialog => connectAndExportTextWithDialog
* メッセージ名 EXPORT_TEXT_FILE => CONNECT_AND_EXPORT_TEXT
@kantas-spike kantas-spike force-pushed the feature-export-textfile-with-character-name branch from 67151fd to f460f98 Compare April 26, 2022 06:50
@kantas-spike
Copy link
Contributor Author

ご指摘ありがとうございます。connectAndExportTextで関数名とメッセージ名を統一しました。
お時間のあるときにご確認よろしくお願いします。
(upstreamに更新があったので、見様見真似でrebaseもやっています。)

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

また時間が経ってしまい申し訳ないです。

デフォルトスタイル以外のスタイルのときにテキスト書き出しすると、なにか変な挙動になるかもしれません。
image

コードを眺めさせて頂いたところ、デフォルトスタイルID -> speakerUuidのマップを作られている一方、styleIdにはデフォルトスタイルID以外のものもありえるのが原因かもと思いました。
styleIdからspekaerUuidを得るのは、このあたりが参考になるかもしれません。

userOrderedCharacterInfos.value !== undefined &&
audioItem.value.styleId !== undefined
? userOrderedCharacterInfos.value.find((info) =>
info.metas.styles.find(
(style) => style.styleId === audioItem.value.styleId
)
)
: undefined

わからない点があればなんでも聞いて頂ければ・・・!!

デフォルトスタイルIDではなく全てのスタイルIDとスピーカー名を対応付ける
@kantas-spike
Copy link
Contributor Author

kantas-spike commented May 3, 2022

ご指摘ありがとうございます。確認が足りませんでした。
デフォルトスタイルIDではなく全てのスタイルIDとスピーカー名を対応付けるように修正しました。
ご確認よろしくお願いします。

(スタイルとスピーカー名はn対1なんですね。だから、テキスト読み込み時はスピーカー名からデフォルトスタイルを設定していると理解しました。まだスタイルを使いこなせていないので、スタイルも含めてテキストから読み込めるようにすることは今後の私の課題にします。)

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

スタイル名が消えてしまうのはセリフ読み込み機能でもそうなので、いったん今のままマージが良いかなと思っています!
もしよかったらスタイル名に対応もぜひお願いしたいです・・・!
その場合、(括弧)内にスタイル名を入れておき、スタイルの記載がなければデフォルトスタイルで読み込むというのが良いのかなと思いました!

src/store/audio.ts Outdated Show resolved Hide resolved
@kantas-spike
Copy link
Contributor Author

申し訳ありません。
npm run fmtの実施漏れを修正しましました。
ご確認よろしくお願いします。

その場合、(括弧)内にスタイル名を入れておき、スタイルの記載がなければデフォルトスタイルで読み込むというのが良いのかなと思いました!

スタイル読み込みについては、スタイル関係のコードを読んでから挑戦しようと思います。
準備ができたらissueとコード案を登録します。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

テストが通ったのでマージします!

スタイル読み込みについては、スタイル関係のコードを読んでから挑戦しようと思います。

お待ちしています・・・!

@Hiroshiba Hiroshiba merged commit 9f8cf04 into VOICEVOX:main May 4, 2022
@kantas-spike
Copy link
Contributor Author

ご対応ありがとうございました!

coolkiwiii added a commit to coolkiwiii/voicevox_EN that referenced this pull request May 15, 2022
commit 9d742ac
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Mon May 16 01:13:58 2022 +0900

    エンジンのバージョンを0.12.4-previewに (VOICEVOX#809)

commit 4ffd776
Author: kantas-spike <101532773+kantas-spike@users.noreply.github.com>
Date:   Sat May 14 04:12:08 2022 +0900

    テキストの「読み込み」及び「繋げて書き出し」で「キャラ名(スタイル名)」を利用可能に (VOICEVOX#805)

    * テキストの「読み込み」及び「繋げて書き出し」で「キャラ名(スタイル名)」を利用可能に

    * StyleInfo型のstyleNameが未定義時は"ノーマル"をテキスト出力する

commit f40f4ad
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Wed May 11 01:06:36 2022 +0900

    キャラ数が多いときにスクロールバーを表示する (VOICEVOX#749)

    * キャラ数が多いときにスクロールバーを表示する

    * .transparent-backdropクラス追加、seamless除去

    * 追加し忘れ

commit c3d67b1
Author: Gray Suitcase <41382894+PickledChair@users.noreply.github.com>
Date:   Wed May 11 01:04:48 2022 +0900

    Fix: LinuxとmacOSの配布パッケージを動作可能にする (VOICEVOX#798)

    * ビルド後はappDirPathにある.envを読みに行く

    * .envのパス指定に関するコメントを追加

commit 4157aec
Author: kchop <whelmaze@gmail.com>
Date:   Wed May 11 01:02:47 2022 +0900

    書き出しファイル名をカスタマイズ可能にする (VOICEVOX#789)

    * 設定値の型等に項目追加

    * 与えたパターンからファイル名が決定できるようにした

    * 値を取ってくるのとファイル名のために加工するメソッドを分ける

    * utilityへ移動

    * ツールチップが特定条件でしか出てこなかったのを修正

    * コンポーネントの実装

    * スタイルの調整

    * 重複し得るファイル名指定で一括出力した場合に上書きされないようにする

    * 日付も挿入可能にする

    * デバッグ出力の削除

    * 連番を必須にしつつコンポーネントを多少リファクタ

    * テストの修正

    * Revert "重複し得るファイル名指定で一括出力した場合に上書きされないようにする"

    This reverts commit 8a1be6b.

    * サンプルテキストの修正

    * テキストにタグ文字列を含めたとき悪いことができないようにする

    * 変数名などのリファクタ

    * 別名つけただけの型を削除

    * 表示される文言の調整

    * 出力ファイル名に$を使えなくしてマッチ対象の問題をちょっと強引に解決

    * nextTickを使う

    * 日付がyyyymmddじゃなかった問題を修正

    * 型定義をシンプルに

    * styleNameタグにかっこを含めない

    * 初回に設定ダイアログを開いたときデフォルト値をフォームに入れるように

commit fc04a18
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Mon May 9 02:34:46 2022 +0900

    「エンジンを再起動する機能」を機能するように修正 (VOICEVOX#800)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * fix feature of restart engine, add a argument

commit 9f8cf04
Author: kantas-spike <101532773+kantas-spike@users.noreply.github.com>
Date:   Thu May 5 03:13:57 2022 +0900

    全テキスト欄の文章をキャラ名とともに一括してテキスト書き出す機能 (VOICEVOX#787)

    * 全テキスト欄の文章をキャラ名とともに一括してテキスト書き出す機能を追加

    * 一括して出力することがわかるようにメニューの文言を修正

    * "つなげて書き出す"ことがわかるように関数とメッセージの名称を修正

    connectAndExportTextで名称を統一
    * メニューハンドラ名 exportTextFile => connectAndExportText
    * ダイアログ名 exportTextFileWithDialog => connectAndExportTextWithDialog
    * メッセージ名 EXPORT_TEXT_FILE => CONNECT_AND_EXPORT_TEXT

    * 未定義判定の誤り修正

    * スタイルIDとスピーカー名の対応付けを修正

    デフォルトスタイルIDではなく全てのスタイルIDとスピーカー名を対応付ける

    * コードフォーマット実施漏れを修正

commit 8accdfe
Author: nebocco <73807432+nebocco@users.noreply.github.com>
Date:   Tue May 3 03:07:09 2022 +0900

    イントネーション欄の文字横幅をそろえる (VOICEVOX#792)

    * fix: .q-slider width

    * fix: centered text in .text-cell

    * fix: getHoveredClass -> isHovered

    * fix: .text-cell-inner { z-index: 10; }

    * fix: CSS

commit e1ab04c
Author: MT <mt224244@gmail.com>
Date:   Tue May 3 01:57:29 2022 +0900

    .envのDEFAULT_ENGINE_INFOSを改行して定義 (VOICEVOX#794)

    * ➕ dependenciesにdotenvを追加

    * 🔧 DEFAULT_ENGINE_INFOSを改行して定義

    * 🩹 開発時にdotenvが動いていないっぽかったので修正

commit 2088b1e
Author: MT <mt224244@gmail.com>
Date:   Thu Apr 28 01:05:40 2022 +0900

    lodash.debounceを削除 (VOICEVOX#795)

    * ♻️ debounce関数はquasarにもあるので、そちらを使用するよう変更

    * ➖ lodash.debounceを削除

commit f48c89b
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Wed Apr 20 17:43:30 2022 +0900

    タイトルバーのモード表示が固定化されているのを修正 (VOICEVOX#791)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * become computed

commit 3641a4b
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Sun Apr 17 13:54:53 2022 +0900

    設定に入れたペースト時の挙動を変える項目を「保存」から「操作」に移動 (VOICEVOX#781)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * move splitTextWhenPaste from saving to 操作

    * add restore from store feature

    * change place of process of init splitTextWhenPaste

    * move init process to Home.vue's onMounted

    * move process of initial splitTextWhenPaste, at Home.vue to store/index.ts

    * fix conflict

    * Revert "fix conflict"

    This reverts commit 7f6cd34.

    * refix conflict

commit 5a37c37
Author: kchop <whelmaze@gmail.com>
Date:   Sat Apr 16 20:02:44 2022 +0900

    ウィンドウ位置・splitterの位置を記憶できるようにする (VOICEVOX#782)

    * electron-window-stateのインストール

    * windowの位置を記憶するように

    * splitterの位置をとりあえず保存・復元できるようにする

    * 最大化状態の復元時、vuexのstoreにも反映する

    manageメソッドの中で最大化状態の復元を行っているので、maximizeハンドラを追加してからでないとstoreのisMaximizedがfalseのままになる

    * 設定ファイル書き換えで異常値が入り得るケースの対策

    * 共通部分の切り出し

    * 書き込みもawaitしておく

    * set時の型が間違っていたので修正

    * viewから直接window.electronを呼ぶのをやめる

    * テスト修正

    * typo修正

commit 35b00ea
Author: 南風 <cyatarow@outlook.com>
Date:   Sat Apr 16 16:54:46 2022 +0900

    DirectMLへの対応 (VOICEVOX#788)

    * Update build.yml

    * directmlの記述を追加

    * DirectMLの記述をさらに追加

    * 微調整

    VOICEVOX#775 (comment)

    * 1個修正忘れ

    VOICEVOX#788 (review)

commit 15763fc
Author: Haruki Tazoe <40142697+jdkfx@users.noreply.github.com>
Date:   Fri Apr 8 22:49:49 2022 +0900

    設定画面の項目の詳細情報をヘルプとして表示する (VOICEVOX#780)

    * パラメータの引き継ぎの詳細表示アイコンを追加

    * 書き出し先を固定についての詳細表示アイコンを追加

    * 上書き防止の詳細表示アイコンを追加

    * txtファイルを書き出しの詳細表示アイコンを追加

    * labファイルを書き出しの詳細表示アイコンを追加

    * 音声をステレオ化の詳細表示アイコンを追加

    * プリセット機能の詳細表示アイコンを追加

    * 疑問文を自動調整の詳細表示アイコンを追加

    * 利用状況のデータ収集の詳細表示アイコンを追加

    * 再生位置を追従の詳細表示アイコンを追加

    * エンジンモードの詳細表示アイコンを追加

    * 文字コードの詳細表示アイコンを追加

    * 分割の挙動の詳細表示アイコンを追加

    * 再生デバイスの詳細表示アイコンを追加

    * 音声のサンプリングレートの詳細表示アイコンを追加

commit 8aa6157
Author: kchop <whelmaze@gmail.com>
Date:   Fri Apr 8 22:47:08 2022 +0900

    選択中のアクセント句をリセットする機能を追加 (VOICEVOX#779)

    * 選択中のアクセント句のみリセットするコマンドとショートカットキー追加

    * 全体リセットのショートカットキー

    * エラーが起きたことが分からなくなるのでここでcatchしない

commit b641f4b
Author: madosuki <yurikasamaaikatsu@gmail.com>
Date:   Fri Apr 8 22:43:51 2022 +0900

    Fix UNLOCK_UI (VOICEVOX#774)

    * add detectNvidia function

    * follow to menu bar

    * remove no longer a variable

    * run fmt

    * fix typo

    * remove utils.ts and some changes in background.ts

    * change message box type and detail, and change behaviour of setOnLaunchModeItemClicked

    * recreate package-lock.json using node 12.18.2

    * re recreate package-lock.json using node 12.18.2 and npm 7.20.5

    * recreate package-lock.json using node 12.18.2 and npm 6.14.5

    * recreate package-lock.json using node 12.18.2 and npm 7.20.3

    * fix conflict

    * add process of check whether 0 for state.uiLockCount

    * add console.warn

    * add eslint disable line

    * fix

commit be239a1
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Fri Apr 8 14:19:23 2022 +0900

    .envのエンジンへのパスは\区切りではなく/区切りだとわかりやすくする (VOICEVOX#778)

    * .envのエンジンへのパスは\ではなく

    * Update .env.production

    * Update README.md

commit 09c1a18
Author: Hiroshiba <hihokaruta@gmail.com>
Date:   Tue Apr 5 19:56:39 2022 +0900

    テキスト読み込み時にデフォルトスタイルが適用されるように変更 (VOICEVOX#765)

commit 64044d1
Author: kchop <whelmaze@gmail.com>
Date:   Mon Apr 4 00:36:47 2022 +0900

    アクセントからイントネーションを再設定する機能 (VOICEVOX#776)

    * FETCH_MORA_DATAで取ってきたaccentPhrasesでまるっと上書きするactionを追加

    * ショートカットキーで実行できるように

    * 何をリセットするのか明確にする

    * FETCH_MORA_PITCHを追加してそちらを使うように

    * デフォルトショートカットキーをRに変更

    * FETCH_MORA_DATAを使い音素長もリセットする

    * 長さも変更することを示すためaction名の変更
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants