Merge branch 'for_v1.3' into develop
This commit is contained in:
15
README.md
15
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
|
||||
@@ -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
|
||||
booth: https://misyaguziya.booth.pm/items/4814313
|
||||
|
||||
Shiina_12siy
|
||||
138
README.txt
138
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が出るように変更
|
||||
- 半角入力時に一部の文字が書き込めないバグを修正
|
||||
|
||||
# 注意事項
|
||||
再配布とかはやめてね
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
@@ -536,9 +540,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 +574,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 +609,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 +644,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 +681,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 +717,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 +752,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 +788,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 +823,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 +860,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 +894,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 +928,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:
|
||||
@@ -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")
|
||||
@@ -1091,9 +1100,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 +1134,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:
|
||||
|
||||
@@ -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経由でメッセージを送信するツールになります。
|
||||
@@ -32,7 +32,7 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ
|
||||
(任意)
|
||||
1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する
|
||||
2. ギアアイコンのボタンでconfigウィンドウを開く
|
||||
3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す
|
||||
3. ParameterタブのDeepL Auth Keyに認証キーを記載
|
||||
4. configウィンドウを閉じる
|
||||
|
||||
通常使用時
|
||||
@@ -61,22 +61,29 @@ 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 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: 変更不要
|
||||
@@ -86,6 +93,8 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ
|
||||
[message]がメッセージボックスに記入したメッセージに置換される
|
||||
[translation]が翻訳されたメッセージに置換される
|
||||
初期フォーマット:"[message]([translation])"
|
||||
Othersタブ
|
||||
(New!) Auto clear chat box: メッセージ送信後に書き込んだメッセージを空にする
|
||||
|
||||
設定の初期化
|
||||
config.jsonを削除
|
||||
@@ -118,6 +127,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が出るように変更
|
||||
- 半角入力時に一部の文字が書き込めないバグを修正
|
||||
|
||||
# 注意事項
|
||||
再配布とかはやめてね
|
||||
|
||||
Reference in New Issue
Block a user