Skip to content

Feature/realtimetalkingmvp - #9

Open
Deltaidiots wants to merge 6 commits into
ZiqiaoPeng:mainfrom
Deltaidiots:feature/realtimetalkingmvp
Open

Feature/realtimetalkingmvp#9
Deltaidiots wants to merge 6 commits into
ZiqiaoPeng:mainfrom
Deltaidiots:feature/realtimetalkingmvp

Conversation

@Deltaidiots

Copy link
Copy Markdown

This pull request introduces a significant upgrade to the SyncTalk_2D project, adding a real-time web API and modularizing the codebase for maintainability and extensibility. The changes include a new FastAPI server, a centralized configuration system, enhanced documentation, and improvements to data processing and debugging features.

Major new features and architecture:

  • Added a comprehensive FastAPI-based web API (api.py) that supports real-time talking head animation via both text-to-speech and audio file upload, streaming results frame-by-frame. Includes endpoints for animation, avatar retrieval, health checks, TTS audio generation, and debug controls.
  • Implemented a modular architecture following SOLID principles, with clear separation between model management, TTS synthesis, frame generation, and configuration. This is documented in the new "Architecture" section of README.md.

Configuration and code organization:

  • Introduced a centralized, type-safe configuration system using Pydantic (config.py), organizing model, TTS, and debug settings for easier management and validation.
  • Updated installation instructions to include new dependencies for the API and TTS features (README.md).

Documentation and best practices:

  • Expanded documentation in README.md to cover the new API, configuration, code structure, and best practices. Added references to detailed docs and PlantUML diagrams for visualizing system architecture and data flow.

Data processing improvements:

  • Improved the image extraction utility (data_utils/process.py) to avoid redundant work by checking for existing frames before extracting, and to robustly create output directories. [1] [2]

…nimation, and enhance audio processing utilities

- Added `tts.py` for a new TTS service implementation using the Piper TTS library, including error handling and logging.
- Created `index.html` for a web interface that supports text-to-speech and audio file uploads for animation.
- Enhanced `utils.py` with detailed type annotations, docstrings, and added a new function for real-time audio feature extraction.
- Improved audio preprocessing and feature extraction methods to support real-time applications.
…eatures, and improve argument help descriptions
… flow

- Introduced architecture.md detailing high-level overview, model architecture, and data flow.
- Created data-flow.md outlining training and inference data pipelines.
- Added README.md for diagrams directory with viewing instructions and diagram index.
- Implemented various PlantUML diagrams including API architecture, audio processing, inference flow, and training pipeline.
- Developed model-details.md to explain U-Net architecture and audio processing pipeline.
- Compiled training-guide.md with prerequisites, data preparation, training configuration, and best practices.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant