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.46.tar.gz (10.4 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.46-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: voxai-0.1.46.tar.gz
  • Upload date:
  • Size: 10.4 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.46.tar.gz
Algorithm Hash digest
SHA256 56c0725a5dcae16a750a76a3976110a8707b60b7d89976e9a2c2d3fc662e528e
MD5 ca175406e1227319493ebfd3d42eccbb
BLAKE2b-256 4aafc6f862e14a56bb840fdada6a938b9b568562787cfd31f5e5acf1478b5efa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voxai-0.1.46-py3-none-any.whl
  • Upload date:
  • Size: 9.1 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.46-py3-none-any.whl
Algorithm Hash digest
SHA256 cbdff9b8f10b4d5a1b103dba6123a90bb6f6f136395d5042b17fff8ef67a579a
MD5 e7ef8868e063e555591c81c3bca49ba2
BLAKE2b-256 b9c756e142ce9d755a50fe19685671ec51a14dc86384a205a2670b5070396817

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