# Use a different voice for each line

Voice resolves through six layers, narrowest last: the workspace setting, the default profile, a profile chosen by the line's purpose, a profile pinned to the number, a profile set on the contact, and finally the draft a Voice Lab test call is running. Pin by purpose when several lines do the same job; pin by number when one line is genuinely different.

- **Status:** Available
- **Audience:** both
- **Channels:** phone
- **In the app:** #/calls, #/phone-advanced
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/how-to/use-a-different-voice-per-line/

## What a profile actually contains

The realtime engine is speech-to-speech, so a profile is not a synthesiser preset and there is no pitch dial behind it. Every setting is one of two kinds, and the Voice Lab says which kind each one is, because they fail in different ways.

**Engine knobs** — Real session parameters: the model, the voice, a pinned language code, temperature, reply length, end-of-speech silence, interruption thresholds, noise cancellation and the hang-up timers. Change one and the session behaves differently.
**Steering knobs** — Speed, pitch, energy, warmth, emotion, pauses, fillers, formality, humanness, accent and pronunciation. These become lines of instruction. The model follows them the way it follows any instruction — usually, not mechanically.
**Behaviour text** — Role, goal, tone, knowledge, rules, what to ask and never ask, objection handling, escalation, opening, closing and language switching. This is what makes a service line sound like a service line.

> **Careful** A steering knob is a request, not a guarantee. If a line must never do something, write it as a rule in the behaviour text and check the call review for breaches — do not assume a slider enforced it.

## The resolution order

Six layers, each overriding the one before it. Reading this list top to bottom is the fastest way to answer why a line sounds like something you did not configure.

1. The workspace voice setting — the floor, applied when nothing else matches.
2. The default profile, if the workspace has named one.
3. The profile attached to the line's purpose: `inbound`, `service`, `transactional` or `promotional`.
4. The profile pinned to that line number.
5. The profile on the contact, held as `voice_profile` in the contact's facts.
6. The Lab draft, which applies only while a Voice Lab test call is running.

> **Note** The contact layer is the one people forget. A profile set on one caller months ago outranks everything you have since changed on the line, and it will look like the line ignoring its own settings.

## Setting one up

1. Open Phone, then Setup, then Voice Lab, and start from the profile closest to what you want rather than from nothing.
   - Result: The Lab shows engine knobs and steering knobs separately, so you can see which of your changes will alter the session and which are text for the model.
2. Attach the profile by purpose if several lines share the job, or by line number if this one line is the exception.
   - Result: Purpose is the cheaper choice: adding a third service line later inherits the profile instead of needing its own.
3. Run a Lab test call on that line.
   - Result: The resolved settings are snapshotted onto the call's quality record, so the review afterwards judges what actually ran rather than what is currently saved.
4. Open the review and read the findings before saving the profile as the line's own.
   - Result: Findings that name a control tell you which knob to turn next. Findings marked as model-limited tell you the setting you were about to change would not have helped.

## Proving which profile ran

The snapshot on the call record is the answer, and it is the only one that survives a later edit. If somebody changed the profile this morning, the call from yesterday still carries what it used.

| What you hear | Most likely layer | Where to look |
|---|---|---|
| One caller gets a different voice from everybody else | Contact | The contact's facts, `voice_profile` |
| A whole line differs from its siblings | Line number | The pin on that number |
| Every service line changed at once | Purpose | The profile attached to that purpose |
| Only the last test call differed | Lab draft | The draft, which does not persist to live calls |
| Nothing matches anything you set | Workspace floor | No profile resolved — check the pin exists |

## Questions

### Can I change the voice mid-call?

No. Resolution happens when the session starts and the resolved settings are snapshotted at that point. A change you save during a call applies to the next one.

### Does a different voice cost more?

Voice choice itself is not what moves cost — call length and how much the model speaks are. A profile that produces longer replies costs more than one that does not, which is a reply-length setting rather than a voice.

### What happens if a pinned profile is deleted?

Resolution falls through to the next layer down, which is usually the purpose or the workspace floor. Calls keep working; they stop sounding the way you arranged, which is why the snapshot on each call record is worth reading after any tidy-up.

## Related

- [Voice profiles](https://connectbyjbrh.com/docs/phone/voice-profile/)
- [The Voice Lab](https://connectbyjbrh.com/docs/phone/voice-lab/)
- [Change how Connect sounds on the phone](https://connectbyjbrh.com/docs/how-to/change-the-voice/)
- [Review a call properly](https://connectbyjbrh.com/docs/how-to/review-a-call/)
- [Human voice profiles](https://connectbyjbrh.com/docs/phone/human-voice-profiles/)
- [Add a second phone number](https://connectbyjbrh.com/docs/how-to/connect-a-second-number/)

## What this page is based on

- Connect source pack: phone (docs-source/sources/PHONE.md §6 — the Voice Lab)
- Connect capability registry (docs-source/facts.py — voice_lab, voice_profile)
