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

アップデート 0.21.0 #2296

Merged
merged 5 commits into from
Oct 13, 2024
Merged

アップデート 0.21.0 #2296

merged 5 commits into from
Oct 13, 2024

Conversation

Hiroshiba
Copy link
Member

内容

0.21.0アップデートを行います。主なアップデートは以下です。

  • ソング:立ち絵表示の有無を切り替え可能に
  • ソング:エディタのデザインを刷新
  • ソング:マルチトラックを通常機能に
  • ソング:書き出し時の詳細設定機能
  • 設定ダイアログのデザインを刷新

結構細かいところで文言の調整などを行いました。
1つ1つコメントしていこうと思います。

関連 Issue

その他

@Hiroshiba Hiroshiba requested a review from a team as a code owner October 13, 2024 19:25
<div class="text-h5">書き出し</div>
<div class="text-h5">音声書き出し</div>
Copy link
Member Author

Choose a reason for hiding this comment

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

ダイアログのタイトル。1回トイレに行って帰ってきても何の画面かわかるように。

Comment on lines -12 to +13
title="書き出し対象"
description="すべてのトラックをまとめて書き出すか、トラックごとに書き出すか選べます。"
title="書き出し方法"
description="すべてのトラックをまとめて1つの音声ファイルを書き出すか、トラックごとに音声ファイルを書き出すか選べます。"
Copy link
Member Author

Choose a reason for hiding this comment

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

「書き出し対象」だと、書き出すトラックの対象なのか、書き出すファイルの対象なのかが分からないかもと思って変えてみました。

「まとめて書き出す」も、1つにまとめるのか、一気に書き出すのかと2つ意味がありそうだったので、「まとめて一つの音声ファイルを書き出す」にしてみました。

Comment on lines -47 to +48
title="リミッターを適用する"
description="ONの場合、0dBを極力超えないように音声を調整します。"
title="音量を制限する"
description="ONの場合、音量が0dBを極力超えないように音声を調整します。"
Copy link
Member Author

@Hiroshiba Hiroshiba Oct 13, 2024

Choose a reason for hiding this comment

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

ユーザーのやりたいこと目線でラベルを変更してみました。
「リミッターを適用する」はプログラミング側で表現している実装(あるいはDTM用語?)で、ユーザー側の気持ちとしては「音量の抑制」かなぁと。
ただ抑制だと全体的に抑制されてしまうと勘違いされる気がしたので、制限にしました。
まあ本当は完璧に制限されるわけではないからちょっと正しくないんですが、まあ分かりやすさ重視でいいかなぁと・・・。
どういう処理が行われるかをhow to useに書くのはありかも。とりあえず詳細説明もあるし、そこまでしなくてもと思ったので書いてないです。

詳細説明の方ですが、「0dB」は一般に通じないだろうなと感じました。
多分読み方もわからないはず。デシベルと聞いてもピンとこないはず。
なので主語に「音量」を追加してみました。まあ後は前後の言葉からちょっとわかる。。。はず。。。

title="適用するトラックのパラメーター"
title="適用するトラックパラメーター"
Copy link
Member Author

Choose a reason for hiding this comment

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

適応するトラックのパラメーター」と読めてしまうので、後者2つをまとめてしまってみました。。。
ドメイン用語っぽくなってしまいますが、あとあと変更するのも仕方ないと感じています。

「パラメーター」と呼ぶか「オプション」と呼ぶか迷いましたが、パラメーターの方は連続的な値(ボリュームなど)を取れそうなので、パラメータが良い気がしました。
ただ色んな音声系ソフト見ると一般的に多分こういうの「オプション」なので、合わせてもいいのかも。

