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

Migrate: vue-cliからviteに移行 #1207

Merged
merged 32 commits into from
Feb 21, 2023

Conversation

sevenc-nanashi
Copy link
Member

内容

vue-cliからviteに移行します。

関連 Issue

close: #1000

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

(なし)

その他

結構大きな変更になると思います。

@Hiroshiba
Copy link
Member

良いですね!!!

src/router/index.ts Outdated Show resolved Hide resolved
@sevenc-nanashi
Copy link
Member Author

そういえば:
serveとelectron:serveがあるのって理由ってあるんですか?

@sevenc-nanashi
Copy link
Member Author

sevenc-nanashi commented Feb 16, 2023

テスト・Lintまで動いたのでDraft外そうと思います。
また、Vite化してる途中に.envを埋め込めることに気がつきました。埋め込んじゃっても良いかも?

テストビルド: https://github.com/sevenc-nanashi/voicevox/actions/runs/4202793119

@sevenc-nanashi sevenc-nanashi marked this pull request as ready for review February 16, 2023 15:51
@sevenc-nanashi sevenc-nanashi requested a review from a team as a code owner February 16, 2023 15:51
@sevenc-nanashi sevenc-nanashi requested review from y-chan and removed request for a team February 16, 2023 15:51
@Hiroshiba
Copy link
Member

そういえば: serveとelectron:serveがあるのって理由ってあるんですか?

デフォルトで存在していたものなのでわからないです 😇
レンダラープロセスだけで動くのがserveで、electron込みで動くのがelectron:serveだったのかなと。

@MT224244
Copy link
Contributor

このプロジェクトは vue create でVueアプリを作成した後に vue add electron-builder でElectronアプリ化していると思われるので、 servevue create 実行時に自動作成されたものの名残ですね。( electron:servevue add electron-builder 実行時に自動生成されます。)
Vueアプリ用のコマンドで、今はもう実行してもまともに動作しないと思います。

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!
と思ったのですが、ビルドが落ちているぽいので保留かもです。

electron-builder.config.jsvite.config.tsは良い感じにvue.config.jsを継承できているっぽいことを確認しました。

ぶっちゃけ今の形で正しいのか正直わからないですが、動いたので良さそう。

@MT224244 コメントありがとうございます!!
web化の野望もあるので、願掛けも兼ねて残しておくのも良いかもと思いました。できるとかっこいいので・・・・・・・!!
#1204

@sevenc-nanashi
Copy link
Member Author

web化の野望もあるので、願掛けも兼ねて残しておくのも良いかもと思いました。できるとかっこいいので・・・・・・・!!

ですね。

@sevenc-nanashi
Copy link
Member Author

speakerIdの失敗ぽいですね、エンジンの話者読み込みで死んでる感…?

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 19, 2023

もしかしたら製品版のconfig.jsonがなんらかの原因でマイグレーションできてないのかなと思いました。
(mainで起動するのは製品版じゃないconfig.jsonを読んでるからかなと)

エラーになるconfig.jsonはぜひ精査したいので、なんか適当にリネームして実行してみると良いかも・・・?

@PickledChair
Copy link
Member

PickledChair commented Feb 20, 2023

もしかしたら製品版のconfig.jsonがなんらかの原因でマイグレーションできてないのかなと思いました。 (mainで起動するのは製品版じゃないconfig.jsonを読んでるからかなと)

エラーになるconfig.jsonはぜひ精査したいので、なんか適当にリネームして実行してみると良いかも・・・?

確認したところ、確かにある意味当たっていました。config.json -> config-backup.json とリネームし起動したところ、正常に起動し音声合成等もできるようになりました。

ただし問題の見つかった config.json は vite 版 VOICEVOX が新しく生成した辞書の方でした。defaultStyleIdsengineId が全て 0 で埋まっている UUID になっていました。ちょっと眺めた感じでは、その他はそれほど気になる違いはありませんでした(設定項目の増減はありそうだったので、そこのマイグレーションが失敗している線も捨て切れないかもですが)。

            "defaultStyleIds": [
		{
			"speakerUuid": "7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff",
			"defaultStyleId": 2,
			"engineId": "00000000-0000-0000-0000-000000000000"
		},
		{
			"speakerUuid": "388f246b-8c41-4ac1-8e2d-5d79f3ff56d9",
			"defaultStyleId": 3,
			"engineId": "00000000-0000-0000-0000-000000000000"
		},
		{
			"speakerUuid": "35b2c544-660e-401e-b503-0e14c635303a",
			"defaultStyleId": 8,
			"engineId": "00000000-0000-0000-0000-000000000000"
		},
                ...
            ]

