Skip to content

Repository files navigation

πŸ“±βš‘ CALLVOX AI

Autonomous Real-Time AI Calling Agent for Physical Android Smartphones & Desktop

Turn any Android phone with a SIM card into an autonomous, ultra-low-latency AI Voice Agent powered by Google Gemini, Edge-TTS, and ADB.

Python Version AI Engine Voice Engine Bridge License Platform

CallVox Live Audio Visualizer

✨ Key Features β€’ πŸ—οΈ Architecture β€’ ⚑ Quick Start β€’ 🎧 Audio Setup β€’ πŸ–₯️ Desktop GUI β€’ βš™οΈ Configuration β€’ πŸ€– AI Personas


πŸ’‘ Why This Project?

Most AI phone calling systems require costly cloud telephony services (Twilio, Vonage, Plivo, SIP trunks) with per-minute fees, regulatory caller-ID verification hurdles, and carrier restrictions.

CallVox AI bypasses all VoIP aggregators entirely. It bridges your PC directly to an Android Smartphone using hardware audio channels and ADB (Android Debug Bridge). Your AI agent answers and places real cellular phone calls directly through your standard mobile SIM plan with zero carrier fees!

      ╔══════════════════════════════════════════════════════════════════╗
      β•‘                     NO TWILIO. NO VOIP FEES.                     β•‘
      β•‘       Real SIM Calls β€’ Real Phone Numbers β€’ Sub-second Voice     β•‘
      β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

✨ Key Features

Feature Description Highlight
πŸ“ž Direct Cellular Calls Inbound auto-answering and autonomous outbound dialer directly over your Android carrier. Zero VoIP Costs
🧠 Gemini LLM Brain Powered by high-speed Google Gemini models for conversational reasoning and intent analysis. Sub-Second Latency
πŸ—£οΈ Ultra-Realistic Neural TTS Microsoft Edge Neural Voice synthesis with human-like breathing, cadence, pitch, and speed. 100+ Natural Voices
πŸŽ›οΈ Modern Desktop GUI Sleek Cyberpunk/Glassmorphic dashboard with live audio visualizers, call logs, & transcripts. Native pywebview App
πŸ”„ Live Call Summaries & CRM Real-time audio transcription, caller intent classification, and structured SQLite history logs. Full CRM Export
πŸ“Ά USB & Wireless ADB Works over standard USB-C cable or Wi-Fi 5GHz for seamless wireless untethered calling. Flexible Connectivity
πŸŽ™οΈ Dual Audio Architecture Supports Bluetooth Hands-Free Profile (HFP), 3.5mm TRRS Splitters, or Virtual Audio Cables. Zero Echo & Lag
🎭 Dynamic AI Personas Configurable prompts for customer support, appointment booking, medical reception, or sales outreach. Instant Customization

πŸ—οΈ System Architecture

flowchart LR
    subgraph Mobile["πŸ“± Android Device (Cellular Network)"]
        A[πŸ“ž Carrier Incoming / Outgoing Call] --> B[ADB Telephony Controller]
        A <--> C[πŸ”Š Mic / Speaker / Bluetooth Audio]
    end

    subgraph HardwareBridge["⚑ Audio & Control Bridge"]
        C <== "Bluetooth HFP / 3.5mm AUX / USB Audio" ==> D[🎧 SoundDevice Audio Router]
        B <== "USB / Wi-Fi ADB Commands" ==> E[πŸ“± Phone Controller]
    end

    subgraph PC["πŸ’» Desktop AI Core & Desktop GUI"]
        D <--> F["πŸŽ™οΈ STT & Voice Activity Detector (VAD)"]
        F --> G["🧠 Google Gemini LLM Engine"]
        G --> H["πŸ—£οΈ Edge-TTS Neural Voice Synthesizer"]
        H --> D
        
        E <--> I["πŸ–₯️ Native Dashboard UI (pywebview)"]
        G --> J[("πŸ—„οΈ SQLite Database (Transcripts & CRM)")]
        I <--> J
    end

    style Mobile fill:#111927,stroke:#00f2fe,stroke-width:2px,color:#fff
    style HardwareBridge fill:#1a1429,stroke:#9d4edd,stroke-width:2px,color:#fff
    style PC fill:#0b0f17,stroke:#4caf50,stroke-width:2px,color:#fff
Loading

🎧 Audio Routing Blueprint

