Transform speech and text into translations with simultaneous delivery.
Project details
AI-TRANSLATOR enables seamless translation of speech and text into multiple languages, delivering results to various outputs simultaneously. This innovative tool supports text captions, on-screen displays, and voice channels. With a strong focus on parallel delivery and flexibility, it empowers users to distribute translations in real-time across different platforms.
AI-TRANSLATOR is a robust synchronous speech and text translation tool that excels in parallel delivery to various output formats. It captures speech or text, translates it into a specified target language, and then provides simultaneous outputs to multiple independent destinations. These outputs can be in the form of text sinks like captions or on-screen displays, as well as voice sinks that route translated speech to virtual audio devices or audio streams.
The standout feature of AI-TRANSLATOR is its ability to operate independently of output sources. The core translation engine generates streams of translation events without needing to know the pathways to which these outputs will be directed. This unique architecture enables a single translation to be displayed simultaneously on a stage screen, broadcasted as captions, and heard in a voice channel.
The project has reached Stage 1, where a Minimum Viable Product (MVP) has been implemented and is rigorously tested. The following components are functional:
AI-TRANSLATOR employs a modular architecture that includes:
Sources
microphone / system audio text input
│ │
▼ ▼
Translation core ── transono::TranslationLine<P> + Provider
speech recognition → translation → translated text + translated speech
│ SessionEvent
▼
Translation event bus
normalization into TranslationEvent, monotonic seq, timestamps
fan-out to subscribers with isolation and an overflow policy
│
├──────────────► Text sinks (any number, in parallel)
└──────────────► Voice sinks (any number, in parallel)
In this structure, the core translation engine remains unaware of the specific sink implementations, allowing for maximum modularity and flexibility. Each sink operates in isolation to prevent delays caused by slower sinks, ensuring a seamless workflow.
Currently implemented sinks include:
Future enhancements will introduce webhook support for platforms like Discord and Slack, and virtual audio devices will enable enhanced voice channel services.
AI-TRANSLATOR supports live audio broadcasting into Telegram voice chats. This feature operates as a user account rather than a bot, leveraging the native media engine to facilitate real-time translation delivery within voice conversations.
The configuration model is built upon a simple TOML structure which allows custom settings for core translation parameters and sink specifications. Secrets are managed through environment variables to maintain security and privacy.
Example configuration for translating to Russian from various input sources:
[core]
target_lang = "ru"
Comprehensive documentation is included within the repository, detailing code structure, build processes, and example configurations for various use cases.
For further detail, reference the documentation.
AI-TRANSLATOR is built on the TRANSONO library, integrating advanced audio processing, asynchronous runtime support, and effective logging techniques to provide a comprehensive translation solution.
Comments
0Start the conversation
Share the first comment.