@PickledChair
Copy link
Member

PickledChair commented Feb 20, 2023

もう少し調べたのですが、デフォルトの engineId の問題がどう絡んでいるのかは不明でした(問題ではありますが、VOICEVOX を普通に使えるようにはなるので、「データ準備中」のままになる問題とは無関係そう?)。

一方、「データ準備中」のままになる他の要因が分かりました。複数エンジン機能をオンにして使用しているのですが、vvpp ではなく「既存エンジン」を追加している場合(registeredEngineDirs に項目がある場合)に「データ準備中」のままになりそうです(自分の場合、開発版の COEIROINK を指定しています)。

@Hiroshiba
Copy link
Member

おおおおお・・・ なんか謎の挙動がありそうですね・・・。
その2つの現象はどちらもなぜかEngineIdが00000-になってしまって(あるいは00000-で登録されてしまって)起こっているかも・・・?
なんか根深いバグがありそうですね・・・・・。

@Hiroshiba
Copy link
Member

とりあえずzodエラーの方はマイグレーション周りだろうなと思いました。
↓ここで0埋めuuidが入って、

defaultStyleIds: z
.object({
// FIXME: マイグレーション前にバリテーションされてしまう問題に対処したら.or(z.literal)を外す
engineId: engineIdSchema
.or(z.literal(EngineId("00000000-0000-0000-0000-000000000000")))
.default(EngineId("00000000-0000-0000-0000-000000000000")),
speakerUuid: speakerIdSchema,
defaultStyleId: z.number(),
})

↓ここでDEFAULTのが入る・・・

voicevox/src/background.ts

Lines 145 to 152 in a9b65c6

store.set(
"defaultStyleIds",
prevDefaultStyleIds.map((defaultStyle) => ({
engineId,
speakerUuid: defaultStyle.speakerUuid,
defaultStyleId: defaultStyle.defaultStyleId,
}))
);

なぜDEFAULTのエンジンIDが入ってないのかは不明ですが、こちらは開発版で起動したことがあるからなエラーな気がしました。

@PickledChair
Copy link
Member

PickledChair commented Feb 20, 2023

なるほどです。ちなみに、バージョン 0.14.3 の VOICEVOX でその 00000- の engineId がある config.json を読み込んで使ってみると、engineId が正常な UUID に上書きされます(そして普通に使えます)。こちらは上記の説明通り DEFAULT のエンジンID が入っている感じなのでしょうか……?

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 20, 2023

0.14.3の場合、起動後にデフォルトスタイルIDが上書きされてるのかなと思います。

そもそも00000000-0000-0000-0000-000000000000はUUIDとして正しいということに気づきました!
もしかしたら、エラーが出てるのはそこじゃないかもです。であれば、たぶんそのconfig.jsonを使ってmainブランチを実行してもエラーになるかも。
もしかしたら @sevenc-nanashi さんの仰るとおりspeakerUuid側かも・・・?
もし問題なければ、持ってるconfig.jsonを貼ってもらえるとなにかわかるかもです。

@PickledChair
Copy link
Member

PickledChair commented Feb 20, 2023

とりあえず時系列順に config.json を並べてみました。

その過程で気づいたのですが、2番めの vite 版 VOICEVOX が作成した config.json は voicevox-cpu ディレクトリにあった開発版の頃の config.json の内容を引き継いでいそうでしたね……(この仕様を忘れていました)。00000000- の UUID が出る原因はそちらにありそうでした。voicevox-cpu の config.json を削除した状態で vite 版 VOICEVOX を起動すると、そもそも defaultStyleIds は空になりました。混乱させてすみません。voicevox-cpu の config.json を削除してもう一度再現に取り組んでみました。

(ただ、1番めの config.json で起動しないという問題は相変わらずあります。こちらは voicevox ディレクトリにあった config.json を開いた結果になっています。おそらく開発版の頃の config.json の内容を引き継いではいると思います。開発版の頃に特有の設定項目があったりするのでしょうか……?)

追加の条件としては、最初は vvpp 指定の SHAREVOX と既存エンジン指定の COEIROINK がマルチエンジンとしてありました。2番目以降の config.json ではデフォルト設定の自動生成の際に vvpp の方だけが検出されて SHAREVOX エンジンだけが追加されている状態になっています。

