Hi @math65,
I'm Florian Lichteblau, the developer of TeamTalk VO Client — a Python-based TeamTalk client focused on accessibility (VoiceOver, Braille display, screen reader support) for macOS and Windows. I came across ttaccessible and was genuinely impressed by the architecture, especially the dual audio engine approach and the native VoiceOver integration without runtime patching.
Our project: https://github.com/fla-rion/TeamTalk-VO-Client
What our client currently offers
The Python client has grown quite large over time. Here's a rough feature overview:
Core
- Full server/channel/user management, multi-server profiles, .tt file / tt:// URL support
- Channel and private chat with history, search, export (txt/html)
- File transfer, admin tools (ban list, user accounts, server broadcast, server stats)
- Auto-reconnect, auto-join per server
Audio
- PTT + Voice Activation, AGC, noise suppression, echo cancellation (SDK-level)
- Per-user volume + stereo position, media file mute/volume separate from voice
- Equalizer presets, per-server audio profiles
- Global hotkeys (PTT + mute-all) — macOS via NSEvent monitor, Windows via Win32 polling
Accessibility
- VoiceOver support on macOS (via ObjC runtime patching — your native approach is clearly better)
- Braille display support (compact label mode)
- NVDA support on Windows
- Configurable TTS via espeak-ng with per-context rate/voice overrides (chat vs. system vs. channel events), pronunciation dictionary, interrupt mode
Automation / AI
- Macro manager (text macros + actions, scheduled macros)
- Trigger rules (event → action)
- Auto-reply manager
- Chat translation (DeepL/LibreTranslate)
- AI channel summary on join (Gemini API — summarizes last 30 min of chat)
- Mute scheduler (time-based mute windows)
Misc
- Media streaming: YouTube/yt-dlp, SoundCloud, Twitch, Bandcamp, Vimeo, Mixcloud, Webradio, Podcast, local file, playlist
- Recording (WAV/MP3, scheduled recordings)
- Plugin system (Python plugins loaded at runtime)
- Webhook manager, HTTP API server
- Bookmark manager, channel notes, user notes
- Saved messages, offline message queue
- Settings backup/restore, server list import/export
- Chat search, user watcher, online users dialog
- Startup profiler, health check, usage analytics
Our interest in your project
We're exploring the idea of building a native iOS client (SwiftUI) that covers the most meaningful subset of the above features for mobile. Your architecture — particularly the clean Service layer separation, the TeamTalk SDK bridging approach, and the WebRTC AEC3 integration — is exactly the kind of foundation we'd want to build on.
A few things we'd love to discuss:
-
iOS feasibility of your service layer — how much of Services/ do you think would survive an AppKit → SwiftUI/UIKit transition? The connection management and audio service abstractions look portable.
-
WebRTC AEC3 on iOS — the Speaker Tap approach (Core Audio, macOS 14.2+) won't work on iOS in the same way. Have you thought about the iOS equivalent? AVAudioEngine with voice processing I/O node comes to mind.
-
License / collaboration — if we were to build an iOS client inspired by (or partly based on) your architecture, we'd keep it GPL-3.0 and open source. The App Store GPL incompatibility is a known issue — likely we'd distribute outside the App Store (TestFlight or direct IPA) for now, same as our current macOS DMG distribution model.
-
Feature cross-pollination — are there features in our list above that you'd want to bring into ttaccessible? Happy to share implementation notes on anything that's useful — the per-context TTS rate/voice system, the pronunciation dictionary, or the macro engine for example.
No pressure on any of this — mainly wanted to say hello, share what we've built, and explore whether there's room for collaboration or at least mutual inspiration. The TeamTalk accessibility space is small enough that it makes sense for the two serious open-source clients to be aware of each other.
Best,
Florian
Hi @math65,
I'm Florian Lichteblau, the developer of TeamTalk VO Client — a Python-based TeamTalk client focused on accessibility (VoiceOver, Braille display, screen reader support) for macOS and Windows. I came across ttaccessible and was genuinely impressed by the architecture, especially the dual audio engine approach and the native VoiceOver integration without runtime patching.
Our project: https://github.com/fla-rion/TeamTalk-VO-Client
What our client currently offers
The Python client has grown quite large over time. Here's a rough feature overview:
Core
Audio
Accessibility
Automation / AI
Misc
Our interest in your project
We're exploring the idea of building a native iOS client (SwiftUI) that covers the most meaningful subset of the above features for mobile. Your architecture — particularly the clean Service layer separation, the TeamTalk SDK bridging approach, and the WebRTC AEC3 integration — is exactly the kind of foundation we'd want to build on.
A few things we'd love to discuss:
iOS feasibility of your service layer — how much of
Services/do you think would survive an AppKit → SwiftUI/UIKit transition? The connection management and audio service abstractions look portable.WebRTC AEC3 on iOS — the Speaker Tap approach (Core Audio, macOS 14.2+) won't work on iOS in the same way. Have you thought about the iOS equivalent?
AVAudioEnginewith voice processing I/O node comes to mind.License / collaboration — if we were to build an iOS client inspired by (or partly based on) your architecture, we'd keep it GPL-3.0 and open source. The App Store GPL incompatibility is a known issue — likely we'd distribute outside the App Store (TestFlight or direct IPA) for now, same as our current macOS DMG distribution model.
Feature cross-pollination — are there features in our list above that you'd want to bring into ttaccessible? Happy to share implementation notes on anything that's useful — the per-context TTS rate/voice system, the pronunciation dictionary, or the macro engine for example.
No pressure on any of this — mainly wanted to say hello, share what we've built, and explore whether there's room for collaboration or at least mutual inspiration. The TeamTalk accessibility space is small enough that it makes sense for the two serious open-source clients to be aware of each other.
Best,
Florian