Issue: Turkish TTS Pronounces Numbers in English (...
# support
e
Hi, I’m experiencing an issue with your TTS system when using Turkish as the selected language. Even though the voice and language settings are correctly set to Turkish, the model incorrectly pronounces numbers and mathematical expressions in English. For example: “3+1” is spoken as “three plus one” instead of “üç artı bir” Similar issues happen with other numeric expressions, dates, measurements, and symbols. After investigating, it appears the problem is related to the text normalization layer: Numbers and operators seem to be normalized using an English-centric or universal normalization pipeline, which overrides the intended Turkish locale. This results in incorrect verbalization before the TTS voice model processes the text. Could you please clarify: Does your TTS engine support locale-specific numeric normalization for Turkish (tr-TR)? Is there a way to force the locale for number and symbol verbalization? Can text normalization be disabled or set to verbatim mode? Is there an upcoming update that includes Turkish-specific text normalization rules? I would be happy to provide test samples, logs, or audio outputs if needed. This issue is important for my AI call project, as incorrect number pronunciation affects the naturalness and accuracy of the call flow. Thank you in advance, looking forward to your support.
v
To prevent numbers from being normalized in English, you can disable all voice formatting so the TTS uses the raw LLM output. Add the following to your configuration:
Copy code
json
"voice": {
  "chunkPlan": {
    "formatPlan": {
      "enabled": false
    }
  }
}
This should stop English-centric number normalization and allow Turkish numbers to be pronounced as written. For more details, see the [voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan). Source: - [Voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)
e
I couldn’t find it in the web interface; could you show me exactly where it is, maybe with a photo or something?
@Vapi Support Bot I couldn’t find it in the web interface; could you show me exactly where it is, maybe with a photo or something?
v
Currently, the documentation does not provide a screenshot or step-by-step web interface guide for disabling voice formatting. To disable number normalization, add the following to your configuration (usually in your assistant or project settings):
Copy code
json
"voice": {
  "chunkPlan": {
    "formatPlan": {
      "enabled": false
    }
  }
}
If you cannot find this option in the web interface, you may need to edit your configuration file directly or contact support for UI-specific help. For more details, see the [voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan). Source: - [Voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)
e
there is no chunkPlan in web UI. I think they removed. Contact me a real person @User
v
Currently, the documentation does not show a way to disable voice formatting (
chunkPlan
) from the web UI.
If you cannot find this option, the recommended approach is to edit your assistant's configuration file directly and add:
Copy code
json
"voice": {
  "chunkPlan": {
    "formatPlan": {
      "enabled": false
    }
  }
}
If you still need help, please contact Vapi support through the official support channels listed in the documentation for further assistance. For more details, see the [voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan). Source: - [Voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)
e
write example api code in python for this @Vapi Support Bot
v
To disable voice formatting via the API, you can send a PATCH or PUT request with the following payload. Here’s a generic Python example using the
requests
library:
Copy code
python
import requests

url = "https://api.vapi.ai/assistants/{assistant_id}"  # Replace with your assistant's endpoint
headers = {
    "Authorization": "Bearer YOUR_API_KEY",  # Replace with your API key
    "Content-Type": "application/json"
}
payload = {
    "voice": {
        "chunkPlan": {
            "formatPlan": {
                "enabled": False
            }
        }
    }
}

response = requests.patch(url, json=payload, headers=headers)
print(response.status_code, response.json())
Replace
{assistant_id}
and
YOUR_API_KEY
with your actual values.
For more details, see the [voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan). Source: - [Voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)
e
use vapi library
use vapi library @Vapi Support Bot
v
Currently, the documentation does not provide a direct Python code example using the Vapi library to disable voice formatting. However, you should update your assistant's configuration to include the following structure:
Copy code
python
# Pseudocode: Replace with the actual Vapi library method for updating assistant config
assistant_config = {
    "voice": {
        "chunkPlan": {
            "formatPlan": {
                "enabled": False
            }
        }
    }
}
# Example usage (replace with actual Vapi SDK method):
# vapi.update_assistant(assistant_id, config=assistant_config)
Please refer to the Vapi library's documentation for the exact method to update your assistant's configuration, and use the structure above to disable voice formatting as described in the [voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan). Source: - [Voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)
e
I patched my assistant via chunkplan enabled False but it did not work. What Can I do else? @Vapi Support Bot
v
Since disabling
chunkPlan
did not resolve the issue, try using the replacements feature to manually substitute English number words or patterns with their Turkish equivalents. Add a replacements array to your configuration like this:
Copy code
json
"voice": {
  "chunkPlan": {
    "formatPlan": {
      "replacements": [
        { "type": "exact", "key": "three plus one", "value": "üç artı bir" }
        // Add more replacements as needed
      ]
    }
  }
}
This lets you override specific phrases until a locale-specific fix is available. For more details, see the [voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan). Source: - [Voice formatting plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)
c
Hi Emre Demircan, To address your issue with number normalization in Turkish while using the TTS system, disabling voice formatting completely should prevent the system from applying English-centric normalization. Here's how you can do that:
Copy code
json
{
  "voice": {
    "chunkPlan": {
      "formatPlan": {
        "enabled": false
      }
    }
  }
}
Applying this change will stop the formatting from converting numbers and expressions to English before they reach the TTS engine. If this approach still causes issues, consider utilizing the replacements feature to manually adjust specific expressions. For example:
Copy code
json
{
  "voice": {
    "chunkPlan": {
      "formatPlan": {
        "replacements": [
          { "type": "exact", "key": "three plus one", "value": "üç artı bir" }
          // Add more replacements as needed
        ]
      }
    }
  }
}
This method allows for precise control over how specific phrases are pronounced until a more comprehensive solution is available. For further customization, consult the [Voice Formatting Plan documentation](https://docs.vapi.ai/assistants/voice-formatting-plan).