Header Image

2. Technical Documentation


2.1 System Architecture Overview

IVoice follows a modular dual-process architecture:
 
Unity (Controller, UI, Feedback, Logging)
  |─ Captures live microphone audio
  |─ Streams PCM frames to Python
  |─ Receives real-time metrics
  |─ Computes deviations + panel stats
  |─ Runs alert policy
  |─ Renders adaptive feedback

Python (Calibration, Estimation)
  |─ Parses incoming audio frames
  |─ Performs pitch/loudness estimation
  |─ Performs VAD gating
  |─ Computes jitter/shimmer/HNR/CPP/CPPS
  |─ Emits one JSON result per frame
            
Communication is unidirectional:

2.2 Unity Side-Architecture

Unity implements real-time streaming, calibration, visualization, and alert policy. Key components live in:
 
Assets/Scripts/Unity/
        |─ Core/         # Voice capturing, streaming, policy determination, logging
        |─ Interfaces/   # Core abstractions
        |─ UI/           # Visualization
            
Core/
2.2.1.1 RealTimeVoiceAnalyzer.cs (Primary Controller)
Responsibilities: This is the central orchestrator of the Unity pipeline.

2.2.1.2 VoiceCalibration.cs
Responsibilities:
2.2.1.3 VoiceSessionLogger.cs
Writes per-frame metrics

Interfaces/
2.2.2.1 Abstractions.cs
The file defines:

2.3 Python-Side Architecture

Performs all the signal processing and heavy feature extraction.
 
Assets/Scripts/Python/
            
2.3.1 real_time_stream.py
Handles:
2.3.2 calibration_analysis.py
Provides:
Uiowa