A Look at Beta 1.1.1 #161
cyberofficial
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hello everyone!
As a solo developer, I've been hard at work on a massive architectural update for Synthalingua. This isn't just an incremental patch; it's a foundational rebuild of the core engine designed to be faster, more stable, and packed with powerful new features.
Before I finalize everything for a stable (1.2.0) release, I'm going to publish a 1.1.1 beta build which will help me test in live environments.
What's New: A Look at the Next Generation of Synthalingua
Major New Features
--isolate_vocals) that uses the Demucs AI model to intelligently separate spoken words from background music, noise, and other interference. This allows you to get clean, high-quality transcriptions from audio that was previously unusable.--selectsourceflag allows you to see all available audio tracks from a live stream and listen to a short preview before starting a full transcription. This eliminates the guesswork and ensures you're always transcribing the correct source.--paddedaudio) allows the AI to remember what you just said, using it as a reference for what you're about to say next. The result is far more fluid and accurate live transcriptions with fewer awkwardly cut-off sentences.--makecaptions comparemode to generate subtitles using every available AI model, so you can easily choose the best result. It also now supports--word_timestampsfor creating karaoke-style subtitles.Fixes, Improvements, and Stability Upgrades
--auto_blocklistfeature can even add these looping phrases to your ignore list automatically.remote_microphone.pyscript has been transformed into a powerful, standalone utility for setting up remote audio streaming over your local network.For Advanced Users: Technical Deep Dive
1. Core Architecture and Performance
Engine Overhaul: Asynchronous Queue-Based Processing
TranscriptionCorehas been replaced with a multi-threaded, producer-consumer model usingthreadingandqueue.Queue. The main thread captures audio data (producer) and places file paths into a queue. A separate background thread (consumer) retrieves paths from the queue and performs the computationally expensive Whisper model inference.Memory Management in
sub_gen.pyunload_model()function has been introduced. After each transcription task inrun_sub_gen, this function is called todelthe model object, forcegc.collect(), and, if applicable, runtorch.cuda.empty_cache().--makecaptions comparemode. It allows the script to iterate through multiple large models without causing memory fragmentation or out-of-memory errors.2. Stability and Error Handling
Adaptive Rate Limiting for HLS Streams
rate_limiter.pymodule provides a globalRateLimiterclass. The HLS segment downloader instream_transcription_module.pynow catches HTTP 429 "Too Many Requests" errors and other network exceptions. When a 429 error occurs, it uses the rate limiter to apply an adaptive backoff delay, which increases with subsequent failures and resets upon success.Flask Server Watchdog and Force-Kill Utility
api_backend.pynow creates aserver.pidfile on startup. A background watchdog thread monitors for this file's existence. The new standalonekill_server.pyscript simply deletes the PID file. The watchdog detects the deletion and triggers an immediate, forceful shutdown of the server process.Ctrl+Cor graceful shutdown fails.3. Deprecations and Breaking Changes
--stream_target_languageflag is now deprecated and will be removed in a future version. Users should migrate to--stream_transcribe <language>.set_up_env.pyscript now installs all external tools into adownloaded_assets/sub-directory. Scripts relying on these tools being in the root directory may need to be updated to use the newffmpeg_path.batenvironment.--isolate_vocalsrequires a one-time setup viapython set_up_env.py --using_vocal_isolation, which installs Minicoda and associated packages.Your Feedback is Crucial
As this is a beta build, your feedback is invaluable. If you encounter a bug, a crash, or something that doesn't work as expected, please help me improve the software by reporting it.
How to Report an Issue:
Thank you for being part of this journey and for helping me build a better Synthalingua.
All reactions