GitHub - kshitijdixit/ztalk-realtime-voice-translator: ZTalk - Real-time voice to voice desktop translation app. #2 on Product Hunt launch

GitHub

3 min read Original article ↗

ZTalk Logo

Open-source desktop application for real-time voice-to-voice translation

Product Hunt #2 Download

Features • Installation • API Keys • Usage • Contributing • License


Features

  • Real-time Speech-to-Text - Powered by Deepgram's advanced speech recognition
  • AI Translation - Uses Google Gemini for context-aware translation
  • Text-to-Speech - Natural voice synthesis with Piper TTS
  • Multi-language Support - Supports 20+ languages
  • Privacy-First - All API keys stored locally, no data sent to third parties
  • Cross-Platform - Works on Windows, macOS, and Linux

Prerequisites

Installation

Pre-built Downloads (Recommended)

Download the latest version for your platform from ztalk.ai - no build required!

From GitHub Releases

Download from the Releases page.

From Source

# Clone the repository
git clone https://github.com/kshitijdixit/ztalk-realtime-voice-translator.git
cd ztalk-electron-app

# Install dependencies
npm install

# Start in development mode
npm start

# Build for production
npm run package

API Keys

ZTalk requires you to bring your own API keys. Your keys are stored locally and never transmitted to any server.

Required Keys

Service Purpose Get Your Key
Deepgram Speech-to-Text console.deepgram.com
Google Gemini AI Translation makersuite.google.com

Optional Keys

Service Purpose Get Your Key
Google Translate Fallback translation Google Cloud Console
ElevenLabs Premium voice synthesis elevenlabs.io
Azure Speech Alternative STT/TTS Azure Portal

Configuring Keys

  1. Launch the application
  2. Click the menu icon (⋮) in the top right
  3. Select Settings
  4. Enter your API keys
  5. Click Save Settings

Usage

Basic Setup

  1. Install a virtual audio device (see Prerequisites)
  2. Launch ZTalk and enter your API keys in Settings
  3. Select your devices:
    • Input Device: Your microphone
    • Output Device: Your speakers/headphones
    • Virtual Mic: Virtual audio output (for apps like Zoom/Discord)
    • Virtual Speaker: Virtual audio input
  4. Select languages:
    • Input Language: The language you speak
    • Output Language: The language to translate to
  5. Click the microphone button to start translating

Use Cases

  • Video Calls - Route audio through virtual devices for real-time translated calls
  • Live Streaming - Translate your speech in real-time for international audiences
  • Language Learning - Practice speaking and hear translations instantly
  • Accessibility - Bridge communication gaps in multilingual environments

Tech Stack

  • Electron - Cross-platform desktop framework
  • React - User interface
  • TypeScript - Type-safe JavaScript
  • Tailwind CSS - Styling
  • Deepgram SDK - Speech recognition
  • Google Generative AI - Translation
  • Piper TTS - Voice synthesis

Project Structure

ztalk-electron-app/
├── src/
│   ├── main/           # Electron main process
│   ├── renderer/       # React frontend
│   │   ├── components/ # UI components
│   │   ├── utils/      # Utilities and constants
│   │   └── Deepgram/   # Translation logic
│   └── __tests__/      # Tests
├── assets/             # Icons and images
└── release/            # Build output

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Start

# Fork and clone the repo
git clone https://github.com/kshitijdixit/ztalk-realtime-voice-translator.git

# Create a branch
git checkout -b feature/amazing-feature

# Make your changes and commit
git commit -m "feat: add amazing feature"

# Push and create a PR
git push origin feature/amazing-feature

Security

  • API keys are stored locally using electron-store
  • No telemetry or analytics
  • All API communications use HTTPS
  • See SECURITY.md for our security policy

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


Made with ❤️ by the ZTalk community