Skip to main content

Voice-driven AI assistant for real-time transcription and Gemini integration.

Project description

VoxAI

PyPI version
License MIT

VoxAI Logo

🚀 Features

  • Universal Audio Capture
    Record mic, system audio, or any combination via BlackHole (macOS) or equivalent loopback drivers.
  • Manual Control
    Start/Stop buttons let you define exactly the boundaries of your prompt—perfect for long, multi-sentence queries.
  • One-Shot Transcription
    Whisper processes the entire recording in a single call—no fragmented sentences.
  • Live AI Streaming
    Gemini’s response appears token by token, just like in ChatGPT’s streaming interface.
  • Configurable Model
    Swap between Gemini variants via environment (no code changes).
  • Zero-Install UI Bootstrapping
    On first run voxai auto-installs the minimal Electron UI source—included in the PyPI package—so you only ever need pip install voxai and voxai.

🎯 Quickstart

⚙️ Prerequisites

  • Python ≥3.7

  • Node.js ≥14

  • Electron (global)

    npm install -g electron
    
  • macOS Audio Loopback (BlackHole 2ch + Ladiocast):

    1. Install BlackHole 2ch::

      brew install blackhole-2ch

    2. Create a Multi-Output Device

      • Open Audio MIDI Setup
      • Click “+” → Create Multi-Output Device
      • Check both BlackHole 2ch and MacBook Pro Speakers
    3. Select Multi-Output Device
      System Preferences → Sound → Output → Multi-Output Device

    4. Configure Ladiocast

      • Input 1: BlackHole 2ch → route to Main
      • Main Output: MacBook Pro Speakers
      • Mute other channels

    This will route all system and microphone audio into VoxAI.

Install & Run

1) Install from PyPI

pip install voxai

2) Configure environment

cp .env.example .env

Edit .env:

GENAI_API_KEY=sk-…

GENAI_MODEL=gemini-1.5-flash

3) Launch the app

voxai

On first launch, VoxAI will automatically run npm install inside its bundled electron/ folder, then open a desktop window.


📖 Usage

Once the UI opens:

Start: Click Start to begin recording.

Speak: Listen to question`s from zoom, teams or any other tool aloud—no length limit.

Stop: Click Stop. Whisper transcribes your entire clip to the Transcript pane.

Ask AI: Click Ask AI. Gemini’s answer streams live into the Answer pane.

Copy & Share: Everything is plain text—copy it, paste it, or feed it into your own RAG/finetuning pipeline.


🎧 How It Works

  • Start Recording
    Click Start to capture audio from your input device (e.g., BlackHole).

  • Stop & Transcribe
    Click Stop. Whisper transcribes and shows the full audio clip under Transcript.

  • Ask AI
    Click Ask AI to send the transcript to Gemini. Answers stream live in the Answer panel.

  • Copy & Share
    Output is plain text—reuse it in RAG/finetune workflows or anywhere else.


🛠 Configuration

Set in .env:

Variable Description Example
GENAI_API_KEY Google Generative AI (Gemini) API key sk-…
GENAI_MODEL Gemini model to use gemini-1.5-flash

See .env.example for reference.


🛠️ Developer Guide

Install from source

git clone https://github.com/rtiwariops/voxai.git

cd voxai

pip install -e .

npm install -g electron

voxai

⚙️ Features

  • Universal Audio Capture (BlackHole, etc.)
  • Manual Control for long-form Q&A
  • One-Shot, Full-Clip Transcription
  • Live Token-by-Token AI Streaming
  • Configurable Gemini Model (.env)
  • Electron-Based Desktop UI

📜 License

MIT License © 2025 Ravi (Robbie) Tiwari

Released under the MIT License.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voxai-0.1.81.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

voxai-0.1.81-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file voxai-0.1.81.tar.gz.

File metadata

  • Download URL: voxai-0.1.81.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for voxai-0.1.81.tar.gz
Algorithm Hash digest
SHA256 8a7c35c8c1d5682d6297e0efe077589368304537545cfa81f64aef3ec8428e7a
MD5 a94b0b8e675e2ca59e1c7e1fa0c42f3a
BLAKE2b-256 66ed78b67747b35d9f30ace09156cc75ebdbeef4ab37d73a16c4c9ecbea67641

See more details on using hashes here.

File details

Details for the file voxai-0.1.81-py3-none-any.whl.

File metadata

  • Download URL: voxai-0.1.81-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for voxai-0.1.81-py3-none-any.whl
Algorithm Hash digest
SHA256 2973c03a2464af794eec9c5204601391c3c45cb84811fa2d55243fd54928a7d4
MD5 f633a3e040b17b762a369b45a2f19c46
BLAKE2b-256 5cb9262126adcd3db60c24324c88c929c1294436f9c1d9057bbc859b3251bc7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page