Documentation Index
Fetch the complete documentation index at: https://docs.sf-voice.sh/llms.txt
Use this file to discover all available pages before exploring further.
voice.query() accepts a plain English description of what you’re looking for across your call corpus. You don’t write filters or SQL — you describe a signal, and Mise maps it to the acoustic and semantic features indexed at every turn.
Basic syntax
Every query follows the same form:Example queries
The table below shows how plain English maps to the acoustic dimensions Mise indexes.| Query | What it finds |
|---|---|
"calls where the agent interrupted the caller" | Rhythm: interruption events |
"calls where the caller expressed frustration" | Tension: frustration signal |
"calls that ended without a resolution" | Outcome: no_action or escalated_unresolved |
"calls where the agent paused too long" | Prosody: pause duration |
"calls where the caller sounded uncertain" | Tone: hesitancy |
"calls where the caller asked to cancel" | Intent: cancellation intent |
"calls with high tension in the first 2 minutes" | Tension: early escalation |
"calls where both parties talked at the same time" | Rhythm: overlap |
Targeting acoustic features
You can query any of the five acoustic dimensions Mise indexes: tone, prosody, tension, rhythm, and intent. Name the signal in plain language — Mise resolves it to the indexed feature.Tone
Tone
Tone queries target sentiment, irony, sarcasm, and emotional coloring.
Prosody
Prosody
Prosody queries target pace, pauses, emphasis, and volume dynamics.
Tension
Tension
Tension queries target frustration signals, escalation patterns, and de-escalation arcs.
Rhythm
Rhythm
Rhythm queries target interruptions, overlap, turn-taking cadence, and conversation flow.
Intent
Intent
Intent queries target what the caller actually wanted, regardless of what they literally said.
Targeting outcomes
Outcomes are resolved at the end of a call. You can query by what happened — or what didn’t. Outcome queries describe what happened at the end of the call. You can filter by resolution, escalation, cancellation, or lack of action.Outcome is determined by post-call summarization, not real-time detection. Queries targeting outcomes search completed calls only.
Combining conditions
You can combine multiple signals in a single query using natural language conjunctions.Scoping by time and duration
You can scope queries to a time window or a minimum call length.Scoping to a party
When the signal is specific to one side of the conversation, name the party explicitly.Results format
Every query returns three things:Ranked calls
Individual calls ordered by relevance. Each result includes the call ID, timestamp, outcome, sentiment score, and a summary.
Defect signature clusters
Automatically grouped patterns across the matched calls. For example, 1,284 matches might cluster into six signatures such as “Agent interruption during complex requests” or “Caller frustration without resolution.” Use these clusters to prioritize fixes across your corpus rather than addressing individual calls.
Writing effective queries
Be specific about the signal
“Calls where the caller sounded frustrated” returns tighter results than “bad calls.” Name the acoustic dimension you care about.
Name the party
Specify “caller” or “agent” when the signal is one-sided. Unattributed queries match either party.
Include a timeframe
Add “from last week” or “in the past 24 hours” when investigating a specific incident or deployment window.
Use outcome language
Describe what happened at the end of the call — “ended without a resolution,” “was escalated,” “caller cancelled” — to filter by outcome.