Research-Driven Adaptive Voice Intelligence
Production-ready and upcoming voice AI services for your business. Integrate directly via our API or request custom deployments.
RESTful endpoints for all production-ready services
POST /api/v1/analyze
Upload audio, receive gender classification with confidence scores
POST /api/v1/clone
Clone a voice from a reference sample in ES, CA, EU, GL
GET /api/v1/health
Model status, memory usage, GPU availability
Four peer-targeted research papers form the scientific backbone of the Laia platform.
Privacy-preserving distributed voice learning using disentangled LoRA adapters and differential privacy (DP-SGD) to keep voice identities on-device while sharing only style knowledge.
Zero-shot cross-lingual voice cloning leveraging XLS-R encoder across 128 languages. Achieves high-fidelity cloning from just a 10-second reference audio sample.
State-of-the-art 98.89% gender classification accuracy using fine-tuned Wav2Vec 2.0 representations. Production-ready pipeline with sub-100ms inference.
Adaptive voice personalization combining multi-task learning architecture with real-time inference. Unified pipeline from feature extraction to synthesis.
Empirically validated performance benchmarks from published research and real implementations.
Real Coqui XTTS-v2 implementation with zero-shot capability across 128 languages.
Privacy-preserving training framework with formal privacy guarantees.
97.2% reduction via LoRA adapters: 360 MB full model compressed to 6 MB transfer.
Key technical contributions spanning privacy, multilingual voice processing, and real-time synthesis.
ID-LoRA keeps private voice identity on-device; Style-LoRA shares speaking style across the network. True privacy by architecture.
Language-agnostic speaker embeddings via XLS-R enable cross-lingual voice cloning without language-specific training.
Content and timbre are cleanly separated through vector-quantized variational autoencoders for precise voice control.
High-fidelity voice cloning from just a 10-second reference sample with no fine-tuning required.
First-of-its-kind accent detection system covering 8 distinct Spanish regional varieties.
End-to-end inference under 500 milliseconds, enabling natural real-time conversation flow.
Six-module pipeline from audio input to personalized synthesis output.
Rigorously curated multilingual speech corpora spanning multiple languages and speaker demographics.
Production-grade infrastructure built on proven open-source foundations.
Capabilities under active development. Contact us to discuss early access or custom deployment timelines.
Architecture designed, training pipeline prepared. Model training underway.
8 Spanish regional accents. Dataset curated, model architecture finalized.
2,000+ call study planned to validate real-world voice personalization impact.
Mean Opinion Score campaigns for rigorous perceptual quality assessment.
Expanding evaluation to Mandarin, Hindi, and Arabic language groups.
Complete codebase organization with paths to every key component.
backend/
├── main.py # App entry — port 8081
├── requirements.txt # Python deps
├── start.sh # Startup script
└── app/
├── core/
│ ├── config.py # Settings (pydantic)
│ └── audio.py # Audio load/preprocess
├── models/
│ ├── model_manager.py # Lazy model loader
│ ├── gender_model.py # Wav2Vec 2.0
│ ├── age_model.py # CNN+Transformer
│ ├── accent_model.py # XLSR-53
│ ├── emotion_detector.py # Wav2Vec base
│ └── schemas.py # Pydantic models
└── api/
├── routes/
│ ├── analyze.py # POST /analyze
│ ├── voice_clone.py # POST /clone
│ ├── health.py # GET /health
│ └── dev.py # Developer tools
└── caller/
├── intelligence.py # VAPI integration
└── models.py # Caller schemas
frontend/
├── package.json # Node deps
├── next.config.ts # Next.js config
├── public/
│ ├── papers/ # 5 research PDFs
│ └── laia-technology-report.html
└── src/
├── app/
│ ├── page.tsx # Main landing page
│ ├── dashboard/ # Developer dashboard
│ └── api/proxy/ # Backend proxy routes
├── components/
│ ├── ui/ # Shadcn components
│ ├── audio/ # Recording UI
│ └── analysis/ # Results display
├── lib/
│ ├── api.ts # API client
│ ├── types.ts # TypeScript types
│ └── server/
│ └── backendProxy.ts # Proxy util
├── store/
│ └── analysisStore.ts # Zustand state
└── hooks/ # Custom React hooks
src/
├── models/ # Model architectures
├── training/
│ ├── trainer.py # Training loop
│ ├── utils.py # Checkpoints, seeds
│ └── callbacks.py # Early stop, TB
├── data/
│ ├── datasets/ # Dataset classes
│ ├── loaders/ # DataLoader wrappers
│ └── preprocessing/ # Audio processing
└── voice_synthesis/ # XTTS-v2 cloning
config/
├── training_config.yaml # Hyperparameters
└── ab_testing.yaml # A/B test design
scripts/
├── train/ # Training scripts
├── evaluation/ # Eval & benchmarks
└── download/ # Dataset download
reproducibility/docker/
├── docker-compose.yml # Multi-service
├── docker-compose-gpu.yml # GPU version
└── Dockerfile.research # Research env
Complete API reference for integrating Laia Voice AI into your applications. Base URL: http://localhost:8081
/api/v1/analyze
Rate limit: 10/min
Upload audio and receive gender, age, accent, and emotion classification with confidence scores.
Content-Type: multipart/form-data
file: <audio_file> # WAV, MP3, FLAC, OGG, WebM
# Max 10MB, 1-30s duration
# Resampled to 16kHz mono
{
"gender": {
"prediction": "male",
"confidence": 0.989,
"all_probabilities": {"male": 0.989, "female": 0.01}
},
"age": { "prediction": "middle", "confidence": 0.85 },
"accent": {
"prediction": "castellano",
"region": "center",
"region_name": "Castellano (Madrid)",
"confidence": 0.76,
"phonetic_markers": "theta, seseo"
},
"emotion": {
"prediction": "neutral",
"intensity": "medium",
"confidence": 0.82
},
"processing_time_ms": 450,
"audio_info": { "duration_seconds": 5.2 }
}
/api/voice/clone
Rate limit: 10/min
Clone a voice from a reference audio sample. Returns synthesized speech in the cloned voice.
text: "Hola, bienvenido" # max 800 chars
reference_audio: <file> # 10s reference
language: "es" # es|ca|eu|gl
quality_preset: "balanced"
# fast: temp=0.85, top_k=80
# balanced: temp=0.65, top_k=50
# high_quality: temp=0.45, top_k=30
{
"audio_url": "data:audio/wav;base64,...",
"processing_time_ms": 2500,
"model": "xtts_v2",
"sample_rate": 24000,
"quality_metrics": {
"mos_score": 4.21,
"similarity": 0.92,
"naturalness": 0.88
}
}
/health
Health check. Returns model load status and API version.
/api/v1/models
Returns loaded models, versions, and architecture details.
/api/caller/profile
VAPI caller intelligence — full caller profiling for agent personalization.
/api/v1/dev/*
Developer tools: file browser, metrics, model info, file content preview.
Detailed architectures, class names, and specifications for every model in the pipeline.
backend/app/models/gender_model.py — class GenderDetectionModel
Input: Audio (batch, 1, samples) @ 16kHz
↓
Wav2Vec 2.0 Large
facebook/wav2vec2-large
960M params, hidden=1024
↓
Temporal Average Pooling
(batch, time, 1024) → (batch, 1024)
↓
Classifier Head
Linear(1024 → 256) + ReLU + Dropout(0.3)
Linear(256 → 128) + ReLU + Dropout(0.3)
Linear(128 → 3)
↓
Output: [male, female, non-binary]
backend/app/models/age_model.py — class AgeDetectionModel
Input: Audio (batch, 1, samples) @ 16kHz
↓
CNN Feature Extractor
MFCC 40 coefficients
Pitch, rate, energy features
↓
Transformer Encoder
6 layers, 8 heads, hidden=512
↓
Attention Pooling + MLP
1024 → 512 → 256 → 5
↓
Output: [18-25, 26-35, 36-45, 46-55, 56+]
backend/app/models/accent_model.py — class AccentDetectionModel
Input: Audio (batch, samples) @ 16kHz
↓
Wav2Vec 2.0 XLSR-53
facebook/wav2vec2-large-xlsr-53
960M params, multilingual pretrain
↓
Multi-head Attention Pooling
Attention weights: Linear(1024→1)
Softmax over time dimension
↓
Classifier
Linear(1024→512→256→8)
↓
Output: 8 Spanish regional accents
backend/app/models/emotion_detector.py — class EmotionDetector
Input: Audio @ 16kHz
↓
Wav2Vec 2.0 Base
facebook/wav2vec2-base
Hidden size: 768
↓
Attention Temporal Pooling
↓
MLP Classifier
768 → 256 → 128 → 6
↓
Output: [happy, sad, angry,
fear, surprise, neutral]
+ intensity: low|medium|high
backend/app/models/model_manager.py — Singleton pattern, loads models on first /analyze request
Dataset implementations, preprocessing, and training configuration details.
| Task | Gender detection (primary) |
| Speakers | 251 (test) / 2,458 (full) |
| Hours | 100h (test) / 960h (full) |
| Language | English |
| Labels | Male / Female |
| Class | LibriSpeechGenderDataset |
| Path | src/data/datasets/ |
| Task | Accent detection |
| Speakers | 1,850+ |
| Hours | 320h |
| Regions | 8 Spanish accents |
| Source | Mozilla Foundation |
| Class | CommonVoiceDataset |
| Path | src/data/datasets/ |
| Task | Cross-lingual voice cloning |
| Catalan | 45h |
| Basque | 12h |
| Galician | 18h |
| Use | ZeroVoice low-resource eval |
| Task | Age + gender detection |
| Speakers | 110 (48% M, 52% F) |
| Hours | 44h, studio-quality |
| Age range | 18-77 years |
| Quality | Studio recording, 48kHz |
Everything you need to run the Laia platform locally or in Docker.
# Core ML
torch >= 2.0.0
torchaudio >= 2.0.0
transformers >= 4.33.0, < 4.40.0
datasets >= 2.14.0
# FastAPI
fastapi >= 0.109.0
uvicorn[standard] >= 0.27.0
pydantic >= 2.5.0
pydantic-settings >= 2.1.0
slowapi >= 0.1.9
# Audio
soundfile >= 0.12.1
librosa >= 0.10.0
# Voice Synthesis
TTS >= 0.22.0 # Coqui XTTS-v2
# Data Science
numpy, pandas, scipy, scikit-learn
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python main.py # → http://localhost:8081
# Core
next: 16.1.6
react: 19.2.3
typescript: 5
# UI & Styling
tailwindcss: 4
shadcn: 4.0.0
lucide-react: 0.577.0
framer-motion: 12.35.1
# State & Data
zustand: 5.0.11
recharts: 3.8.0
# Utilities
class-variance-authority: 0.7.1
clsx: 2.1.1
tailwind-merge: 3.5.0
cd frontend
npm install
npm run dev # → http://localhost:4300
Multi-service Docker Compose setup at reproducibility/docker/
docker-compose up demo
FastAPI on :8000
docker-compose up training
GPU training service
docker-compose up tensorboard
TensorBoard on :6006
docker-compose up laia-research
Jupyter on :8888
The researchers and engineers behind Laia Voice AI Platform.
Research Lead
Engineering
Laia Smart Solution SL
Zaragoza, Spain