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.85.tar.gz (12.7 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.85-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: voxai-0.1.85.tar.gz
  • Upload date:
  • Size: 12.7 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.85.tar.gz
Algorithm Hash digest
SHA256 3a8a89d6a4baaad41a82cd2052df2dac9d3b7dfdf323f5b8cc7851d9e4e9e08d
MD5 0a531337aa0b03e1dfa51ee7fec6d700
BLAKE2b-256 6bd37a22e9efc088882c2c8a31f3b4057d146976803f0846d5d42ee2124b07c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voxai-0.1.85-py3-none-any.whl
  • Upload date:
  • Size: 11.3 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.85-py3-none-any.whl
Algorithm Hash digest
SHA256 b4472762cda5e400e9d6c8469681c95ab75c975a87b1b1412c9853b48bc05e89
MD5 0dbe2c96fe165c58224a23d3fe800137
BLAKE2b-256 10ccc62130c597b05dbd0199595af851c0a70fe3b74d0909298aad2b3a91f121

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