Comment on lines -111 to +115
label: "すべてのトラック",
label: "まとめる(ミックス)",
value: "master",
},
{
label: "トラックごと",
label: "トラック別",
Copy link
Member Author

Choose a reason for hiding this comment

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

今回の文言調整で一番難しかったところです。。。。

「全てのトラック」だと「全てのトラックが一つずつ書き出される」もありえるので変更しようとしてみました。
大事なのは「1つにまとめること」だと思うので、「まとめる」「1ファイル」などを考えました。
まあこの2つだったら「まとめる」の方が良さそうだったのでそっちにしましたが、ぶっちゃけ分かりにくいんですよね。。。。。何が出力されるのか。。。。
特に既存ユーザーにとって分かりづらそうだったのと、まーーーーーーきっと聞いたことがあると信じて、「(ミックス)」とつけてみました。
ここはめちゃくちゃ難しいです。。。。。。

後者は「トラックごと」だと「毎」の「ごと」なのか「勢いよく行くぜ!」みたいな「ごと」なのかちょっと不明瞭かもと思ったので変えてみました。

Comment on lines 496 to -510
import { createLogger } from "@/domain/frontend/log";
import { useRootMiscSetting } from "@/composables/useRootMiscSetting";

type SamplingRateOption = EngineSettingType["outputSamplingRate"];

// ルート直下にある雑多な設定値を簡単に扱えるようにする
const useRootMiscSetting = <T extends keyof RootMiscSettingType>(key: T) => {
const state = computed(() => store.state[key]);
const setter = (value: RootMiscSettingType[T]) => {
// Vuexの型処理でUnionが解かれてしまうのを迂回している
// FIXME: このワークアラウンドをなくす
void store.dispatch("SET_ROOT_MISC_SETTING", { key: key as never, value });
};
return [state, setter] as const;
};

Copy link
Member Author

Choose a reason for hiding this comment

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

3箇所から使うようになったので関数に書き出しました。

<div v-if="showSinger" class="character-portrait-wrap">
<div v-if="showSingCharacterPortrait" class="character-portrait-wrap">
Copy link
Member Author

@Hiroshiba Hiroshiba Oct 13, 2024

Choose a reason for hiding this comment

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

設定の変数名をちょっと変えさせていただきました。
Singerが何をさすか将来的に変わる可能性があったので、ソングエディタのキャラクター立ち絵を指す感じの言葉に変えてみました。

const viewSubMenuData = computed<MenuItemData[]>(() => [
{
type: "button",
label: showTextLineNumber.value ? "行番号を非表示" : "行番号を表示",
Copy link
Member Author

Choose a reason for hiding this comment

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

トークエディタの「表示」メニューバーの下に項目を追加するために無理やりこれを移動させてみました。
けどまあ結構切り替えることもありそうだし(長いコンテンツには使うけど短いコンテンツには使わない、みたいな)、これでよかったのかも。

Comment on lines +5 to +10
/** ルート直下にある雑多な設定値を簡単に扱える便利コンポーザブル */
export const useRootMiscSetting = <T extends keyof RootMiscSettingType>(
store: Store,
key: T,
) => {
const state = computed(() => store.state[key]);
Copy link
Member Author

@Hiroshiba Hiroshiba Oct 13, 2024

Choose a reason for hiding this comment

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

useStoreを使うか関数の引数にするか迷いましたが、まあDIとかしやすいようにこっちの方がいいかなと。

showSinger: z.boolean().default(true),
showSingCharacterPortrait: z.boolean().default(true), // ソングエディタで立ち絵を表示するか
Copy link
Member Author

Choose a reason for hiding this comment

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

この設定はまだ正式リリースされていないので、マイグレーションは必要ないかなと。

@Hiroshiba
Copy link
Member Author

テストが通ったのでマージします!!
なんか微妙なとこがあったらコメントください 🙇

(しばらくプレリリースしてから本リリースする予定です)

@Hiroshiba Hiroshiba merged commit ab0ac07 into VOICEVOX:main Oct 13, 2024
7 checks passed
@Hiroshiba Hiroshiba deleted the to-0.21.0 branch October 13, 2024 19:54
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.

1 participant