From c3d9a66fda197ae90d6e0bc50a4d76122701a778 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 01:33:11 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[update]=20dropdown=5Ffont=E3=82=92optionme?= =?UTF-8?q?nu=E8=A8=AD=E5=AE=9A=E6=99=82=E3=81=AB=E5=85=A5=E3=82=8C?= =?UTF-8?q?=E8=BE=BC=E3=82=80=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- window_config.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/window_config.py b/window_config.py index 59f52c5f..1b95400a 100644 --- a/window_config.py +++ b/window_config.py @@ -536,9 +536,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_appearance_theme_callback, variable=StringVar(value=self.parent.APPEARANCE_THEME), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_appearance_theme.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_appearance_theme._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown appearance theme if SCROLLABLE_DROPDOWN: @@ -570,9 +570,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_ui_scaling_callback, variable=StringVar(value=self.parent.UI_SCALING), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_ui_scaling.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_ui_scaling._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown ui scaling if SCROLLABLE_DROPDOWN: @@ -605,9 +605,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_font_family_callback, variable=StringVar(value=self.parent.FONT_FAMILY), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_font_family.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_font_family._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown font family if SCROLLABLE_DROPDOWN: @@ -640,9 +640,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_ui_language_callback, variable=StringVar(value=selectable_languages[self.parent.UI_LANGUAGE]), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_ui_language.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_ui_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown ui language if SCROLLABLE_DROPDOWN: @@ -677,9 +677,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_translation_translator_callback, variable=StringVar(value=self.parent.CHOICE_TRANSLATOR), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_translation_translator.grid(row=row, column=1, columnspan=3, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_translation_translator._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown translation translator if SCROLLABLE_DROPDOWN: @@ -713,9 +713,9 @@ class ToplevelWindowConfig(CTkToplevel): values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), variable=StringVar(value=self.parent.INPUT_SOURCE_LANG), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_translation_input_source_language.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_translation_input_source_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown translation input source language if SCROLLABLE_DROPDOWN: @@ -748,9 +748,9 @@ class ToplevelWindowConfig(CTkToplevel): values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), variable=StringVar(value=self.parent.INPUT_TARGET_LANG), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_translation_input_target_language.grid(row=row, column=3, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_translation_input_target_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown translation input target language if SCROLLABLE_DROPDOWN: @@ -784,9 +784,9 @@ class ToplevelWindowConfig(CTkToplevel): values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), variable=StringVar(value=self.parent.OUTPUT_SOURCE_LANG), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_translation_output_source_language.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_translation_output_source_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown translation output source language if SCROLLABLE_DROPDOWN: @@ -819,9 +819,9 @@ class ToplevelWindowConfig(CTkToplevel): values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), variable=StringVar(value=self.parent.OUTPUT_TARGET_LANG), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_translation_output_target_language.grid(row=row, column=3, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_translation_output_target_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown translation output target language if SCROLLABLE_DROPDOWN: @@ -856,9 +856,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_input_mic_host_callback, variable=StringVar(value=self.parent.CHOICE_MIC_HOST), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_input_mic_host.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_input_mic_host._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown input mic device's host if SCROLLABLE_DROPDOWN: @@ -890,9 +890,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_input_mic_device_callback, variable=StringVar(value=self.parent.CHOICE_MIC_DEVICE), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_input_mic_device.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_input_mic_device._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown input mic device if SCROLLABLE_DROPDOWN: @@ -924,9 +924,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_input_mic_voice_language_callback, variable=StringVar(value=self.parent.INPUT_MIC_VOICE_LANGUAGE), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_input_mic_voice_language.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_input_mic_voice_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown input mic voice language if SCROLLABLE_DROPDOWN: @@ -1091,9 +1091,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_input_speaker_device_callback, variable=StringVar(value=self.parent.CHOICE_SPEAKER_DEVICE), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_input_speaker_device.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_input_speaker_device._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown input speaker device if SCROLLABLE_DROPDOWN: @@ -1125,9 +1125,9 @@ class ToplevelWindowConfig(CTkToplevel): command=self.optionmenu_input_speaker_voice_language_callback, variable=StringVar(value=self.parent.INPUT_SPEAKER_VOICE_LANGUAGE), font=CTkFont(family=self.parent.FONT_FAMILY), + dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), ) self.optionmenu_input_speaker_voice_language.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") - self.optionmenu_input_speaker_voice_language._dropdown_menu.configure(font=CTkFont(family=self.parent.FONT_FAMILY)) ## scrollableDropdown input speaker voice language if SCROLLABLE_DROPDOWN: From 60ce296289e5cfc6ab5b435262cce8e13d575a72 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 01:33:50 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[update]=20v1.3=E3=83=AA=E3=83=AA=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E3=81=AE=E3=81=9F=E3=82=81=E3=80=81SCROLLABLE=5FDROPD?= =?UTF-8?q?OWN=20=3D=20False=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- window_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/window_config.py b/window_config.py index 1b95400a..2fed895d 100644 --- a/window_config.py +++ b/window_config.py @@ -14,7 +14,7 @@ from languages import translation_lang, transcription_lang, selectable_languages from ctk_scrollable_dropdown import CTkScrollableDropdown -SCROLLABLE_DROPDOWN = True +SCROLLABLE_DROPDOWN = False class ToplevelWindowConfig(CTkToplevel): From 600635738155110350bcddd560faeb1b0b1dea1c Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 02:01:11 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[update]=20information=E3=81=AB=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=86=85=E5=AE=B9=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- window_information.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/window_information.py b/window_information.py index 39f9d713..fa868a44 100644 --- a/window_information.py +++ b/window_information.py @@ -18,7 +18,7 @@ class ToplevelWindowInformation(CTkToplevel): font=CTkFont(family=self.parent.FONT_FAMILY) ) self.textbox_information.grid(row=0, column=0, padx=(10, 10), pady=(10, 10), sticky="nsew") - textbox_information_message = """VRCT(v1.2) + textbox_information_message = """VRCT(v1.3) # 概要 VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツールになります。 @@ -61,20 +61,25 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ Appearance Theme: ウィンドウテーマを選択 UI Scaling: UIサイズを調整 Font Family: 表示フォントを選択 + (New!) UI Language: UIの表示言語を選択 Translationタブ Select Translator: 翻訳エンジンの変更 Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択 Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択 Transcriptionタブ + (New!) Input Mic Host: マイクのホストAPIを選択 Input Mic Device: マイクを選択 Input Mic Voice Language: 入力する音声の言語 Input Mic Energy Threshold: 音声取得のしきい値 + (New!) Check threshold point: Input Mic Energy Thresholdのしきい値を視覚化 Input Mic Dynamic Energy Threshold: 音声取得のしきい値の自動調整 Input Mic Record Timeout: 音声の区切りの無音時間 Input Mic Max Phrases: 保留する単語の上限 + (New!) Input Mic Word Filter: MICの文字起こし時にWord Filterで設定した文字が入っていた場合にChatboxに表示しない (ex AAA,BBB,CCC) Input Speaker Device: スピーカーを選択 Input Speaker Voice Language: 受信する音声の言語 Input Speaker Energy Threshold: 音声取得のしきい値 + (New!) Check threshold point: (New!)Input Speaker Energy Thresholdのしきい値を視覚化 Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 Input Speaker Record Timeout: 音声の区切りの無音時間 Input Speaker Max Phrases: 保留する単語の上限 @@ -86,6 +91,8 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ [message]がメッセージボックスに記入したメッセージに置換される [translation]が翻訳されたメッセージに置換される 初期フォーマット:"[message]([translation])" + Othersタブ + (New!) Auto clear chat box: メッセージ送信後に書き込んだメッセージを空にする 設定の初期化 config.jsonを削除 @@ -118,6 +125,17 @@ https://twitter.com/misya_ai - いくつかのバクを修正 - 翻訳/文字起こし言語の表記を略称からわかりやすい文字に変更 - 文字起こしの処理の軽量化 +[2023-07-05: v1.2] +- 文字起こし精度の向上 +[2023-07-21: v1.3] +- UIの表示言語を日本語/英語を選択できる機能を追加 +- Energy Thresholdの視覚化機能を追加 +- 文字起こしの誤認識対策のため、Word Filterを追加 +- WASAPI以外のHostAPIでもマイクとして使用できるようにHostAPIを選択できる機能を追加 +- メッセージ送信後に書き込んだメッセージを空にするか選択できる機能を追加 +- バグ対策のため、translation/voice2chatbox/speaker2log/foregroundは起動時はOFFになるように変更 +- バグ対策のため、スピーカーについて既定デバイス以外を選択した時にERRORが出るように変更 +- 半角入力時に一部の文字が書き込めないバグを修正 # 注意事項 再配布とかはやめてね From ee600cfd3d2396703686d68b62489b7fa75fb804 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 02:22:22 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[update]information=E3=81=AE=E8=A8=98?= =?UTF-8?q?=E5=85=A5=E6=BC=8F=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- window_information.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/window_information.py b/window_information.py index fa868a44..69e87b47 100644 --- a/window_information.py +++ b/window_information.py @@ -74,6 +74,7 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ (New!) Check threshold point: Input Mic Energy Thresholdのしきい値を視覚化 Input Mic Dynamic Energy Threshold: 音声取得のしきい値の自動調整 Input Mic Record Timeout: 音声の区切りの無音時間 + Input Mic Phase Timeout: 文字起こしする音声時間の上限 Input Mic Max Phrases: 保留する単語の上限 (New!) Input Mic Word Filter: MICの文字起こし時にWord Filterで設定した文字が入っていた場合にChatboxに表示しない (ex AAA,BBB,CCC) Input Speaker Device: スピーカーを選択 @@ -82,6 +83,7 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ (New!) Check threshold point: (New!)Input Speaker Energy Thresholdのしきい値を視覚化 Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 Input Speaker Record Timeout: 音声の区切りの無音時間 + Input Speaker Phase Timeout: 文字起こしする音声時間の上限 Input Speaker Max Phrases: 保留する単語の上限 Parameterタブ OSC IP address: 変更不要 From 97a9958d1b3986364dab47f2cb5a6aae22362f3a Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 02:23:36 +0900 Subject: [PATCH 5/9] [update] README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新内容を追加 --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b3891b50..1e459209 100644 --- a/README.md +++ b/README.md @@ -75,22 +75,29 @@ ptyhon VRCT.py - Appearance Theme: ウィンドウテーマを選択 - UI Scaling: UIサイズを調整 - Font Family: 表示フォントを選択 + - **(New!) UI Language: UIの表示言語を選択** - Translation tab - Select Translator: 翻訳エンジンの変更 - Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択 - Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択 - Transcription tab + - **(New!) Input Mic Host: マイクのホストAPIを選択** - Input Mic Device: マイクを選択 - Input Mic Voice Language: 入力する音声の言語 - Input Mic Energy Threshold: 音声取得のしきい値 + - **(New!) Check threshold point: Input Mic Energy Thresholdのしきい値を視覚化** - Input Mic Dynamic Energy Threshold: 音声取得のしきい値の自動調整 + - Input Mic Phase Timeout: 文字起こしする音声時間の上限 - Input Mic Record Timeout: 音声の区切りの無音時間 - Input Mic Max Phrases: 保留する単語の上限 + - **(New!) Input Mic Word Filter: MICの文字起こし時にWord Filterで設定した文字が入っていた場合にChatboxに表示しない (ex AAA,BBB,CCC)** - Input Speaker Device: スピーカーを選択 - Input Speaker Voice Language: 受信する音声の言語 - Input Speaker Energy Threshold: 音声取得のしきい値 + - **(New!) Check threshold point: (New!)Input Speaker Energy Thresholdのしきい値を視覚化** - Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 - Input Speaker Record Timeout: 音声の区切りの無音時間 + - Input Speaker Phase Timeout: 文字起こしする音声時間の上限 - Input Speaker Max Phrases: 保留する単語の上限 - Parameter tab - OSC IP address: 変更不要 @@ -101,9 +108,11 @@ ptyhon VRCT.py - [translation]が翻訳されたメッセージに置換される - 初期フォーマット:`[message]([translation])` - Others tab - - Auto clear chat box: チャット送信時にチャットボックスを空にする + - **(New!) Auto clear chat box: メッセージ送信後に書き込んだメッセージを空にする** ## Author みしゃ(misyaguzi) twitter: https://twitter.com/misya_ai -booth: https://misyaguziya.booth.pm/items/4814313 \ No newline at end of file +booth: https://misyaguziya.booth.pm/items/4814313 + +Shiina_12siy \ No newline at end of file From 28be2b38409872fd5bbe2731dc200fa84b7e6032 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 02:24:12 +0900 Subject: [PATCH 6/9] [update] README.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新内容を追加 --- README.txt | 138 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 79 insertions(+), 59 deletions(-) diff --git a/README.txt b/README.txt index 5a28b468..3a5c23cd 100644 --- a/README.txt +++ b/README.txt @@ -1,79 +1,90 @@ ご購入ありがとうございます。 フィードバックお待ちしております。 -概要 +# 概要 VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツールになります。 翻訳エンジンを使用してメッセージとその翻訳部分を同時に送信することができます。 (翻訳エンジンはDeepL,Google,Bingに対応) -使用方法 - 初期設定時 -  0. VRChatのOSCを有効にする(重要) +# 使用方法 + 初期設定時 + 0. VRChatのOSCを有効にする(重要) -  (任意) -  1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する -  2. ギアアイコンのボタンでconfigウィンドウを開く -  3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す -  4. configウィンドウを閉じる + (任意) + 1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する + 2. ギアアイコンのボタンでconfigウィンドウを開く + 3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す + 4. configウィンドウを閉じる - 通常使用時 -  1. メッセージボックスにメッセージを記入 -  2. Enterキーを押し、メッセージを送信する + 通常使用時 + 1. メッセージボックスにメッセージを記入 + 2. Enterキーを押し、メッセージを送信する - その他の設定 -  - translation チェックボックス: 翻訳の有効無効 -  - voice2chatbox チェックボックス : マイクの音声を文字起こししてチャットボックスに送信する -  - speaker2log チェックボックス : スピーカーの音声から文字起こししてログに表示する -  - foreground チェックボックス: 最前面表示の有効無効 +# その他の設定 + translation チェックボックス: 翻訳の有効無効 + voice2chatbox チェックボックス : マイクの音声を文字起こししてチャットボックスに送信する + speaker2log チェックボックス : スピーカーの音声から文字起こししてログに表示する + foreground チェックボックス: 最前面表示の有効無効 -   - テキストボックス -    - logタブ: すべてのログを表示 -    - sendタブ: 送信したメッセージを表示 -    - receiveタブ: 受信したメッセージを表示 -    - systemタブ: 機能についてのメッセージを表示 + テキストボックス + logタブ + すべてのログを表示 + sendタブ + 送信したメッセージを表示 + receiveタブ + 受信したメッセージを表示 + systemタブ + 機能についてのメッセージを表示 -  - Configウィンドウ -   - UIタブ -    - Transparency: ウィンドウの透過度の調整 -    - Appearance Theme: ウィンドウテーマを選択 -    - UI Scaling: UIサイズを調整 -    - Font Family: 表示フォントを選択 -   - Translationタブ -    - Select Translator: 翻訳エンジンの変更 -    - Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択 -    - Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択 -   - Transcriptionタブ -    - Input Mic Device: マイクを選択 -    - Input Mic Voice Language: 入力する音声の言語 -    - Input Mic Energy Threshold: 音声取得のしきい値 -    - Input Mic Dynamic Energy Threshold: 音声取得のしきい値の自動調整 -    - Input Mic Record Timeout: 音声の区切りの無音時間 -    - Input Mic Max Phrases: 保留する単語の上限 -    - Input Speaker Device: スピーカーを選択 -    - Input Speaker Voice Language: 受信する音声の言語 -    - Input Speaker Energy Threshold: 音声取得のしきい値 -    - Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 -    - Input Speaker Record Timeout: 音声の区切りの無音時間 -    - Input Speaker Max Phrases: 保留する単語の上限 -  - Parameterタブ -    - OSC IP address: 変更不要 -    - OSC port: 変更不要 -    - DeepL Auth key: DeepLの認証キーの設定 -    - Message Format: 送信するメッセージのデコレーションの設定 -     - [message]がメッセージボックスに記入したメッセージに置換される -     - [translation]が翻訳されたメッセージに置換される -     - 初期フォーマット:"[message]([translation])" -  - Othersタブ -    - Auto clear chat box: チャット送信時にチャットボックスを空にする + configウィンドウ + UIタブ + Transparency: ウィンドウの透過度の調整 + Appearance Theme: ウィンドウテーマを選択 + UI Scaling: UIサイズを調整 + Font Family: 表示フォントを選択 + (New!) UI Language: UIの表示言語を選択 + Translationタブ + Select Translator: 翻訳エンジンの変更 + Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択 + Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択 + Transcriptionタブ + (New!) Input Mic Host: マイクのホストAPIを選択 + Input Mic Device: マイクを選択 + Input Mic Voice Language: 入力する音声の言語 + Input Mic Energy Threshold: 音声取得のしきい値 + (New!) Check threshold point: Input Mic Energy Thresholdのしきい値を視覚化 + Input Mic Dynamic Energy Threshold: 音声取得のしきい値の自動調整 + Input Mic Record Timeout: 音声の区切りの無音時間 + Input Mic Phase Timeout: 文字起こしする音声時間の上限 + Input Mic Max Phrases: 保留する単語の上限 + (New!) Input Mic Word Filter: MICの文字起こし時にWord Filterで設定した文字が入っていた場合にChatboxに表示しない (ex AAA,BBB,CCC) + Input Speaker Device: スピーカーを選択 + Input Speaker Voice Language: 受信する音声の言語 + Input Speaker Energy Threshold: 音声取得のしきい値 + (New!) Check threshold point: (New!)Input Speaker Energy Thresholdのしきい値を視覚化 + Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 + Input Speaker Record Timeout: 音声の区切りの無音時間 + Input Speaker Phase Timeout: 文字起こしする音声時間の上限 + Input Speaker Max Phrases: 保留する単語の上限 + Parameterタブ + OSC IP address: 変更不要 + OSC port: 変更不要 + DeepL Auth key: DeepLの認証キーの設定 + Message Format: 送信するメッセージのデコレーションの設定 + [message]がメッセージボックスに記入したメッセージに置換される + [translation]が翻訳されたメッセージに置換される + 初期フォーマット:"[message]([translation])" + Othersタブ + (New!) Auto clear chat box: メッセージ送信後に書き込んだメッセージを空にする - 設定の初期化 -  - config.jsonを削除 + 設定の初期化 + config.jsonを削除 -お問い合わせ +# お問い合わせ 要望などはTwitterまで https://twitter.com/misya_ai -アップデート履歴 +# アップデート履歴 [2023-05-29: v0.1b] v0.1b リリース [2023-05-30: v0.2b] - configボタンをギアアイコンに変更 @@ -99,6 +110,15 @@ https://twitter.com/misya_ai - 文字起こしの処理の軽量化 [2023-07-05: v1.2] - 文字起こし精度の向上 +[2023-07-21: v1.3] +- UIの表示言語を日本語/英語を選択できる機能を追加 +- Energy Thresholdの視覚化機能を追加 +- 文字起こしの誤認識対策のため、Word Filterを追加 +- WASAPI以外のHostAPIでもマイクとして使用できるようにHostAPIを選択できる機能を追加 +- メッセージ送信後に書き込んだメッセージを空にするか選択できる機能を追加 +- バグ対策のため、translation/voice2chatbox/speaker2log/foregroundは起動時はOFFになるように変更 +- バグ対策のため、スピーカーについて既定デバイス以外を選択した時にERRORが出るように変更 +- 半角入力時に一部の文字が書き込めないバグを修正 # 注意事項 再配布とかはやめてね \ No newline at end of file From b69476b246bbb44708d69208a01a2626a9d36d19 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 02:37:04 +0900 Subject: [PATCH 7/9] [update] window_config.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit entry_input_mic_word_filterにplaceholder_textを追加 --- window_config.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/window_config.py b/window_config.py index 2fed895d..b7bdb8c0 100644 --- a/window_config.py +++ b/window_config.py @@ -344,7 +344,11 @@ class ToplevelWindowConfig(CTkToplevel): save_json(self.parent.PATH_CONFIG, "INPUT_MIC_MAX_PHRASES", self.parent.INPUT_MIC_MAX_PHRASES) def entry_input_mic_word_filters_callback(self, event): - self.parent.INPUT_MIC_WORD_FILTER = self.entry_input_mic_word_filter.get().split(",") + word_filter = self.entry_input_mic_word_filter.get() + if len(word_filter) > 0: + self.parent.INPUT_MIC_WORD_FILTER = self.entry_input_mic_word_filter.get().split(",") + else: + self.parent.INPUT_MIC_WORD_FILTER = [] self.parent.keyword_processor = KeywordProcessor() for f in self.parent.INPUT_MIC_WORD_FILTER: self.parent.keyword_processor.add_keyword(f) @@ -1068,9 +1072,14 @@ class ToplevelWindowConfig(CTkToplevel): font=CTkFont(family=self.parent.FONT_FAMILY) ) self.label_input_mic_word_filter.grid(row=row, column=0, columnspan=1, padx=padx, pady=pady, sticky="nsw") + if len(self.parent.INPUT_MIC_WORD_FILTER) > 0: + textvariable=StringVar(value=",".join(self.parent.INPUT_MIC_WORD_FILTER)) + else: + textvariable=None self.entry_input_mic_word_filter = CTkEntry( self.tabview_config.tab(config_tab_title_transcription), - textvariable=StringVar(value=",".join(self.parent.INPUT_MIC_WORD_FILTER)), + textvariable=textvariable, + placeholder_text="AAA,BBB,CCC", font=CTkFont(family=self.parent.FONT_FAMILY) ) self.entry_input_mic_word_filter.grid(row=row, column=1, columnspan=1, padx=padx, pady=pady, sticky="nsew") From f670925d6ad10df9270b132f69719feaadc784f7 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 02:51:07 +0900 Subject: [PATCH 8/9] [update] locales.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 日本語化してない部分を修正 --- locales.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/locales.yml b/locales.yml index 38dbe6e4..6ee9596d 100644 --- a/locales.yml +++ b/locales.yml @@ -101,17 +101,20 @@ ja: label_input_mic_device: "マイク入力デバイス" label_input_mic_voice_language: "マイクで話す言語" label_input_mic_energy_threshold: "音声取得のしきい値" + checkbox_input_mic_threshold_check: "音声取得のしきい値の視覚化" label_input_mic_dynamic_energy_threshold: "音声取得のしきい値の自動調整" label_input_mic_record_timeout: "マイク音声の区切りの無音時間" - # label_input_mic_phrase_timeout: "" + label_input_mic_phrase_timeout: "文字起こしする音声時間の上限" label_input_mic_max_phrases: "保留する単語の上限(マイク)" + label_input_mic_word_filter: "ワードフィルタ" label_input_speaker_device: "スピーカー(聞き取りたいデバイス)" label_input_speaker_voice_language: "聞き取る音声の言語" label_input_speaker_energy_threshold: "音声取得のしきい値" + checkbox_input_speaker_threshold_check: "音声取得のしきい値の視覚化" label_input_speaker_dynamic_energy_threshold: "音声取得のしきい値の自動調整" label_input_speaker_record_timeout: "スピーカー音声の区切りの無音時間" - # label_input_speaker_phrase_timeout: "" + label_input_speaker_phrase_timeout: "文字起こしする音声時間の上限" label_input_speaker_max_phrases: "保留する単語の上限(スピーカー)" # tab Parameter From 94c751af853ce20798ceb3e02a00084da1eb2666 Mon Sep 17 00:00:00 2001 From: misygauziya Date: Fri, 21 Jul 2023 03:31:38 +0900 Subject: [PATCH 9/9] [bugfix] README.md, README.txt, window_information.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 旧UIの文言を削除 --- README.md | 2 +- README.txt | 2 +- window_information.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1e459209..6997bcd4 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ ptyhon VRCT.py (任意) 1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する 2. ギアアイコンのボタンでconfigウィンドウを開く -3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す +3. ParameterタブのDeepL Auth Keyに認証キーを記載 4. configウィンドウを閉じる ### Normal use diff --git a/README.txt b/README.txt index 3a5c23cd..57cdbfe5 100644 --- a/README.txt +++ b/README.txt @@ -13,7 +13,7 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ (任意) 1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する 2. ギアアイコンのボタンでconfigウィンドウを開く - 3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す + 3. ParameterタブのDeepL Auth Keyに認証キーを記載 4. configウィンドウを閉じる 通常使用時 diff --git a/window_information.py b/window_information.py index 69e87b47..85e50035 100644 --- a/window_information.py +++ b/window_information.py @@ -32,7 +32,7 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ (任意) 1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する 2. ギアアイコンのボタンでconfigウィンドウを開く - 3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す + 3. ParameterタブのDeepL Auth Keyに認証キーを記載 4. configウィンドウを閉じる 通常使用時