Commit Graph

95 Commits

Author SHA1 Message Date
misyaguziya
5ca809c8dd [Update] Config: Add model revalidation logic to ensure selected models are valid based on available options. 2025-11-23 00:59:09 +09:00
misyaguziya
27b3006ffd [Update] Controller: Add error handling for empty translation model lists and improve logging for translation engine availability checks. 2025-11-20 01:38:50 +09:00
misyaguziya
bc6798714d [Fix] Improve OpenAI authentication handling and error response 2025-11-14 10:42:40 +09:00
misyaguziya
215f5f6815 [Refactor] Update endpoint names to use 'selectable' prefix for mic, speaker, and translation engines 2025-11-12 20:55:08 +09:00
misyaguziya
a54538ee70 configのdictとlistの保存の問題を修正 2025-10-24 16:17:02 +09:00
misyaguziya
0a9cb9952b overlay: 大ログにトランスリテレーション(ルビ)対応を追加し描画/APIを拡張
- controller/model: transliteration_message / transliteration_translation を伝搬するよう変更し、createOverlayImage* 呼び出しの引数を更新
- overlay: createTextboxLargeLogWithRubyTokens を実装し、大ログでのトークン単位ルビ描画(フォールバックロジック、外側パディング、行間等)を追加
- overlay: 小型ログAPI/呼び出しを transliteration_* 名に合わせて修正・簡素化
- docs: overlay_ruby.md に大ログ向け仕様と使用例を追記
2025-10-23 14:41:37 +09:00
misyaguziya
caeb8b6888 Merge branch 'translate_api' into develop 2025-10-20 17:20:02 +09:00
misyaguziya
306f0af734 controller: 翻訳モデル選択時にモデル適用とクライアント更新を確実に行うよう修正
- デフォルト選択時および明示的なモデル設定時に model.setTranslatorXModel(...) を呼び出し、モデル状態を確実に反映
- OpenAI/LMStudio/Ollama/Plamo/Gemini/Ollama でクライアント更新を適切な箇所に追加して整合性を向上

mainloop: LMStudio/Ollama 接続チェックのエンドポイントを run 系に変更、ローマ字変換関連を追加
- "/get/data/*_connection" → "/run/*_connection" に変更(LMStudio/Ollama)
- ローマ字変換(convert_message_to_romaji) のマッピングを追加(取得/有効化/無効化)

translation_ollama: 認証チェックのエンドポイント呼び出しを修正
- base_url + "/api/ping" ではなく base_url 直下に対して GET を行うよう変更(環境による応答差異に対応)
2025-10-20 03:48:41 +09:00
misyaguziya
49aafadd1c 認証キー検証を修正(Plamo/Gemini/OpenAI)
- Plamo API のキー判定を厳密化: 長さチェックを「==72」から「>=72」に変更して72文字以上を受け入れるように
- Gemini API の最小長を20→39に引き上げ
- OpenAI API キー判定を簡易長さチェックから厳格化: "sk-"で始まりかつ長さ>=164 を要求するように変更
- OpenAI のエラーメッセージを「長さが不正」から「無効」に変更して意図を明確化
2025-10-20 01:30:00 +09:00
misyaguziya
bcfbf51696 LMStudio 認証呼び出しで base_url を明示渡しへ修正 + ドキュメント整備(ローカルLLM/言語マッピング/フォント等)
- controller: model.authenticationTranslatorLMStudio 呼び出しに base_url=config.LMSTUDIO_URL を明示的に渡すよう修正(LMStudio 接続判定で設定 URL を利用)
- docs: 新規ドキュメントを追加・更新
  - 追加: translation_gemini.md, translation_lmstudio.md, translation_ollama.md, translation_openai.md, translation_plamo.md
  - 更新: config.md, controller.md, mainloop.md, model.md, overlay.md, translation_languages.md, translation_translator.md, 仕様書.md(翻訳/モデル管理・エンドポイント・YAML 言語定義・フォント探索・VRAM フォールバック等の記載追加)