1. 最初に vite 版 VOICEVOX で開いた直後の状態の config.json(ずっとデータ準備中になる)

{
	"inheritAudioInfo": true,
	"activePointScrollMode": "OFF",
	"savingSetting": {
		"fileEncoding": "UTF-8",
		"fileNamePattern": "",
		"fixedExportEnabled": false,
		"avoidOverwrite": false,
		"fixedExportDir": "/Users/suitcase/Downloads",
		"exportLab": false,
		"exportText": false,
		"outputStereo": false,
		"audioOutputDevice": "default",
		"splitTextWhenPaste": "PERIOD_AND_NEW_LINE"
	},
	"hotkeySettings": [
		{
			"action": "音声書き出し",
			"combination": "Meta E"
		},
		{
			"action": "一つだけ書き出し",
			"combination": "E"
		},
		{
			"action": "音声を繋げて書き出し",
			"combination": ""
		},
		{
			"action": "再生/停止",
			"combination": "Space"
		},
		{
			"action": "連続再生/停止",
			"combination": "Shift Space"
		},
		{
			"action": "アクセント欄を表示",
			"combination": "1"
		},
		{
			"action": "イントネーション欄を表示",
			"combination": "2"
		},
		{
			"action": "長さ欄を表示",
			"combination": "3"
		},
		{
			"action": "テキスト欄を追加",
			"combination": "Shift Enter"
		},
		{
			"action": "テキスト欄を複製",
			"combination": "Meta D"
		},
		{
			"action": "テキスト欄を削除",
			"combination": "Shift Delete"
		},
		{
			"action": "テキスト欄からフォーカスを外す",
			"combination": "Escape"
		},
		{
			"action": "テキスト欄にフォーカスを戻す",
			"combination": "Enter"
		},
		{
			"action": "元に戻す",
			"combination": "Meta Z"
		},
		{
			"action": "やり直す",
			"combination": "Shift Meta Z"
		},
		{
			"action": "新規プロジェクト",
			"combination": "Meta N"
		},
		{
			"action": "プロジェクトを名前を付けて保存",
			"combination": "Shift Meta S"
		},
		{
			"action": "プロジェクトを上書き保存",
			"combination": "Meta S"
		},
		{
			"action": "プロジェクト読み込み",
			"combination": "Meta O"
		},
		{
			"action": "テキスト読み込む",
			"combination": ""
		},
		{
			"action": "全体のイントネーションをリセット",
			"combination": "Meta G"
		},
		{
			"action": "選択中のアクセント句のイントネーションをリセット",
			"combination": "R"
		}
	],
	"toolbarSetting": [
		"PLAY_CONTINUOUSLY",
		"STOP",
		"EXPORT_AUDIO_ONE",
		"EMPTY",
		"UNDO",
		"REDO"
	],
	"userCharacterOrder": [
		"7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff",
		"388f246b-8c41-4ac1-8e2d-5d79f3ff56d9",
		"35b2c544-660e-401e-b503-0e14c635303a",
		"3474ee95-c274-47f9-aa1a-8322163d96f1",
		"b1a81618-b27b-40d2-b0ea-27a9ad408c4b",
		"c30dc15a-0992-4f8d-8bb8-ad3b314e6a6f",
		"e5020595-5c5d-4e87-b849-270a518d0dcf",
		"4f51116a-d9ee-4516-925d-21f183e2afad",
		"8eaad775-3119-417e-8cf4-2a10bfd592c8",
		"481fb609-6446-4870-9f46-90c4dd623403",
		"9f3ee141-26ad-437e-97bd-d22298d02ad2",
		"1a17ca16-7ee5-4ea5-b191-2f02ace24d21",
		"67d5d8da-acd7-4207-bb10-b5542d3a663b",
		"0f56c2f2-644c-49c9-8989-94e11f7129d0",
		"044830d2-f23b-44d6-ac0d-b5d733caa900",
		"468b8e94-9da4-4f7a-8715-a22a48844f9e",
		"0693554c-338e-4790-8982-b9c6d476dc69",
		"a8cc6d22-aad0-4ab8-bf1e-2f843924164a",
		"882a636f-3bac-431a-966d-c5e6bba9f949",
		"c617e5d1-c907-466f-8e9b-294d254c9036",
		"3c37646f-3881-5374-2a83-149267990abc",
		"5c0d4e25-5773-4902-bf2a-77e24d20d6bf",
		"292ea286-3d5f-f1cc-157c-66462a6a9d08",
		"ed37e14c-d7fa-11ec-8ed1-0242ac1c0002"
	],
	"defaultStyleIds": [
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff",
			"defaultStyleId": 2
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "388f246b-8c41-4ac1-8e2d-5d79f3ff56d9",
			"defaultStyleId": 3
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "35b2c544-660e-401e-b503-0e14c635303a",
			"defaultStyleId": 8
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "3474ee95-c274-47f9-aa1a-8322163d96f1",
			"defaultStyleId": 10
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "b1a81618-b27b-40d2-b0ea-27a9ad408c4b",
			"defaultStyleId": 9
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "c30dc15a-0992-4f8d-8bb8-ad3b314e6a6f",
			"defaultStyleId": 11
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "e5020595-5c5d-4e87-b849-270a518d0dcf",
			"defaultStyleId": 12
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "4f51116a-d9ee-4516-925d-21f183e2afad",
			"defaultStyleId": 13
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "8eaad775-3119-417e-8cf4-2a10bfd592c8",
			"defaultStyleId": 14
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "481fb609-6446-4870-9f46-90c4dd623403",
			"defaultStyleId": 16
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "9f3ee141-26ad-437e-97bd-d22298d02ad2",
			"defaultStyleId": 20
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "1a17ca16-7ee5-4ea5-b191-2f02ace24d21",
			"defaultStyleId": 21
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "67d5d8da-acd7-4207-bb10-b5542d3a663b",
			"defaultStyleId": 23
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "0f56c2f2-644c-49c9-8989-94e11f7129d0",
			"defaultStyleId": 27
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "044830d2-f23b-44d6-ac0d-b5d733caa900",
			"defaultStyleId": 29
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "468b8e94-9da4-4f7a-8715-a22a48844f9e",
			"defaultStyleId": 42
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "0693554c-338e-4790-8982-b9c6d476dc69",
			"defaultStyleId": 43
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "a8cc6d22-aad0-4ab8-bf1e-2f843924164a",
			"defaultStyleId": 46
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "882a636f-3bac-431a-966d-c5e6bba9f949",
			"defaultStyleId": 47
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "c617e5d1-c907-466f-8e9b-294d254c9036",
			"defaultStyleId": 0
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "3c37646f-3881-5374-2a83-149267990abc",
			"defaultStyleId": 4
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "5c0d4e25-5773-4902-bf2a-77e24d20d6bf",
			"defaultStyleId": 6
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "292ea286-3d5f-f1cc-157c-66462a6a9d08",
			"defaultStyleId": 1
		},
		{
			"engineId": "074fc39e-678b-4c13-8916-ffca8d505d1d",
			"speakerUuid": "ed37e14c-d7fa-11ec-8ed1-0242ac1c0002",
			"defaultStyleId": 5
		}
	],
	"presets": {
		"items": {},
		"keys": []
	},
	"currentTheme": "Default",
	"experimentalSetting": {
		"enablePreset": false,
		"enableInterrogativeUpspeak": true,
		"enableMorphing": true,
		"enableMultiEngine": true
	},
	"acceptRetrieveTelemetry": "Accepted",
	"acceptTerms": "Accepted",
	"splitTextWhenPaste": "PERIOD_AND_NEW_LINE",
	"splitterPosition": {
		"audioInfoPaneWidth": 229,
		"portraitPaneWidth": 21.72701949860724,
		"audioDetailPaneHeight": 212
	},
	"__internal__": {
		"migrations": {
			"version": "0.15.0-preview.vite.1"
		}
	},
	"confirmedTips": {
		"tweakableSliderByScroll": true
	},
	"editorFont": "default",
	"engineDirs": [
		"/Applications/COEIROINK.app/Contents/MacOS"
	],
	"engineSettings": {
		"074fc39e-678b-4c13-8916-ffca8d505d1d": {
			"useGpu": false,
			"outputSamplingRate": "engineDefault"
		},
		"d11b8518-7b23-4c9b-bd04-ecac1ad1e475": {
			"useGpu": false,
			"outputSamplingRate": "engineDefault"
		},
		"7505c175-3861-4e04-845f-d1032abbbf1f": {
			"useGpu": false,
			"outputSamplingRate": "engineDefault"
		}
	},
	"registeredEngineDirs": [
		"/Applications/COEIROINK.app/Contents/MacOS"
	]
}

