diff --git a/README.md b/README.md new file mode 100644 index 00000000..0c880a05 --- /dev/null +++ b/README.md @@ -0,0 +1,101 @@ +# VRCT (VRChat Chatbox Translator & Transcription) + +## Overview +VRChatのChatBoxにOSC経由でメッセージを送信するツール +翻訳エンジンを使用してメッセージとその翻訳部分を同時に送信することができる + +## Requirement +- python 3.9.13 +- pillow +- PyAudioWPatch +- python-osc +- customtkinter +- deepl +- deepl-translate(https://github.com/misyaguziya/deepl-translate) +- translators(https://github.com/misyaguziya/translators) +- custom_speech_recognition(https://github.com/misyaguziya/custom_speech_recognition) + +deepl-translate/translators/custom_speech_recognitionについては追加実装をしています。`pip install`でinstallした場合、動かないので注意 + +## install +```bash +pip install -r requirements.txt +``` + +```bash +git clone https://github.com/misyaguziya/translators.git +python ./translators/setup.py install +git clone https://github.com/misyaguziya/deepl-translate.git +python ./deepl_translate/setup.py install +git clone https://github.com/misyaguziya/custom_speech_recognition.git +python ./custom_speech_recognition/setup.py install +``` + +## Usage +```bash +ptyhon VRCT.py +``` + +## Features + +### init +0. VRChatのOSCを有効にする(重要) + +(任意) +1. DeepLのAPIを使用するためにアカウント登録し、認証キーを取得する +2. ギアアイコンのボタンでconfigウィンドウを開く +3. ParameterタブのDeepL Auth Keyに認証キーを記載し、フロッピーアイコンのボタンを押す +4. configウィンドウを閉じる + +### Normal use +1. メッセージボックスにメッセージを記入 +2. Enterキーを押し、メッセージを送信する + +### About Checkboxes +- translation: 翻訳の有効無効 +- voice2chatbox: マイクの音声を文字起こししてチャットボックスに送信する +- speaker2log: スピーカーの音声から文字起こししてログに表示する +- foreground: 最前面表示の有効無効 + +### About Textbox +- log tab: すべてのログを表示 +- send tab: 送信したメッセージを表示 +- receive tab: 受信したメッセージを表示 +- system tab: 機能についてのメッセージを表示 + +### About Config Window +- UI tab + - Transparency: ウィンドウの透過度の調整 + - Appearance Theme: ウィンドウテーマを選択 + - UI Scaling: UIサイズを調整 + - Font Family: 表示フォントを選択 +- Translation tab + - Select Translator: 翻訳エンジンの変更 + - Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択 + - Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択 +- Transcription tab + - 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 tab + - OSC IP address: 変更不要 + - OSC port: 変更不要 + - DeepL Auth key: DeepLの認証キーの設定 + - Message Format: 送信するメッセージのデコレーションの設定 + - [message]がメッセージボックスに記入したメッセージに置換される + - [translation]が翻訳されたメッセージに置換される + - 初期フォーマット:`[message]([translation])` + +## Author +みしゃ(misyaguzi) +twitter: https://twitter.com/misya_ai +booth: https://misyaguziya.booth.pm/items/4814313 \ No newline at end of file diff --git a/README.txt b/README.txt index ef6e28a5..97085db2 100644 --- a/README.txt +++ b/README.txt @@ -32,7 +32,7 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ     - receiveタブ: 受信したメッセージを表示     - systemタブ: 機能についてのメッセージを表示 -  - configウィンドウ +  - Configウィンドウ    - UIタブ     - Transparency: ウィンドウの透過度の調整     - Appearance Theme: ウィンドウテーマを選択 @@ -43,13 +43,18 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ     - Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択     - Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択    - Transcriptionタブ -    - Input Mic Device: 音声を入力するマイクを選択 +    - Input Mic Device: マイクを選択     - Input Mic Voice Language: 入力する音声の言語 -    - Input Mic IsDynamic: マイクの自動調整 -    - Input Mic Threshold: 音声取得のしきい値 -    - Input Speaker Device: 音声を受信するスピーカーを選択 +    - 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 Interval: 受信する音声の調整 +    - Input Speaker Energy Threshold: 音声取得のしきい値 +    - Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 +    - Input Speaker Record Timeout: 音声の区切りの無音時間 +    - Input Speaker Max Phrases: 保留する単語の上限   - Parameterタブ     - OSC IP address: 変更不要     - OSC port: 変更不要 @@ -90,6 +95,8 @@ https://twitter.com/misya_ai - いくつかのバクを修正 - 翻訳/文字起こし言語の表記を略称からわかりやすい文字に変更 - 文字起こしの処理の軽量化 +[2023-07-05: v1.2] +- 文字起こし精度の向上 # 注意事項 再配布とかはやめてね \ No newline at end of file diff --git a/window_information.py b/window_information.py index 96c2afd2..f3039589 100644 --- a/window_information.py +++ b/window_information.py @@ -18,7 +18,7 @@ class ToplevelWindowInformation(customtkinter.CTkToplevel): font=customtkinter.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.1) + textbox_information_message = """VRCT(v1.2) # 概要 VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツールになります。 @@ -66,13 +66,18 @@ VRChatで使用されるChatBoxをOSC経由でメッセージを送信するツ Send Language: 送信するメッセージに対して翻訳する言語[source, target]を選択 Receive Language: 受信したメッセージに対して翻訳する言語[source, target]を選択 Transcriptionタブ - Input Mic Device: 音声を入力するマイクを選択 + Input Mic Device: マイクを選択 Input Mic Voice Language: 入力する音声の言語 - Input Mic IsDynamic: マイクの自動調整 - Input Mic Threshold: 音声取得のしきい値 - Input Speaker Device: 音声を受信するスピーカーを選択 + 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 Interval: 受信する音声の調整 + Input Speaker Energy Threshold: 音声取得のしきい値 + Input Speaker Dynamic Energy Threshold: 音声取得のしきい値の自動調整 + Input Speaker Record Timeout: 音声の区切りの無音時間 + Input Speaker Max Phrases: 保留する単語の上限 Parameterタブ OSC IP address: 変更不要 OSC port: 変更不要