---
title: "Arabic Text to Speech: Diacritics and Direction Guide"
description: "How Arabic text to speech handles right-to-left direction and optional harakat, which local models list Arabic, and a step by step prep workflow."
canonical: "https://www.murmurtts.com/blog/arabic-text-to-speech-guide"
---
[Murmur](https://www.murmurtts.com/)/[Blog](https://www.murmurtts.com/blog)/Guide

Guide

# Arabic Text to Speech: Diacritics and Direction

Arabic text to speech depends on right-to-left direction and optional diacritics. See which local models list Arabic and a practical prep workflow.

![](https://www.murmurtts.com/murmur-icon.webp)Murmur·November 2, 2026·9 min read[Buy $49](https://murmur-licenses.tarunyadav9761.workers.dev/checkout)[Download free for Apple Silicon (3-day Pro trial)](https://murmur-updates.tarunyadav9761.workers.dev/download/latest)Intel Mac? [Download here](https://murmur-updates.tarunyadav9761.workers.dev/download/intel).Not sure? Apple menu > About This Mac shows your chip.

Free plan with Kokoro voices, scripts up to 1,500 characters · 3-day Pro trial, then $49 once

On this page

Why Arabic is a hard language for text to speechDirection: right to left text, logical order, and mixed contentDiacritics: how harakat change which word is spokenWhich local models list ArabicA practical Arabic text to speech workflowWhat to verify rather than assumeWhen Murmur is not the right choiceFrequently asked questions

[Back to the journal](https://www.murmurtts.com/blog)

**Short answer:** Arabic text to speech turns written Arabic into spoken audio, and two properties decide how faithful the result sounds: direction and diacritics. Arabic is written and read right to left, so a model has to keep embedded numbers, Latin words, and punctuation in the correct order, and ordinary Arabic text usually omits the short vowels (harakat) that a human reader restores from context. A model either infers those vowels correctly or reads the wrong word aloud.

This guide is for anyone preparing Arabic narration, voiceover, e-learning, or dubbing with a local text to speech model on a Mac. It explains what actually goes wrong, which models in a local catalog list Arabic, and a repeatable prep workflow you can run on your own text. Murmur is a local voice studio for Apple Silicon and Intel Macs used here as the concrete example, but the direction and diacritics advice applies to any Arabic TTS engine. If your goal is timing Arabic narration to picture, the [AI dubbing workflow for Mac](https://www.murmurtts.com/blog/ai-dubbing-for-videos-on-mac) covers that step separately.

## Why Arabic is a hard language for text to speech

Arabic is an abjad. Its letters encode consonants and long vowels, while the short vowels are written as optional marks called harakat (also spelled tashkeel). Everyday writing, from news copy to chat messages, leaves those marks out because a fluent reader recognizes the word from context and grammar. A text to speech model does not have a reader's lifetime of exposure to draw on, so it has to guess the vowels from the surrounding words.

The guess is not trivial, because changing the vowels changes the word. The three consonants k, t, and b form كتب. Add short vowels and you get كَتَبَ (kataba, he wrote) or كُتُب (kutub, books). The letters are identical and only the diacritics differ. Multiply that pattern across the language and you get a long list of homographs that a model can only disambiguate from context or from explicit harakat.

Arabic letters also change shape according to their position in a word, taking isolated, initial, medial, or final forms, and the script is cursive, so letters join wherever the script allows. The W3C Arabic layout requirements describe this joining behaviour in detail. For speech this is mostly a display concern, because the engine receives Unicode letters and works from those, but it explains why copying text out of some tools can scramble it before the model ever sees it.

Two more wrinkles matter. First, Arabic uses several numeral systems: European digits (0 to 9), Arabic-Indic digits (٠ to ٩) common across much of the eastern Arab world, and Eastern Arabic-Indic digits (۰ to ۹) used in Iran and Afghanistan. Which set a model reads, and how it reads decimal and thousands separators, depends on the model. Second, spoken Arabic contains many regional dialects that differ from Modern Standard Arabic (MSA). Most models target MSA, so a dialect script may come out sounding formal or simply wrong.

## Direction: right to left text, logical order, and mixed content

Arabic runs right to left, but software stores text in logical order, the order a person types and reads, and only reorders it for display. The Unicode Bidirectional Algorithm (UAX #9) defines how left to right runs, numbers, and neutral characters such as spaces and punctuation are arranged when the two directions meet. Arabic letters belong to a right to left class, while European digits are read from left to right even inside an Arabic sentence.

For speech generation the practical point is small but important: feed the model the logical order of the characters, which is what you get from a normal editor, and do not paste a string that a display layer has visually reordered. If your Arabic text contains English product names, model numbers, or URLs, test those specifically, because that is exactly where bidirectional surprises appear.

Digits and symbols follow their own rules. Per the W3C guidance, numbers are written left to right even inside a right to left paragraph, currency signs often sit to the left and attach to the number, and the decimal and thousands separators differ by region. When you need one specific reading, writing the number out as words removes the ambiguity entirely.

## Diacritics: how harakat change which word is spoken

Harakat are the short vowel marks: fatha, kasra, damma, sukun, and the doubling mark shadda, among others. The same way an English reader knows how to say lead from context, an Arabic reader restores the vowels they cannot see. A TTS model performs the same inference, with less certainty.

The fix is not to diacritize every word. It is to diacritize the words where the wrong reading is likely or costly. Proper names, place names, technical terms, and homographs are the first candidates. The W3C Arabic layout notes that using diacritics for vowel information is unusual in normal Arabic script text, and that when they are used, the combining marks attach to their base character and should not be separated. Keep those marks attached while you edit, and make sure a copy and paste step does not drop them.

How much a specific engine benefits from harakat is a property of that model, not a universal rule, so treat full diacritization as a tool you test rather than a guarantee. A reliable pattern is to keep one test sentence with known harakat, generate it, and compare the reading before and after you add the marks.

## Which local models list Arabic

A local model catalog changes over time, so always confirm the current list in your app before you download. In Murmur's catalog at the time of writing, three downloadable models list Arabic and the bundled fast model does not.

| Model in Murmur | Arabic in the catalog | Best for | Notes |
| --- | --- | --- | --- |
| Chatterbox Multilingual | Yes, listed as Arabic (ar) | Voice cloning across 23 languages, Arabic included | A 500M multilingual model. Keep the reference clip in Arabic so the output does not inherit another language's accent. |
| Fish Audio S2 Pro | Yes, Arabic is among its listed languages | Expressive narration with cloning | A larger download. On a 16 GB Mac the app resolves to the lower-memory variant for reliable generation. |
| OmniVoice | Yes, Arabic is listed, plus regional language codes | Broad language coverage with zero-shot cloning | Murmur's catalog describes it as covering hundreds of languages; use the extended language codes when you need a specific variety. |
| Kokoro (bundled) | Not listed | English and several other languages, not Arabic | Kokoro is the small bundled fast model. For Arabic you download a multilingual model from the catalog. |

Two takeaways. Kokoro is the lightweight bundled model and it does not list Arabic, so expect to download a larger multilingual model for Arabic work. Among the three that do, the decision is mostly about how much you value cloning quality, expressiveness, and memory footprint, not about whether Arabic works at all.

## A practical Arabic text to speech workflow

1. Choose your register first. Modern Standard Arabic is the safe default for narration, documentation, and instructional audio. A regional dialect needs a model that lists the relevant variety and a reference voice recorded in that dialect.
2. Prepare the text and add harakat where ambiguity is costly: names, homographs, and technical terms. Leave the rest as it is written.
3. Decide on digits once and stay consistent. Pick European digits or Arabic-Indic digits, and check how the model reads the decimal and thousands separators you use.
4. Test embedded Latin and brands. Product names, model numbers, and URLs are where right to left and left to right content meet, so generate a line that contains each one.
5. Select the model by task. For plain narration, choose by voice. For cloning, Chatterbox Multilingual or OmniVoice are the catalog entries that list Arabic.
6. For cloning, record the reference clip in Arabic. The Chatterbox project notes that a reference clip in a different language can make the output inherit the reference accent.
7. Set the language explicitly instead of relying on auto detection, so a short line of text is not misread as a different script.
8. Generate, listen to a fixed test sentence, fix the first wrong word, and repeat. Do not rewrite the whole script between attempts.
9. Keep a saved pronunciation test list so you can rerun it after a model or app update and hear what changed.

A single test line shows the whole idea at once:

> Written without harakat: الطفل يقرأ الكتاب Written with harakat: الطِّفْلُ يَقْرَأُ الْكِتَابَ Romanization: aṭ-ṭiflu yaqraʾu al-kitāb (the child reads the book) Minimal pair by diacritics only: كَتَبَ (kataba, he wrote) vs كُتُب (kutub, books)
>
> Example Arabic test script

Generate the unmarked line and the marked line back to back. If the two readings differ, the model is using the harakat you added, and you know diacritizing problem words is worth the effort.

## What to verify rather than assume

Not every engine treats the same input the same way. Normalization, chunking, and how a runtime handles diacritics, digits, and mixed direction strings can differ between models and between versions. Build a short pronunciation test list in Arabic, generate it, and listen. The [local TTS pronunciation test suite](https://www.murmurtts.com/blog/pronunciation-test-suite-local-tts) and the [text normalization guide](https://www.murmurtts.com/blog/text-normalization-local-tts-guide) show how to keep that list useful across updates.

Do not expect an SSML tag or a phoneme override to rescue a word. Murmur does not guarantee SSML support, so the practical controls you have are the text itself: add harakat, change a spelling to force a pronunciation, or split a long sentence into shorter ones. If one word keeps failing, respell it and regenerate just that line.

If you produce Arabic alongside other languages, the same discipline applies. The [multilingual narration guide](https://www.murmurtts.com/blog/qwen3-tts-for-multilingual-narration) covers why a language total is only a first filter, while the [Spanish guide](https://www.murmurtts.com/blog/spanish-text-to-speech) and the [Japanese guide](https://www.murmurtts.com/blog/japanese-text-to-speech) show the script specific checks that matter for their writing systems.

## When Murmur is not the right choice

Murmur is a local macOS voice studio for Apple Silicon and Intel Macs on macOS 15 or later, priced at $49 one-time, with a free plan and a 3-day Pro trial, and a 7-day refund policy. Everything runs on the machine, with no per-character fees and no upload of your script, which fits private or fully offline Arabic narration well.

It is not the right tool if you need a Windows or browser app, an iPhone or Android app, live or real-time streaming voice, or a shared cloud workspace. Murmur also does not do speech-to-text, so it cannot transcribe Arabic audio: you bring Arabic text and get Arabic audio back. Hosted services have real strengths for those cases, including broad voice libraries and team collaboration. If your requirement is a live agent, transcription, or cross-platform access, choose a tool built for it and check the vendor's own pricing page.

## Frequently asked questions

## Sources

- [Unicode Standard Annex #9: Unicode Bidirectional Algorithm](https://www.unicode.org/reports/tr9/)Accessed 2026-10-14
- [W3C Internationalization: Arabic & Persian Layout Requirements](https://w3c.github.io/alreq/)Accessed 2026-10-14
- [Resemble AI: Chatterbox TTS repository and supported languages](https://github.com/resemble-ai/chatterbox)Accessed 2026-10-14

## Generate Arabic speech on your Mac with Murmur

Murmur is a local voice studio for Apple Silicon and Intel Macs running macOS 15 or later. It costs $49 one-time, with a free plan and a 3-day Pro trial, and a 7-day refund policy. Download a multilingual model, bring your Arabic text, and listen to the public samples before buying.

[Buy Murmur · $49](https://murmur-licenses.tarunyadav9761.workers.dev/checkout)[Download free for Apple Silicon (3-day Pro trial)](https://murmur-updates.tarunyadav9761.workers.dev/download/latest)Intel Mac? [Download here](https://murmur-updates.tarunyadav9761.workers.dev/download/intel).Not sure? Apple menu > About This Mac shows your chip.

macOS 15+ · Apple Silicon and Intel Macs · Windows beta · 7-day refund policy

Made for your Mac

## Less reading. More making.

[Buy $49](https://murmur-licenses.tarunyadav9761.workers.dev/checkout)[Download free for Apple Silicon (3-day Pro trial)](https://murmur-updates.tarunyadav9761.workers.dev/download/latest)Intel Mac? [Download here](https://murmur-updates.tarunyadav9761.workers.dev/download/intel).Not sure? Apple menu > About This Mac shows your chip.[Explore Murmur](https://www.murmurtts.com/#product)