2. 一度 config.json -> config-backup.json にリネームした時に vite 版 VOICEVOX が生成した config.json(`defaultStyleIds` は空になる。音声合成等ができるようになった)

{
	"inheritAudioInfo": true,
	"activePointScrollMode": "OFF",
	"savingSetting": {
		"fileEncoding": "UTF-8",
		"fileNamePattern": "",
		"fixedExportEnabled": false,
		"avoidOverwrite": false,
		"fixedExportDir": "",
		"exportLab": false,
		"exportText": false,
		"outputStereo": false,
		"audioOutputDevice": ""
	},
	"hotkeySettings": [
		{
			"action": "音声書き出し",
			"combination": "Meta E"
		},
		{
			"action": "一つだけ書き出し",
			"combination": "E"
		},
		{
			"action": "音声を繋げて書き出し",
			"combination": ""
		},
		{
			"action": "再生/停止",
			"combination": "Space"
		},
		{
			"action": "連続再生/停止",
			"combination": "Shift Space"
		},
		{
			"action": "アクセント欄を表示",
			"combination": "1"
		},
		{
			"action": "イントネーション欄を表示",
			"combination": "2"
		},
		{
			"action": "長さ欄を表示",
			"combination": "3"
		},
		{
			"action": "テキスト欄を追加",
			"combination": "Shift Enter"
		},
		{
			"action": "テキスト欄を複製",
			"combination": "Meta D"
		},
		{
			"action": "テキスト欄を削除",
			"combination": "Shift Delete"
		},
		{
			"action": "テキスト欄からフォーカスを外す",
			"combination": "Escape"
		},
		{
			"action": "テキスト欄にフォーカスを戻す",
			"combination": "Enter"
		},
		{
			"action": "元に戻す",
			"combination": "Meta Z"
		},
		{
			"action": "やり直す",
			"combination": "Shift Meta Z"
		},
		{
			"action": "新規プロジェクト",
			"combination": "Meta N"
		},
		{
			"action": "プロジェクトを名前を付けて保存",
			"combination": "Shift Meta S"
		},
		{
			"action": "プロジェクトを上書き保存",
			"combination": "Meta S"
		},
		{
			"action": "プロジェクト読み込み",
			"combination": "Meta O"
		},
		{
			"action": "テキスト読み込む",
			"combination": ""
		},
		{
			"action": "全体のイントネーションをリセット",
			"combination": "Meta G"
		},
		{
			"action": "選択中のアクセント句のイントネーションをリセット",
			"combination": "R"
		}
	],
	"toolbarSetting": [
		"PLAY_CONTINUOUSLY",
		"STOP",
		"EXPORT_AUDIO_ONE",
		"EMPTY",
		"UNDO",
		"REDO"
	],
	"engineSettings": {
		"074fc39e-678b-4c13-8916-ffca8d505d1d": {
			"useGpu": false,
			"outputSamplingRate": "engineDefault"
		},
		"d11b8518-7b23-4c9b-bd04-ecac1ad1e475": {
			"useGpu": false,
			"outputSamplingRate": "engineDefault"
		}
	},
	"userCharacterOrder": [
		"7ffcb7ce-00ec-4bdc-82cd-45a8889e43ff",
		"388f246b-8c41-4ac1-8e2d-5d79f3ff56d9",
		"35b2c544-660e-401e-b503-0e14c635303a",
		"3474ee95-c274-47f9-aa1a-8322163d96f1",
		"b1a81618-b27b-40d2-b0ea-27a9ad408c4b",
		"c30dc15a-0992-4f8d-8bb8-ad3b314e6a6f",
		"e5020595-5c5d-4e87-b849-270a518d0dcf",
		"4f51116a-d9ee-4516-925d-21f183e2afad",
		"8eaad775-3119-417e-8cf4-2a10bfd592c8",
		"481fb609-6446-4870-9f46-90c4dd623403",
		"9f3ee141-26ad-437e-97bd-d22298d02ad2",
		"1a17ca16-7ee5-4ea5-b191-2f02ace24d21",
		"67d5d8da-acd7-4207-bb10-b5542d3a663b",
		"0f56c2f2-644c-49c9-8989-94e11f7129d0",
		"044830d2-f23b-44d6-ac0d-b5d733caa900",
		"468b8e94-9da4-4f7a-8715-a22a48844f9e",
		"0693554c-338e-4790-8982-b9c6d476dc69",
		"a8cc6d22-aad0-4ab8-bf1e-2f843924164a",
		"882a636f-3bac-431a-966d-c5e6bba9f949",
		"c617e5d1-c907-466f-8e9b-294d254c9036",
		"3c37646f-3881-5374-2a83-149267990abc",
		"ed37e14c-d7fa-11ec-8ed1-0242ac1c0002",
		"5c0d4e25-5773-4902-bf2a-77e24d20d6bf"
	],
	"defaultStyleIds": [],
	"presets": {
		"items": {},
		"keys": []
	},
	"currentTheme": "Default",
	"editorFont": "default",
	"experimentalSetting": {
		"enablePreset": false,
		"enableInterrogativeUpspeak": false,
		"enableMorphing": false,
		"enableMultiEngine": false
	},
	"acceptRetrieveTelemetry": "Accepted",
	"acceptTerms": "Accepted",
	"splitTextWhenPaste": "PERIOD_AND_NEW_LINE",
	"splitterPosition": {},
	"confirmedTips": {
		"tweakableSliderByScroll": false
	},
	"registeredEngineDirs": [],
	"__internal__": {
		"migrations": {
			"version": "0.15.0-preview.vite.1"
		}
	}
}