- ドキュメントに記載した主な変更点
  - LMStudio / Ollama のローカルLLM統合(モデルリスト/選択用プロパティ追加、接続確認エンドポイント)
  - CTranslate2 の言語定義を weight_type ネスト構造へ変更対応
  - 外部 YAML による言語マッピング導入(loadTranslationLanguages)
  - フォント探索を PyInstaller バンドル(_internal/fonts/) を考慮して強化
  - 認証後のモデルリスト自動更新・SELECTED_* プロパティ名統一、VRAM エラー検知時の自動フォールバック等の動作説明追加

(コードの振る舞いは既存処理に合わせた引数指定の修正とドキュメント反映が主体)
2025-10-20 01:19:49 +09:00
misyaguziya
83e72b37cc LMStudio 接続チェックとモデル選択処理を追加・強化、mainloop にエンドポイント追加、LMStudio/Ollama のモデル取得を例外耐性化
- Controller に checkTranslatorLMStudioConnection を追加し、接続成功時に SELECTABLE_TRANSLATION_ENGINE_STATUS や SELECTABLE_LMSTUDIO_MODEL_LIST を更新、選択モデルのフォールバック設定・クライアント更新・UI 更新呼び出しを行うよう実装
- setTranslatorLMStudioURL を接続成功時にモデルリスト/ステータス更新や選択モデルのフォールバック処理を行うよう拡張
- checkTranslatorOllamaConnection 成功時にも SELECTABLE_TRANSLATION_ENGINE_STATUS/モデルリスト更新、選択モデルフォールバック、クライアント更新、UI 更新呼び出しを追加
- mainloop に /get/data/lmstudio_connection エンドポイントを追加して LMStudio 接続チェックを公開
- translation_lmstudio.py と translation_ollama.py のモデル取得処理を try/except で保護し、例外時は空リストを返すよう修正(接続失敗やレスポンス異常に対する耐性向上)
2025-10-20 00:38:38 +09:00
misyaguziya
e71bf17e13 各翻訳クライアントで supported_languages を YAML から translation_lang に移行・参照するよう修正、プロンプトYAMLの重複した supported_languages ブロックを削除、LMStudio のデフォルト URL を /v1 に変更、mainloop に LMStudio/Ollama のモデル関連エンドポイントと run_mapping を追加、Controller 内の Ollama 表記のtypo(Lollama→Ollama)を修正してメソッド名・ログ文を更新、各クライアントで translation_languages のフォールバック import を追加 2025-10-19 22:07:58 +09:00
misyaguziya
7e7b3505a1 LMStudio と Ollama の翻訳バックエンドを追加・統合。
- config: SELECTABLE_/SELECTED_ の LMStudio/Ollama 項目と LMSTUDIO_URL を追加。
- Controller: LMStudio/Ollama の認証チェック、URL取得/設定、モデル一覧取得/設定のエンドポイントを実装。
- Model/Translator: LMStudio/Ollama 用の認証・モデル一覧・モデル設定・クライアント更新メソッドを追加し、翻訳処理の選択肢に対応。
- translation_* クライアント: 各クライアントでのプロンプト読み込み処理を共通化し、translation_utils.loadPromptConfig を利用するようにリファクタ。
- translation_languages: LMStudio/Ollama 用の言語マッピングを追加。
2025-10-17 21:48:44 +09:00
misyaguziya
80a7fd7107 updateSelectedMicDeviceで選択マイクのホスト/デバイス通知を分割、restartAccessMicDevicesの戻り値と通知を調整、run_mappingにselected_mic_hostを追加(位置調整)
- Controller.updateSelectedMicDevice: これまで単一のペイロードで送っていた{"host", "device"}をやめ、selected_mic_hostとselected_mic_deviceを個別にrunで通知するように変更。
- Controller.restartAccessMicDevices: selected_mic_deviceのrun通知を追加し、戻り値をデバイス情報の辞書からSELECTED_MIC_HOSTに変更。
- mainloop.run_mapping: selected_mic_hostエントリを追加(配置を調整)して通知先キーを確実に登録。
2025-10-17 11:10:39 +09:00
misyaguziya
c18748f6bc 翻訳モデル設定を SELECTED_* に統一し、Controller と UI 更新の連携を追加
- config: PLAMO_MODEL/GEMINI_MODEL/OPENAI_MODEL を SELECTED_PLAMO_MODEL/SELECTED_GEMINI_MODEL/SELECTED_OPENAI_MODEL にリネーム
  - JSON シリアライズキーも SELECTED_* に変更
  - 初期化フィールドを新キーに合わせて修正
