Skip to content

vibrato

Standalone Jev-class emotion model: one pass over a message sequence returns calibrated PAD scores, an emotion family and yes/no judgments.

Projectresearch

Overview

Vibrato is an open System One model for reading emotion. In one forward pass over a message sequence, where messages can carry text and/or state snapshots, it returns calibrated probability distributions: Pleasure, Arousal and Dominance scores as 9-bin ordinal distributions, an emotion family choice, yes/no judgments and a confidence flag. It began as the user-emotion front end of a companion AI stack and grew into a general model.

It targets companion AI, chat analytics, moderation, mental-health triage and adaptive interfaces, where the usual approach is an LLM call per message. The runtime is a 1.86M-parameter judgment head on a frozen embedding backbone (the README says e5-small at 118M suffices), with the teacher LLM used only offline. The README reports measured head latency of about 3 ms on CPU int8 and a full path of about 16 ms on GPU or 144 ms on CPU, versus 3.7 to 13.2 s for LLM baselines, and data that never leaves the machine.

What the decision model decides

TypeQuestionAnswers
ScorePleasure, Arousal and Dominance levels (Likert 1 to 9)1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9
ChoiceWhich emotion family does the user express?—
Yes / noYes/no affect judgments (e.g. is the user distressed?)(inferred)yes · no

How it works

  1. Provide a message sequence (text and/or state snapshots).
  2. Run one forward pass through the backbone and judgment head.
  3. Receive PAD distributions, emotion family, yes/no answers and confidence.
  4. Use them in the application; escalate on low confidence.

Strengths

  • Millisecond latency on CPU, per the README.
  • Runs locally; no text leaves the machine.
  • Full distributions rather than point estimates.

Caveats

  • Emotion inference is sensitive; outputs should not be treated as diagnoses.
  • Trained with an LLM teacher; inherits its biases.

At a glance

Type
Project
Status
research
Runtime
local model (CPU or GPU)
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Vibrato output?

PAD score distributions, an emotion family, yes/no judgments and a confidence flag.

How fast is it?

The README reports about 16 ms on GPU and 144 ms on CPU for the full path.

Does it need an LLM at runtime?

No, the teacher LLM is used only offline.

Related projects

  • Mangaba AI's local, calibrated typed-decision model for Portuguese text, trained to optimize the Brier score; proprietary since v5.

    ProjectproductionPython
  • Audio-native Jev-style model: a frozen Whisper encoder encodes speech once and typed questions return emotion and prosody distributions.

    ServiceresearchPython
  • Windows WeChat reply assistant: local offline OCR reads the chat, Jev judges intent and tension and ranks three drafted replies to fill in.

    ProjectproductionPython
  • DeepSeek Harness plugin that classifies each user message's emotion, urgency and department with Jev and injects it as context.

    PluginbetaTypeScript
  • Fork of the jev-chat Windows app adding a key-free local LAYA judgment backend and a DPI-aware screen capture fix.

    ProjectbetaPython
  • Android chat co-pilot that reads the active chat via Accessibility and returns typed verdicts on intent, emotion and risk; never replies.

    AppbetaKotlin