jarvis-cloud / backend /voice /jarvis_voice_profile.py
Jarvis2345's picture
Squash history β€” remove all prior commits (secret hygiene, S4)
a31f556
Raw
History Blame Contribute Delete
4.49 kB
# backend/voice/jarvis_voice_profile.py
# Β§0.4 β€” JARVIS VOICE PROFILE (Locked Acoustic Target, Single Source of Truth)
# Read by all three engine wrappers. NOTHING else in OMEGA is modified.
JARVIS_VOICE_PROFILE = {
# ── Vocal Identity ─────────────────────────────────────────────────────────
"perceived_age": "35-50",
"vocal_weight": "heavy_chest_resonance",
"nasal_quality": "minimal",
"personality": ["intelligence", "confidence", "patience", "precision", "emotional_restraint"],
"never": ["excited", "rushed"],
# ── Pitch Analysis ─────────────────────────────────────────────────────────
"pitch_hz_avg": 75, # 70–80 Hz target
"pitch_hz_low": 60,
"pitch_hz_high": 95,
"pitch_stability": "very_high", # near-zero modulation vs normal speech variance
# ── Resonance ──────────────────────────────────────────────────────────────
"resonance_emphasis_hz": [(80, 200), (200, 400)], # low freq + low-mid body
"resonance_avoid": ["harsh_highs", "nasality", "excess_brightness"],
# ── Speaking Speed ─────────────────────────────────────────────────────────
"speaking_rate_wpm": 120, # 115–125 WPM target (vs 160–180 casual)
# ── Rhythm / Pause Analysis ────────────────────────────────────────────────
"pause_micro_ms": (150, 300), # within-sentence
"pause_phrase_ms": (400, 700), # between clauses
"pause_major_ms": (900, 1400), # between sentences/ideas
"rhythm_pattern": "calm -> brief_pause -> smooth_continue -> longer_pause_at_boundary",
# ── Intonation ─────────────────────────────────────────────────────────────
"intonation": "near_flat", # β†’ β†’ β†’ β†’ not ↑ ↓ ↑ ↑ ↓ ↑
"declarative_ending": "slight_dip", # authority reinforcement, not question-like rise
# ── Emphasis (never volume-based) ──────────────────────────────────────────
"emphasis_style": ["slight_slowing", "tiny_pitch_drop", "clear_articulation"],
# ── Articulation ───────────────────────────────────────────────────────────
"consonant_clarity": ["T", "K", "P", "D", "S"], # crisp, not over-pronounced
"vowel_style": "smooth_elongated_for_clarity",
# ── Emotional Distribution ─────────────────────────────────────────────────
"emotion_distribution": {
"neutral": 0.70,
"calm": 0.20,
"warm": 0.10,
"excited": 0.0,
"angry": 0.0,
"sad": 0.0,
},
# ── Breathing ──────────────────────────────────────────────────────────────
"breathing": "suppressed", # minimal / edited-out natural breath sounds
# ── Audio Processing Chain ─────────────────────────────────────────────────
"dsp_chain": [
"noise_reduction",
"eq_low_mid_boost",
"compression",
"de_esser",
"limiter",
"subtle_room_reverb",
],
# ── Accent ─────────────────────────────────────────────────────────────────
"accent": "neutral_with_subtle_british_inflection",
}