- controller: すべての参照を新しい SELECTED_* プロパティへ置換
  - モデル一覧取得時に run コールバックで selectable リストを通知
  - 選択モデルを更新した際に run コールバックで選択状態を通知
  - モデル更新・クライアント再構築処理の呼び出しを保持
- mainloop: GUI 更新用の run_mapping に selectable/selected のモデル関連エンドポイントを追加
2025-10-16 21:55:27 +09:00
misyaguziya
a862805a05 OpenAI関連のメソッド名を統一し、認証後のモデル更新処理を追加
- メソッド名を OpenAi -> OpenAI に統一(get/set/del/get_model_list/get_model/set_model)
- OpenAI 認証キー設定時にモデル一覧を取得して SELECTABLE_OPENAI_MODEL_LIST を更新、選択モデルが存在しなければ第一候補へフォールバックして OpenAI クライアントを再初期化する処理を追加
- model のメソッド名を setTranslatorOpenAiModel -> setTranslatorOpenAIModel に変更
- mainloop のエンドポイントマッピングを新しいメソッド名に合わせて更新
2025-10-16 18:53:45 +09:00
misyaguziya
526fd4d5aa 翻訳バックエンドを拡張・リファクタリング:OpenAI/Plamo/Gemini クライアントを追加・改修し、プロンプトを YAML から読み込むように変更。各クライアントでモデル一覧取得・認証・クライアント更新機能を実装し、Translator/Model 層の対応メソッドを追加。Controller と mainloop にプラモ・ジェミニ・OpenAI の認証/モデル操作エンドポイントを追加・整備。config のモデル/API設定をプロパティ化して既定値を None に変更し、選択肢リストを初期化。translation_languages に OpenAI 用マッピングを追加。requirements ファイルの依存記述を調整。 2025-10-16 18:09:08 +09:00
misyaguziya
f8466bd6e4 翻訳APIの認証ロジックを改善し、YAMLファイルからプロンプト設定を読み込む機能を追加。新しいフォントファイルを追加し、データパスを更新。 2025-10-15 18:50:26 +09:00
misyaguziya
6fc89fbb3e Merge branch 'develop' into translate_api
# Conflicts:
#	requirements.txt
#	requirements_cuda.txt
#	src-python/config.py
#	src-python/mainloop.py
#	src-python/model.py
#	src-python/models/osc/osc.py
#	src-python/models/translation/translation_languages.py
#	src-python/models/translation/translation_translator.py
#	src-python/models/translation/translation_utils.py
2025-10-14 12:47:47 +09:00
misyaguziya
d4f89a734d デバイスマネージャーの監視機能を追加し、マイクおよびスピーカーの自動選択機能の有効/無効に応じて監視を開始・停止するロジックを実装。 2025-10-13 16:41:34 +09:00
misyaguziya
6f33f8afbd Controllerの初期化時にmodel.init()を呼び出す互換レイヤを追加し、オーバーレイの存在チェックを安全に行うためのヘルパメソッドを導入。未使用のimportを削除し、ドキュメントを新規作成して変更点と注意事項を明示化。 2025-10-09 22:38:50 +09:00
misyaguziya
c1cf78cda4 [改善] 型注釈の追加とドキュメントの更新
- config.py, controller.py, model.py, mainloop.py, utils.py での型注釈の追加
- CODING_RULES.md と api.md のドキュメントを更新
- 不要なコードの削除とリファクタリング
2025-10-09 13:34:05 +09:00
misyaguziya
6c655b6043 [Update] OverlayImage: Improve font loading logic with error handling for font file paths 2025-10-07 19:01:55 +09:00
misyaguziya
4572aee2b7 [Update] Controller and Model: Refactor translation device management and add parameter change tracking 2025-10-06 16:40:05 +09:00
misyaguziya
c7bae73363 Merge branch 'bugfix_auto_device_select' into develop 2025-10-05 21:16:18 +09:00
misyaguziya
4b0c7e9775 [Update] Controller and DeviceManager: Refactor device management methods for mic and speaker separation 2025-10-05 21:15:44 +09:00
misyaguziya
eb08ed6ff6 Merge branch 'transliteration' into develop 2025-10-05 17:15:47 +09:00
misyaguziya
7b1e9136ee [Update] Transliterator: Enhance transliteration control and improve tokenizer initialization 2025-10-04 22:25:55 +09:00
misyaguziya
4b55a9bca2 [Fix] Controller: Remove redundant assignments in auto mic/speaker select methods 2025-10-02 23:05:06 +09:00
Sakamoto Shiina
e7cd872fcc Merge branch 'bugfix_compute_type' into develop 2025-09-28 02:10:23 +09:00
misyaguziya
6effedcce2 [Update] Refactor compute type management: rename properties to 'SELECTED_TRANSLATION_COMPUTE_TYPE' and 'SELECTED_TRANSCRIPTION_COMPUTE_TYPE' 2025-09-27 07:07:54 +09:00
misyaguziya
5366622fca [Update] Refactor compute device management: change methods to instance methods and set compute types to "auto" 2025-09-26 23:30:39 +09:00
misyaguziya
92f9d645f8 [Update] Refactor compute type management: rename CTranslate2 and Whisper compute types to Translation and Transcription 2025-09-25 22:56:16 +09:00
misyaguziya
9e2c91905c SHOW_RESEND_BUTTONの条件を修正し、main_instanceの起動処理を簡素化 2025-09-25 17:27:08 +09:00
misyaguziya
a4656a5081 Controllerクラスの設定メソッドを修正し、重複した設定を防止する条件を追加。テストケースを更新し、ON/OFF状態のランダムアクセスと連続テストを強化。 2025-09-23 16:56:11 +09:00
misyaguziya
1689a45e3e Refactor test_endpoints.py: Enhance endpoint testing with structured tests for ON/OFF states, random access, and continuous testing. Introduce Color class for colored output and streamline endpoint handling logic. 2025-09-23 14:45:08 +09:00
misyaguziya
9d94fd6a5e [Update] Refactor compute type management: unify device list retrieval and remove deprecated methods 2025-09-19 18:09:39 +09:00
misyaguziya
7274c514a7 [Update] トランスリテレーション処理を有効化する条件を追加 2025-09-17 21:40:28 +09:00
misyaguziya
396d5d7d88 メッセージのトランスリテレーション処理を改善し、日本語の条件を簡素化 2025-09-17 17:52:12 +09:00
misyaguziya
c9dd352565 メッセージの変換処理を改善し、日本語のトランスリテレーションの条件を整理 2025-09-17 17:05:59 +09:00
misyaguziya
5ed0d555b9 Transliteration変数の名称を変更し、メッセージ処理の一貫性を向上 2025-09-17 15:28:45 +09:00
misyaguziya
3d34b50793 ConfigクラスにSELECTED_TAB_TARGET_LANGUAGES_NO_LISTプロパティを追加し、メッセージの変換処理を改善 2025-09-17 12:35:14 +09:00
misyaguziya
5f0f918642 [Update] Rename and add methods for CTranslate2 compute type management in Controller 2025-09-17 10:52:56 +09:00
misyaguziya
245855d0ca [Update] Add compute type management for CTranslate2 and Whisper models 2025-09-17 10:35:34 +09:00
misyaguziya
224eaf3cef [Add] translation_gemini: Integrate Gemini translation model and authentication; [Update] controller: Implement methods for managing Gemini models and auth keys; [Update] mainloop: Add routes for Gemini model and auth key management; [Update] translation: Enhance Translator class for Gemini API support; [Update] translation_languages: Add Gemini language mappings 2025-09-15 17:42:09 +09:00
misyaguziya
5a9a13146c [Update] Refactor transliteration function to accept parameters for hiragana and romaji conversion 2025-09-12 16:06:12 +09:00
misyaguziya
7bed19c81f [Update] controller: Change Plamo model list to selectable models 2025-09-11 18:02:12 +09:00
misyaguziya
bc269bc1fb [Update] translation: Integrate Plamo API support with model selection and authentication features 2025-09-11 14:15:26 +09:00
misyaguziya
f5ebcd7bd8 [Update] translation: Add Plamo API support with authentication and translation functionality 2025-09-10 17:52:42 +09:00
Sakamoto Shiina
e6bd0e32ed [bugfix] controller.py: Fix the bug, type error. that was unable to store the data correctly. 2025-08-26 17:20:29 +09:00