この後、vite 版 VOICEVOX において再び COEIROINK を既存エンジンとして追加して再起動しましたが、再び「データ準備中」から動かなくなりました。COEIROINK を複数エンジンの設定から削除するとまた使えるようになりました。

@PickledChair
Copy link
Member

PickledChair commented Feb 20, 2023

0.14.4 で新しく生成した config.json の状態で COEIROINK を既存エンジンとして追加すると、0.14.4 では使えるが vite 版 VOICEVOX では「データ準備中」のままになる、ということも確認しました。こちらも defaultStyleIds は空の配列なので、

そもそも00000000-0000-0000-0000-000000000000はUUIDとして正しいということに気づきました!
もしかしたら、エラーが出てるのはそこじゃないかもです。であれば、たぶんそのconfig.jsonを使ってmainブランチを実行してもエラーになるかも。

という指摘の通り、config.json に書いてある engineId の文字列のバリデーションは関係なさそうです。しかし #1207 (comment) で示したエラーは依然として出ているので、やはりどこかで UUID のバリデーションでエラーになっているんですかね……。

また、このことは開発版の config.json の内容を引き継いでいなくてもエラーになることを示しています。

@sevenc-nanashi
Copy link
Member Author

開発ビルドでSharevoxをロードしてみました、普通に動きました。
となるとSuitcaseさんのCoeiroinkに変なUUIDのMyCoeが入っている可能性?

