An end-to-end, multi-stage speech intelligence pipeline that converts raw audio into high-confidence transcripts, detailed acoustic profiles, PII-redacted text, and schema-validated structured semantic reports.
EarsToText-Intelligence-Engine provides a full-spectrum audio analytics platform designed for compliance-sensitive environments, customer interaction analysis, and automated triage.
The pipeline combines whisper-based ASR with signal-processing acoustic algorithms (librosa), strict local regex-based PII redaction, and schema-validated LLM extraction (instructor) to extract both what was said and how it was said safely and accurately.
[ Raw Audio Input ]
│
▼
┌───────────────────────┐
│ ASR Engine │ ► faster-whisper + Silero VAD
│ │ ► Segment & word-level confidence + timestamps
└──────────┬────────────┘
│
┌─────┴────────────────────────┐
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ Acoustic Analytics │ │ PII Redaction Engine │
│ ► Frame-level RMS │ │ ► Pre-LLM scrubbing │
│ ► PyIN Pitch (F0) │ │ ► Emails, phones, SSNs│
│ ► Jitter & Shimmer │ │ ► Dosages & accounts │
│ ► Cross-talk regions │ └──────────┬──────────────┘
└─────────────────────────┘ │
▼
┌─────────────────────────┐
│ Semantic Analytics │
│ ► Instructor + LLM │
│ ► Urgency Triage │
│ ► Structured JSON │
└──────────┬──────────────┘
│
▼
┌─────────────────────────┐
│ Streamlit Dashboard │
│ ► Heatmaps & Metrics │
│ ► Capability Registry│
└─────────────────────────┘
- Powered by
faster-whisperwith integrated Voice Activity Detection (VAD) filtering. - Extracts segment-level and word-level timestamps with token confidence scores.
- Voice Quality Metrics: Uses
librosa.pyinfor fundamental frequency tracking, computing exact jitter (pitch instability) and shimmer (amplitude variation). - Cross-Talk & Energy Spike Analysis: RMS-based frame evaluation detects audio clipping, loud energy bursts, and potential cross-talk regions across overlapping segments.
- Deterministic & Privacy-First: Redacts sensitive Personal Identifiable Information (PII)—including email addresses, phone numbers, SSNs, financial account IDs, and medical dosages—before sending text off-device.
- Built with
instructoron top of OpenAI models to force strictly validated outputs. - Extracts key entities, technical jargon, urgency triage levels, and actionable call summaries.
- Real-time transcript visualization with word-confidence heatmaps.
- Capability Registry Pattern: Explicitly surfaces engine state (active vs. unconfigured modules like diarization or supervised emotion) rather than silently failing.
- Pre-LLM Redaction: PII scrubbing runs locally prior to calling external LLM APIs to guarantee privacy and regulatory compliance.
- Decoupled Acoustic Signal Analysis: Voice quality indicators (RMS, jitter, shimmer) run independently of text transcription, ensuring acoustic metrics remain unskewed by language models.
- Schema Enforcement over Prompting: Leveraging
instructorguarantees structured JSON output matching exact Pydantic schemas.
- Python 3.9+
- FFmpeg installed on your system path (required for audio decoding via
librosa/whisper)
- Clone the repository:
git clone [https://github.com/imskipper/EarsToText-Intelligence-Engine.git](https://github.com/imskipper/EarsToText-Intelligence-Engine.git)
cd EarsToText-Intelligence-Engine
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up Environment Variables:
Create a
.envfile in the root directory:
OPENAI_API_KEY=your_openai_api_key_here
Run the Streamlit web application:
streamlit run web_app/main.py
Execute the unit test suite:
pytest
| Feature | Status | Implementation Details |
|---|---|---|
| VAD & ASR | ✅ Active | faster-whisper + Silero |
| Pitch & Jitter Analysis | ✅ Active | librosa.pyin RMS frame analysis |
| PII Redaction | ✅ Active | Local regex-based deterministic scrubber |
| Structured LLM Triage | ✅ Active | instructor + Pydantic validation |
| Speaker Diarization | 🟡 Roadmap | Extension point stubbed for pyannote.audio integration |
| Supervised Emotion Models | 🟡 Roadmap | Currently powered by energy/RMS heuristics |
This project is licensed under the MIT License - see the LICENSE file for details.