Ace-Translate  by tianclll

Local multimodal translation suite

Created 2 years ago
324 stars

Top 83.7% on SourcePulse

GitHubView on GitHub
Project Summary

Ace Translate Pro is an all-in-one, offline translation tool designed for users prioritizing privacy and local processing. It offers a comprehensive suite of translation features, including text, hotkey-triggered, screenshot, image, file, and voice input, alongside multi-language text-to-speech. The tool benefits users by providing secure, on-device translation capabilities across various content formats without relying on cloud services, making it ideal for sensitive data or environments with limited connectivity.

How It Works

This project integrates ONNXRuntime for efficient, hardware-accelerated execution of core AI tasks such as Optical Character Recognition (OCR), document layout analysis, and automatic speech recognition (ASR). The primary translation engine and advanced multimodal capabilities, including formula recognition, are powered by llama.cpp, enabling local inference of Large Language Models (LLMs). This architecture allows for flexible GPU acceleration, specifically leveraging NVIDIA CUDA 12.1 for significant performance gains, or falling back to CPU processing. A key design choice is the use of lightweight, quantized models to optimize performance and reduce the overall resource footprint while maintaining good accuracy for common use cases.

Quick Start & Requirements

The most straightforward method to begin using Ace Translate Pro is by downloading pre-compiled GPU or CPU versions directly from the project's Releases page. For users intending to compile from source on Windows 10/11 (64-bit), essential prerequisites include Visual Studio 2022 with C++ development tools, CMake version 3.10 or higher, Qt 6.5.2, OpenCV 4.8, and ONNXRuntime. GPU acceleration requires compatible NVIDIA hardware and the CUDA Toolkit 12.1. Crucially, model files for translation, OCR, ASR, and other functions must be downloaded separately from Hugging Face and manually placed into the application's designated model directory. The compilation process involves first building the llama.cpp dependency, followed by the main Ace Translate Pro application, which can be automated using provided batch scripts or manual CMake commands.

Highlighted Details

  • Versatile Translation Modalities: Supports direct text input, hotkey-activated ("Ctrl+Shift+C") clipboard translation, screenshot-based OCR translation, image file translation with rendered text, and batch processing for documents like PDFs, Word, Excel, PPT, Markdown, and TXT.
  • Advanced Voice Integration: Features robust multi-language automatic speech recognition (ASR) for voice input and multi-language text-to-speech (TTS) synthesis for audio output of translations.
  • Underlying Technologies: Leverages PaddleOCR for accurate OCR, SenseVoiceSmall for efficient ASR, and local LLMs via llama.cpp for sophisticated translation and multimodal (VLM) tasks.
  • User Experience: Offers a user-friendly, multi-language (Chinese, English, Japanese) graphical interface built with Qt 6.5.2, supporting customizable settings, adjustable UI elements, and user-defined hotkeys.

Maintenance & Community

The project appears actively developed, with direct contact via WeChat provided for inquiries regarding custom model development or server-based versions. The README does not detail community forums, chat channels (like Discord or Slack), or formal contribution guidelines, suggesting a more direct developer-user interaction model for advanced needs.

Licensing & Compatibility

Ace Translate Pro is distributed under the permissive MIT license. This license permits extensive use, modification, and distribution, including integration into commercial products and closed-source applications without imposing copyleft restrictions.

Limitations & Caveats

The project's design prioritizes lightweight performance and efficient resource utilization by employing quantized models (e.g., Q4_K_M for translation, tiny variants for OCR). Consequently, users demanding the absolute highest precision or the broadest possible language coverage may find these default models insufficient and might require custom model integration or further fine-tuning. Building the application from source also necessitates a specific development environment setup and the manual management of model dependencies.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
6 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.