Commit History

  1. Update static file routing and root endpoint for frontend integration⁠

    liumaolin
    f7b034a

  1. Add robust lifecycle management for `audio_player` service in system routes⁠

    liumaolin
    627c3e7
  2. Standardize service lifecycle management by replacing `stop` with `exit` and introducing `is_exited` check⁠

    liumaolin
    f5226c0
  3. Remove `voice_schemas.py` and refactor schema imports for TTS and ASR modules in `__init__.py`

    liumaolin
    4895dc2
  4. Refactor speech recognizer, audio capture, and system routes for improved clarity and functionality⁠

    liumaolin
    037e5ae
  5. Add pause and resume functionality to voice dialogue system⁠

    liumaolin
    d701b8a
  6. Refactor project: split `main.py` functionality into modular components under `cli`, `core`, and `config`.

    liumaolin
    d08a15b
  7. Increase service startup timeouts and set daemon mode for services.

    liumaolin
    61524a8

  1. Refactor imports in `whisper.py` and `funasr.py` to use absolute paths for `ensure_minimum_audio_duration`.

    liumaolin
    d673573
  2. Update `moyoyo.py`: add fallback for `utils` to ensure `HParams` availability in runtime.

    liumaolin
    bd3673b
  3. Refactor imports for consistency in `kokoro.py` and `processor.py`. Use absolute paths for better readability and maintainability.

    liumaolin
    8630353
  4. Update `paths.py`: improve PROJECT_ROOT resolution with `_MEIPASS` support and enhance third-party path handling.

    liumaolin
    664d767

  1. Rename 'src/VoiceDialogue' to 'src/voice_dialogue'.

    liumaolin
    511ff0c

  1. Revamp API core description: expand feature details for ASR, LLMs, TTS, system control, and real-time communication; improve clarity and structure of documentation.

    liumaolin
    c57de2a
  2. Update project requirements.

    liumaolin
    ccdd95f
  3. Integrate WebSocket support: add `/api/v1/ws` endpoint, enable real-time message handling via `websocket_message_queue`, and refactor services and models to support WebSocket-based question and answer updates.

    liumaolin
    2534744
  4. Refactor `SessionIdManager` module: rename `session_id_manager.py` to `session_manager.py` and update imports accordingly.

    liumaolin
    83ef092
  5. Refactor session ID handling: replace `current_session_id` with `SessionIdManager` for thread-safe management, update related imports and references.

    liumaolin
    92bb56d
  6. Refactor `__init__.py` in TTS runtime: streamline `__all__` handling, improve logging for import failures, and enhance maintainability of module exports.

    liumaolin
    6f036c6
  7. Serve static frontend assets through FastAPI: mount static files and replace root endpoint response with `index.html`.

    liumaolin
    ad7bf8d
  8. Handle `UnboundLocalError` in punctuation model lookup: add exception handling to ensure stability during transcription.

    liumaolin
    933e84c

  1. Remove `VoiceDialogue` API, models, and settings: clean up unused modules and dependencies for the decommissioned service.

    liumaolin
    3eb6daa
  2. Refactor assets files

    liumaolin
    1d3b1b4
  3. Refactor directories across services: rename `audio_generator` to `generators`, `asr` to `recognizers`, and update all import paths for consistency and improved module organization.

    liumaolin
    919ff3f
  4. Refactor imports across services: replace `services.core` module references with `core` for consistency and maintainability; remove unused `Queue` imports.

    liumaolin
    619c761
  5. Refactor imports in TTS and ASR modules: switch to absolute imports for improved clarity and maintainability.

    liumaolin
    d7d0d96
  6. Remove trailing whitespace in `audio_generator/manager.py` and `asr/manager.py` for improved code cleanliness and consistency.

    liumaolin
    f08ef5f
  7. Refactor ASR manager: remove `_get_asr_supported_languages`, replace static language mapping with `supported_langs` attribute, and update dynamic module import to use `importlib.util` for improved maintainability.

    liumaolin
    8acaad0
  8. Refactor `audio_generator/manager.py`: streamline imports, remove redundant modules in `register_all_tts`, and adjust dynamic import spec for improved maintainability.

    liumaolin
    ee4663a

  1. Adjust sorting priority in `audio_generator/models/base.py`: prioritize `language_bonus` over `priority` for config selection.

    liumaolin
    3b73d5e
  2. Refactor TTS module loading in `audio_generator/manager.py`: replace `importlib.import_module` with `importlib.util` for improved dynamic import handling and error logging.

    liumaolin
    9bfcd24
  3. Update TTS speaker configuration: replace static mapping with dynamic retrieval, add available speaker listing, and update CLI argument parsing for improved flexibility and maintainability.

    liumaolin
    cf355e6
  4. Refactor sentence processing in `text_generator.py`: centralize sentence end mark sets, streamline `_should_end_sentence` logic, and eliminate redundant parameter passing for improved clarity and maintainability.

    liumaolin
    1ae18a4
  5. Refactor imports in `main.py`: reorder modules for better readability and remove redundant `load_third_party` call.

    liumaolin
    8d91cc1
  6. Add Kokoro TTS support: integrate new TTS model, configuration, and runtime components for enhanced multilingual voice synthesis.

    liumaolin
    1cbd55c
  7. Refactor ASR routes: replace `fastapi_request.state` with `fastapi_request.app.state` for consistent application-level state management.

    liumaolin
    d231de5
  8. Enhance TTS model handling: add dynamic status tracking, model downloading, and default system configuration initialization with API updates to manage active and default TTS models effectively.

    liumaolin
    fb6d02a
  9. Comment out logging statements in `audio_player.py` to disable performance logs and streamline runtime output.

    liumaolin
    87a7384
  10. Refactor ASR routes and services: implement instance creation tracking with background task support, enhance `get_supported_languages` with current ASR language, and clean up unused schemas and routes for simplified management.

    liumaolin
    757f3be

  1. Remove `SystemConfig` and `SystemStartRequest` imports and clean up `__all__` in `schemas/__init__.py` for simplified schema management.

    liumaolin
    51a672c
  2. Remove `SystemConfig` and `SystemStartRequest` models and clean up related API routes and background tasks for simplified system startup and management.

    liumaolin
    e7ebdb0
  3. Enhance system management and audio capture services: implement `SystemStatusResponse` updates with detailed state tracking, add `audio_capture` service creation and lifecycle management, and refactor API `/system` routes for improved status and control handling.

    liumaolin
    94c7b78
  4. Extend TTS registry functionality and integrate default system configurations: implement prioritization logic, language preference handling, and fallback mechanisms in `TTSConfigRegistry`; refactor service factory and lifespan management to support dynamic TTS selection and initialization.

    liumaolin
    a28f7e3
  5. Introduce core module for API lifecycle management: add configuration, service factories, service manager, and lifespan handlers to streamline application startup, shutdown, and service orchestration.

    liumaolin
    a16e0e5
  6. Add system utilities and initialize core modules: implement `get_system_language` and `get_system_info`, update API startup with system defaults, and integrate ASR, LLM, and speech modules for enhanced functionality.

    liumaolin
    5c0e715
  7. Refactor core queue initialization: move queue definitions to `constants.py` and clean up redundant imports in `main.py` for better modularity.

    liumaolin
    bfefeb3
  8. Introduce initial API structure for VoiceDialogue: add dependencies, middleware, and routes for ASR, TTS, system, and voice modules.

    liumaolin
    8f823b0

  1. Refactor ASR module: introduce modular structure with ASR interface, implement FunASR and Whisper clients, add registry, and consolidate utility functions for enhanced maintainability and extensibility.

    liumaolin
    59603db
  2. Refactor TTS module: rename `tts_manager` to `manager` for consistency across imports and structure.

    liumaolin
    89f7f05
  3. Refactor speech processing: add type hint for `_process_active_voice_frame` and replace `max()` with `np.max()` for consistency.

    liumaolin
    5284873