From cce79c4cd67c5491a8d61246b2bd6853b7d33d52 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Fri, 10 Nov 2023 09:54:53 +0900 Subject: [PATCH 1/7] =?UTF-8?q?[release-0.14]=20=E3=83=9E=E3=83=AB?= =?UTF-8?q?=E3=83=81=E3=82=A8=E3=83=B3=E3=82=B8=E3=83=B3=E6=A9=9F=E8=83=BD?= =?UTF-8?q?=E3=82=92=E5=AE=9F=E9=A8=93=E7=9A=84=E6=A9=9F=E8=83=BD=E3=81=8B?= =?UTF-8?q?=E3=82=89=E9=80=9A=E5=B8=B8=E6=A9=9F=E8=83=BD=E3=81=AB=E3=81=82?= =?UTF-8?q?=E3=81=92=E3=82=8B=20(#1641)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/howtouse.md | 20 +++++------ src/background.ts | 11 +++++- src/components/MenuBar.vue | 4 +-- src/components/SettingDialog.vue | 57 ++++++++++++++++++-------------- src/store/setting.ts | 18 +++++++++- src/store/type.ts | 6 ++++ src/type/preload.ts | 3 +- tests/unit/store/Vuex.spec.ts | 2 +- 8 files changed, 78 insertions(+), 43 deletions(-) diff --git a/public/howtouse.md b/public/howtouse.md index 22cd0fa9e4..ad62eec733 100644 --- a/public/howtouse.md +++ b/public/howtouse.md @@ -252,6 +252,11 @@ GPU をお持ちの方は、音声の生成がずっと速い GPU モードを GPU モードを利用するには、GPU が必要です。 Linux は Nvidia 製 GPU のみに対応しています。 +#### 音声のサンプリングレート + +音声のサンプリングレートを変更して再生・保存します。 +サンプリングレートを高くしても音声の品質は上がりません。 + ### 「操作」項目 #### パラメータの引き継ぎ @@ -294,6 +299,11 @@ Linux は Nvidia 製 GPU のみに対応しています。 ### 「高度な設定」項目 +#### マルチエンジン機能 + +VOICEVOX API 準拠エンジンを VOICEVOX 内で利用できるようになります。 +マルチエンジン機能をオンにしたあと、メニューにある「エンジン」の「エンジンの管理」に移動し、VOICEVOX API 準拠エンジンの VVPP ファイルをインストールするか、VOICEVOX 系ソフトウェア内のエンジンのパスを指定することで利用できます。 + #### 音声をステレオ化 音声をモノラルからステレオに変換して再生・保存します。 @@ -302,11 +312,6 @@ Linux は Nvidia 製 GPU のみに対応しています。 音声を再生するデバイスを変更できます。 -#### 音声のサンプリングレート - -音声のサンプリングレートを変更して再生・保存します。 -サンプリングレートを高くしても音声の品質は上がりません。 - ### 「実験的機能」項目 開発中の便利機能を利用することができます。 @@ -329,11 +334,6 @@ Linux は Nvidia 製 GPU のみに対応しています。 対応している音声を混ぜてモーフィングした音声を合成できるようになります。 2つの音声を一度生成してから、音声を機械的に分析・再合成する後処理を行うことで実現しています。 -#### マルチエンジン機能 - -VOICEVOX 以外の VOICEVOX API 準拠エンジンを VOICEVOX 内で利用できるようになります。 -マルチエンジン機能をオンにしたあと、メニューにある「エンジン」の「エンジンの管理」に移動し、VOICEVOX API 準拠エンジンの VVPP ファイルをインストールするか、VOICEVOX 系ソフトウェア内のエンジンのパスを指定することで利用できます。 - ### 「データ収集」項目 #### ソフトウェア利用状況のデータ収集を許可する diff --git a/src/background.ts b/src/background.ts index 76bd250881..5488f4a748 100644 --- a/src/background.ts +++ b/src/background.ts @@ -160,6 +160,15 @@ const store = new Store({ // @ts-expect-error 削除されたパラメータ。 store.delete("useGpu"); }, + ">=0.14.9": (store) => { + // マルチエンジン機能を実験的機能から通常機能に + const enableMultiEngine: boolean = + // @ts-expect-error 削除されたパラメータ。 + store.get("experimentalSetting").enableMultiEngine; + store.set("enableMultiEngine", enableMultiEngine); + // @ts-expect-error 削除されたパラメータ。 + store.delete("experimentalSetting.enableMultiEngine"); + }, }, }); @@ -253,7 +262,7 @@ async function installVvppEngineWithWarning({ * 無効だった場合はダイアログを表示してfalseを返す。 */ function checkMultiEngineEnabled(): boolean { - const enabled = store.get("experimentalSetting").enableMultiEngine; + const enabled = store.get("enableMultiEngine"); if (!enabled) { dialog.showMessageBoxSync(win, { type: "info", diff --git a/src/components/MenuBar.vue b/src/components/MenuBar.vue index 31c449bd70..f8b4f59d8d 100644 --- a/src/components/MenuBar.vue +++ b/src/components/MenuBar.vue @@ -90,9 +90,7 @@ const isFullscreen = computed(() => store.getters.IS_FULLSCREEN); const engineIds = computed(() => store.state.engineIds); const engineInfos = computed(() => store.state.engineInfos); const engineManifests = computed(() => store.state.engineManifests); -const enableMultiEngine = computed( - () => store.state.experimentalSetting.enableMultiEngine -); +const enableMultiEngine = computed(() => store.state.enableMultiEngine); const titleText = computed( () => diff --git a/src/components/SettingDialog.vue b/src/components/SettingDialog.vue index 398c009a1c..e0e88d4076 100644 --- a/src/components/SettingDialog.vue +++ b/src/components/SettingDialog.vue @@ -529,11 +529,33 @@ - +
高度な設定
+ +
マルチエンジン機能
+
+ + + 複数のVOICEVOX準拠エンジンを利用可能にする + + +
+ + + +
音声をステレオ化
@@ -584,6 +606,8 @@ + +
実験的機能
@@ -664,30 +688,6 @@ >
- -
マルチエンジン機能
-
- - - 複数のVOICEVOX準拠エンジンを利用可能にする - - -
- - - -
@@ -1021,6 +1021,11 @@ export default defineComponent({ store.dispatch("SET_EDITOR_FONT", { editorFont }); }; + const enableMultiEngine = computed(() => store.state.enableMultiEngine); + const setEnableMultiEngine = (enableMultiEngine: boolean) => { + store.dispatch("SET_ENABLE_MULTI_ENGINE", { enableMultiEngine }); + }; + const showsFilePatternEditDialog = ref(false); const selectedEngineIdRaw = ref(""); @@ -1066,6 +1071,8 @@ export default defineComponent({ splitTextWhenPaste, changeSplitTextWhenPaste, editorFont, + enableMultiEngine, + setEnableMultiEngine, changeEditorFont, showsFilePatternEditDialog, }; diff --git a/src/store/setting.ts b/src/store/setting.ts index 7a865bf639..e28c7fa766 100644 --- a/src/store/setting.ts +++ b/src/store/setting.ts @@ -44,7 +44,6 @@ export const settingStoreState: SettingStoreState = { enablePreset: false, enableInterrogativeUpspeak: false, enableMorphing: false, - enableMultiEngine: false, }, splitTextWhenPaste: "PERIOD_AND_NEW_LINE", splitterPosition: { @@ -56,6 +55,7 @@ export const settingStoreState: SettingStoreState = { tweakableSliderByScroll: false, }, engineSettings: {}, + enableMultiEngine: false, }; export const settingStore = createPartialStore({ @@ -126,6 +126,12 @@ export const settingStore = createPartialStore({ engineSetting, }); } + + commit("SET_ENABLE_MULTI_ENGINE", { + enableMultiEngine: await window.electron.getSetting( + "enableMultiEngine" + ), + }); }, }, @@ -329,6 +335,16 @@ export const settingStore = createPartialStore({ }, }, + SET_ENABLE_MULTI_ENGINE: { + mutation(state, { enableMultiEngine }) { + state.enableMultiEngine = enableMultiEngine; + }, + action({ commit }, { enableMultiEngine }) { + window.electron.setSetting("enableMultiEngine", enableMultiEngine); + commit("SET_ENABLE_MULTI_ENGINE", { enableMultiEngine }); + }, + }, + CHANGE_USE_GPU: { /** * CPU/GPUモードを切り替えようとする。 diff --git a/src/store/type.ts b/src/store/type.ts index a925089fa3..7943b721e1 100644 --- a/src/store/type.ts +++ b/src/store/type.ts @@ -976,6 +976,7 @@ export type SettingStoreState = { splitterPosition: SplitterPosition; confirmedTips: ConfirmedTips; engineSettings: EngineSettings; + enableMultiEngine: boolean; }; export type SettingStoreTypes = { @@ -1048,6 +1049,11 @@ export type SettingStoreTypes = { }): Promise; }; + SET_ENABLE_MULTI_ENGINE: { + mutation: { enableMultiEngine: boolean }; + action(payload: { enableMultiEngine: boolean }): void; + }; + CHANGE_USE_GPU: { action(payload: { useGpu: boolean; engineId: string }): Promise; }; diff --git a/src/type/preload.ts b/src/type/preload.ts index 5f3cd389c7..f94ca2c0db 100644 --- a/src/type/preload.ts +++ b/src/type/preload.ts @@ -436,7 +436,6 @@ export type ExperimentalSetting = { enablePreset: boolean; enableInterrogativeUpspeak: boolean; enableMorphing: boolean; - enableMultiEngine: boolean; }; export const splitterPositionSchema = z @@ -525,7 +524,6 @@ export const electronStoreSchema = z enablePreset: z.boolean().default(false), enableInterrogativeUpspeak: z.boolean().default(false), enableMorphing: z.boolean().default(false), - enableMultiEngine: z.boolean().default(false), }) .passthrough() .default({}), @@ -546,6 +544,7 @@ export const electronStoreSchema = z .passthrough() .default({}), registeredEngineDirs: z.string().array().default([]), + enableMultiEngine: z.boolean().default(false), }) .passthrough(); export type ElectronStoreType = z.infer; diff --git a/tests/unit/store/Vuex.spec.ts b/tests/unit/store/Vuex.spec.ts index cb776f241a..5e6eea3842 100644 --- a/tests/unit/store/Vuex.spec.ts +++ b/tests/unit/store/Vuex.spec.ts @@ -121,7 +121,6 @@ describe("store/vuex.js test", () => { enablePreset: false, enableInterrogativeUpspeak: false, enableMorphing: false, - enableMultiEngine: false, }, splitTextWhenPaste: "PERIOD_AND_NEW_LINE", splitterPosition: { @@ -132,6 +131,7 @@ describe("store/vuex.js test", () => { confirmedTips: { tweakableSliderByScroll: false, }, + enableMultiEngine: false, progress: -1, }, getters: { From 6bea67c2160ceaa369be30a0c555b51ced38a422 Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Fri, 10 Nov 2023 12:39:33 +0900 Subject: [PATCH 2/7] [release-0.14] to 0.14.9 (#1647) --- public/updateInfos.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/updateInfos.json b/public/updateInfos.json index a1495513ad..aeb21d1b2d 100644 --- a/public/updateInfos.json +++ b/public/updateInfos.json @@ -1,4 +1,9 @@ [ + { + "version": "0.14.9", + "descriptions": ["マルチエンジン機能を通常機能に"], + "contributors": [] + }, { "version": "0.14.8", "descriptions": [ From 65eb90e0ee47e165552a491f5b69f55c93676a53 Mon Sep 17 00:00:00 2001 From: Nanashi Date: Sat, 18 Nov 2023 16:48:59 +0900 Subject: [PATCH 3/7] =?UTF-8?q?Hotfix:=20=E5=88=9D=E5=9B=9E=E8=B5=B7?= =?UTF-8?q?=E5=8B=95=E3=81=A80.13=E3=81=8B=E3=82=89=E3=81=AE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E3=81=8C=E5=87=BA=E6=9D=A5=E3=81=AA=E3=81=84=E3=81=AE?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=20(#1652)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hiroshiba --- src/background.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/background.ts b/src/background.ts index 5488f4a748..f142d7fe2f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -162,12 +162,14 @@ const store = new Store({ }, ">=0.14.9": (store) => { // マルチエンジン機能を実験的機能から通常機能に - const enableMultiEngine: boolean = + if (store.has("experimentalSetting.enableMultiEngine")) { + const enableMultiEngine: boolean = + // @ts-expect-error 削除されたパラメータ。 + store.get("experimentalSetting").enableMultiEngine; + store.set("enableMultiEngine", enableMultiEngine); // @ts-expect-error 削除されたパラメータ。 - store.get("experimentalSetting").enableMultiEngine; - store.set("enableMultiEngine", enableMultiEngine); - // @ts-expect-error 削除されたパラメータ。 - store.delete("experimentalSetting.enableMultiEngine"); + store.delete("experimentalSetting.enableMultiEngine"); + } }, }, }); From 8b591a56cb4eec60b9d4d2653f2cb7dc38c448dd Mon Sep 17 00:00:00 2001 From: Hiroshiba Date: Sat, 18 Nov 2023 16:54:13 +0900 Subject: [PATCH 4/7] [release-0.14] to 0.14.10 (#1654) --- public/updateInfos.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/updateInfos.json b/public/updateInfos.json index aeb21d1b2d..0941b2d426 100644 --- a/public/updateInfos.json +++ b/public/updateInfos.json @@ -1,4 +1,9 @@ [ + { + "version": "0.14.10", + "descriptions": ["初回起動及び0.13からアップデートできないバグを修正"], + "contributors": ["sevenc-nanashi"] + }, { "version": "0.14.9", "descriptions": ["マルチエンジン機能を通常機能に"], From 88cfdfc33175ae657f9c048d0f8b95a64e071f53 Mon Sep 17 00:00:00 2001 From: Nanashi Date: Thu, 23 Nov 2023 12:28:34 +0900 Subject: [PATCH 5/7] =?UTF-8?q?=E8=A4=87=E6=95=B0=E9=81=B8=E6=8A=9E?= =?UTF-8?q?=EF=BC=9A=E8=A4=87=E6=95=B0=E5=89=8A=E9=99=A4=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20(#1656)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hiroshiba Co-authored-by: Hiroshiba --- src/components/AudioCell.vue | 61 +++++++++++++++++++++++++++--------- src/store/audio.ts | 14 +++++---- src/store/type.ts | 6 ++-- 3 files changed, 58 insertions(+), 23 deletions(-) diff --git a/src/components/AudioCell.vue b/src/components/AudioCell.vue index 3c5a0e9d9f..d958607a95 100644 --- a/src/components/AudioCell.vue +++ b/src/components/AudioCell.vue @@ -77,7 +77,7 @@ 文章が長いと正常に動作しない可能性があります。 句読点の位置で文章を分割してください。 -