> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://poly-ai.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://poly-ai.ferndocs.com/_mcp/server.

# Tutorial: Audio management and the cache

> PolyAcademy Level 2 – Manage cached audio, interaction styles, and pronunciation corrections.

**Level 2 – Lesson 5 of 8** – Understand and manage the audio cache for optimal performance.

> **Lesson**
>
> Level 2 · Intermediate · 15 min

[Audio library](/agent-studio/voice/audio-library) controls how TTS output is generated, cached, and replayed. Without understanding caching, teams often think changes "didn't apply" when they're hearing old audio.

## Understanding the audio cache

#### What caching is

Cached audio stores previously generated TTS so it can be replayed instantly, reducing latency and keeping repeated phrases consistent.

#### Cache requirements

Audio is only cached if the **same utterance is generated at least twice in a 24-hour window**.

One-off utterances will *not* persist in cache by default.

## Managing cached audio

#### Open Audio Management

Navigate to **Voice > Audio library** in the platform.

#### Review cached utterances

Check the list of cached utterances:

* Greeting
* Transfer / handoff language
* SMS offer phrasing
* Closings and confirmations

#### Adjust individual utterances

For any high-frequency utterance:

* Open it and review how often it has been used
* Adjust **stability** and **clarity** *for that utterance only* if needed
* Use the **play** button to preview changes

#### Ensure stability for critical phrases

If an utterance must remain stable:

* Generate it multiple times in 24 hours, or
* Upload a static audio file to overwrite the cached version

#### Check your understanding

#### You updated your agent's greeting text and published the change, but callers still hear the old greeting. What is the most likely cause?

* The change wasn't saved before publishing
* The old greeting is still cached – start a new call session to hear the updated audio
* The voice model doesn't support greeting changes
* You need to re-select the agent voice first

**Answer:** The old greeting is still cached – start a new call session to hear the updated audio

Cached audio persists until refreshed. After any voice or phrasing change, start a new call session to confirm you're hearing the updated audio, not a cached version.

## Interaction style (response latency)

Interaction style controls how quickly the agent responds after detecting user speech. This directly affects interruption rate and perceived naturalness.

#### Turbo

**\~400ms latency**

Extremely fast, higher interruption risk.

#### Swift

**\~1200ms latency**

Prioritizes speed.

#### Balanced

**\~1600ms latency**

Default for most use cases.

#### Precise

**\~2000ms latency**

Slower, more deliberate, fewer interruptions.

## Barge-in

#### What is barge-in?

Barge-in determines whether callers can interrupt the agent mid-speech.

#### When to use it

* Useful for Turbo mode
* Can feel chaotic if enabled without careful phrasing and latency tuning

## Pronunciations

Ensure domain-specific terms are spoken clearly and correctly in Call.

Pronunciations are defined in the **Pronunciations** tab under **Voice > [Advanced settings](/agent-studio/voice/advanced-settings#pronunciation)** and applied globally. They modify how text is converted to speech, without changing the underlying text.

### When to use pronunciations

#### Brand names

Product names that are mispronounced

#### Proper nouns

Locations, people, departments

#### Numbers or IDs

Structured read-back requirements

#### Pacing

Phrases where pacing matters for comprehension

### How pronunciations work

Matching is done using **regular expressions**. Replacements can be:

#### IPA

**International Phonetic Alphabet**

For precise pronunciation control

#### SSML

**Speech Synthesis Markup Language**

Such as `<break>` for pauses

#### Regex capture groups

**Pattern matching**

`\1`, `\2`, etc. for reformatting

### Examples

#### IPA correction

**Regex:** `\bLouvre\b`

**Replacement:** `/ˈluːvrə/`

**Case sensitive:** `FALSE`

#### Phone number formatting with pauses

**Regex:** `(\d{3})[ -]?(\d{3})[ -]?(\d{4})`

**Replacement:** `\1 <break time="0.5s" /> \2 <break time="0.5s" /> \3`

### Best practices

#### Incremental

Add pronunciations one at a time

#### Test thoroughly

Test each change in Call before adding more

#### Keep it simple

Prefer clarity over complexity – overly complex regex is hard to maintain

#### Check your understanding

#### When does Agent Studio cache an audio utterance?

* After every conversation
* When the same utterance appears 5+ times in a single session
* When the same utterance is generated at least twice in a 24-hour window
* Only for greetings and sign-off phrases

**Answer:** When the same utterance is generated at least twice in a 24-hour window

One-off utterances don't persist in cache by default. Repetition in the 24-hour window is what triggers caching.

## Verification checklist

> **Tip**
>
> **After any voice or phrasing change:**
>
> * Start a *new* call session
> * Confirm you are hearing updated audio, not a cached version
> * Validate that turn-taking still feels natural after changing latency or barge-in
> * Mispronounced terms are corrected consistently
> * Pauses improve comprehension rather than slowing the call excessively

## Try it yourself

#### Challenge: Fix a mispronounced brand name

Your agent says "Hopper" but it is consistently pronounced incorrectly (sounds like "Hooper"). You also want phone numbers read back with a natural pause between each segment.

Write both pronunciation configurations:

1. IPA correction for "Hopper"
2. Phone number formatting with 0.5s pauses

#### Hint

For the IPA, write out what "Hopper" sounds like phonetically. For the phone number, use regex capture groups to split the digits and insert SSML `<break>` tags.

#### Example solution

**Brand name correction:**

* **Regex:** `\bHopper\b`
* **Replacement:** `/ˈhɒpər/`
* **Case sensitive:** FALSE

**Phone number with pauses:**

* **Regex:** `(\d{3})[ -]?(\d{3})[ -]?(\d{4})`
* **Replacement:** `\1 <break time="0.5s" /> \2 <break time="0.5s" /> \3`

#### Check your understanding

#### You want the agent to respond as quickly as possible, even if it means a higher risk of interrupting users. Which interaction style should you choose?

* Balanced (\~1600ms) – the default for most use cases
* Swift (\~1200ms) – faster responses, lower interruption risk than Turbo
* Turbo (\~400ms) – fastest response, highest interruption risk
* Precise (\~2000ms) – most deliberate, fewest interruptions

**Answer:** Turbo (\~400ms) – fastest response, highest interruption risk

Turbo has the lowest latency at \~400ms, making the agent respond almost immediately. The trade-off is a higher risk of cutting the user off mid-sentence. Use it with care and thorough call testing.

#### [← Previous: Advanced settings](/academy/poly-academy/poly-academy-level-2/response-control)

Lesson 4 of 8

#### [Next: Global ASR →](/academy/poly-academy/poly-academy-level-2/global-asr)

Lesson 6 of 8