@PickledChair
Copy link
Member

PickledChair commented Feb 20, 2023

開発ビルドでSharevoxをロードしてみました、普通に動きました。 となるとSuitcaseさんのCoeiroinkに変なUUIDのMyCoeが入っている可能性?

確認してみましたが、マルチエンジンとして読み込んでいる COEIROINK(1.7.0 開発版)は MYCOE を導入していないですね……強いて言えば公式キャラの MANA さんの追加ダウンロード(MYCOE ではない)はしていると思います。 つまりつくよみちゃんと MANA さんだけがいます。#1207 (comment) の 1. の config.json の userCharacterOrder に SHAREVOX, COEIROINK のキャラクターも含めて全ての speakerUuid が入っていると思いますが、フォーマット的にはどれも問題なさそうに見えます。

SHAREVOX について、vvpp だけでなく既存エンジン読み込みの方法も試してみましたが、こちらはおっしゃる通りどちらもうまく行きました。なので、確かに COEIROINK 側の問題かもしれませんね。ただし 0.14.4 では COEIROINK も既存エンジンとして追加して使えているので、VOICEVOX 側の仕様もどこかがある段階で変わり、それとの組み合わせで起動しなくなったように見えます。

Copy link
Member

@y-chan y-chan left a comment

Choose a reason for hiding this comment

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

ほぼLGTMです!
1点だけコメントつけましたが、正直どっちでもいいかも...?

ZodErrorについては、Vite化の影響ではないことがわかったので、 #1218 にて引き続き議論しましょう...!

electron-builder.config.js Outdated Show resolved Hide resolved
@Hiroshiba
Copy link
Member

僕としては @y-chan さんのコメントのとこと、あと↓が気になっているくらいです!
#1207 (comment)

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!!!

たび重なる調整、お疲れさまでした!!!
マージ後にpreviewビルドを作ってみます!

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.

switch from vue-cli to vite
5 participants