To conduct bidirectional phone conversations, audio is bridged between the Android phone and your PC:

                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚                 TWO-WAY AUDIO PATH               β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

 [Caller's Voice] ──> [Phone Audio Out] ──> [PC Audio In (STT)] ──> [Gemini LLM]
                                                                          β”‚
 [Caller Hears]   <── [Phone Mic In]    <── [PC Audio Out (TTS)] <β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Supported Setup Options:

Setup Method Connection Type Latency Complexity Recommended For
πŸ”΅ Bluetooth HFP Wireless (Hands-Free Profile) ~120ms ⭐ Easy Everyday convenience, completely wireless
πŸ”Œ 3.5mm AUX + TRRS Splitter Wired analog audio cables <10ms ⭐⭐ Medium Studio quality, zero interference
🎚️ Virtual Audio Cable Software routing (VB-Cable / VoiceMeeter) ~30ms ⭐⭐⭐ Advanced Power users & custom microphone setups

⚑ Quick Start

πŸ“‹ Prerequisites

  • Python 3.10+ installed
  • Android Phone (Android 9.0+) with Developer Options enabled
  • Google Gemini API Key (Get free key here)
  • ADB (Bundled in scrcpy-win64 or system-wide)

1️⃣ Clone & Install

# Clone the repository
git clone https://github.com/YOUR_USERNAME/CallVox-AI.git
cd CallVox-AI

# Create virtual environment
python -m venv venv
# Windows:
.\venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

2️⃣ Configure Environment

Copy the example configuration file:

# Windows
copy .env.example .env

# Linux / macOS
cp .env.example .env

Open .env and fill in your Gemini API Key:

GEMINI_API_KEY=AIzaSyYourGeminiApiKeyHere
AI_VOICE=en-US-JennyNeural
SYSTEM_PROMPT=You are an expert AI receptionist for Apex Solutions. Be polite, concise, and helpful.

3️⃣ Connect Your Android Device

Option A: Standard USB (Easiest)

  1. Enable USB Debugging in Settings > Developer Options.
  2. Connect your phone via USB cable and tap Allow Debugging.
  3. Verify connection:
    python main.py --check-adb

Option B: Wireless Debugging (Android 11+)

# Pair device (Only once)
python main.py --pair-wireless <PHONE_IP> <PAIR_PORT> <6_DIGIT_CODE>

# Connect wirelessly
python main.py --connect-wireless <PHONE_IP>:5555

4️⃣ Launch the Application

πŸ–₯️ Launch Desktop Dashboard (Recommended):

python app.py

πŸ’» Or Run from Command Line:

# 1. Check Version & Environment
python main.py --version

# 2. Check Device & Telephony Connection
python main.py --check-adb

# 3. Start Auto-Answer Inbound Call Daemon
python main.py --monitor

# 4. Place an Autonomous Outbound Call
python main.py --outbound "+1234567890"

# 5. View Live Call History & CRM Summaries
python main.py --history

# 6. List Available Audio Devices
python main.py --list-audio

πŸ–₯️ Desktop Control Center

The built-in desktop control panel offers full real-time telemetry and control:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ⚑ CALLVOX AI  β”‚  Device: [● Pixel 8 Pro - Connected]  β”‚  Status: [IDLE]   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                             β”‚
β”‚   [ πŸ“ž DIALER ]           [ πŸŽ™οΈ AUDIO VISUALIZER ]        [ πŸ“œ LIVE TRANSCRIPT]β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚   β”‚ +1 (555) 01 β”‚        β”‚   β–‚ β–ƒ β–… β–† β–ˆ β–‡ β–… β–ƒ β–‚     β”‚   β”‚ Caller: Hello?    β”‚β”‚
β”‚   β”‚ [  CALL  ]  β”‚        β”‚   Sampling Rate: 16kHz  β”‚   β”‚ AI: Hi, how can I β”‚β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚ help you today?   β”‚β”‚
β”‚                                                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚   [ πŸ“Š RECENT CALLS ]                                                       β”‚
β”‚   β€’ +1-202-555-0199  β”‚  Duration: 02:14  β”‚  Intent: Support Inquiry        β”‚
β”‚   β€’ +1-415-555-0142  β”‚  Duration: 01:05  β”‚  Intent: Appointment Scheduled  β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • 🎚️ Live Audio Waveforms: Visual inspection of voice activity and microphone input gating.
  • πŸ“± One-Click Dialing: Type or paste any number to launch an outbound AI conversation.
  • πŸ“ Live Transcript Stream: Real-time multi-turn conversation display.
  • πŸ”‹ Battery & Signal Telemetry: Real-time status sync via ADB.
  • πŸ—ƒοΈ Searchable CRM Database: Filter, review, replay, and export call records.

βš™οΈ Configuration & .env

Key Description Default
GEMINI_API_KEY Google Gemini API Key (Required)
AI_VOICE Microsoft Edge TTS voice model identifier en-US-JennyNeural
AI_LANGUAGE Default speech recognition and response language en-US
AUDIO_INPUT_DEVICE Sound device index/name for Phone Audio Input default
AUDIO_OUTPUT_DEVICE Sound device index/name for AI Voice Output default
AUTO_ANSWER_DELAY Seconds to wait before answering an incoming call 2.0
RECORD_CALLS Save high-definition audio recordings of calls true
ADB_MODE Connection mode (USB or WIRELESS) USB

πŸ€– Custom AI Personas

Change your AI's identity instantly by updating SYSTEM_PROMPT in .env or in the desktop dashboard:

🏒 Corporate Receptionist & Secretary
You are Sarah, the executive virtual assistant for Nexus Tech. 
Your goal is to warmly welcome callers, inquire about their needs, answer general business questions, and take clear messages or schedule appointments. Keep answers polite, helpful, and concise.
πŸ₯ Dental / Medical Clinic Scheduler
You are Alex, the appointment receptionist at BrightSmile Dental Clinic.
Help callers schedule, reschedule, or cancel dental checkups. Confirm their full name, preferred date, and contact number. Keep a reassuring, professional tone.
πŸ• Restaurant Order & Reservation Bot
You are Mario, the digital concierge at Bella Italia Bistro.
Take table reservations (asking for party size, date, and time), answer menu and dietary questions, and provide opening hours. Keep answers energetic, concise, and friendly.

πŸ› οΈ Tech Stack


πŸ›‘οΈ Privacy & Compliance Notice

Important

This software is designed for legitimate automation, personal productivity, customer service, and accessibility use cases.

  • Call recording and automated telephony laws vary across states and countries (One-Party vs Two-Party Consent).
  • Always ensure you comply with local regulations (such as TCPA in the US, GDPR in the EU, or equivalent local telecommunications acts) and inform callers when calls are recorded or powered by AI.

🀝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


Made with ❀️ by AI Enthusiasts β€’ Star ⭐ this repository if you find it helpful!

About

πŸ“±βš‘ Autonomous, zero-VoIP AI voice calling system bridging Android SIM cards directly to Google Gemini LLM & Microsoft Edge Neural TTS over ADB. Real-time inbound auto-answering, outbound dialer, and live desktop dashboard.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages