Skip to content

linuxscout/festival-tts-arabic-voices

Repository files navigation

Arabic voices for Festival TTS

HTS Arabic voice for Festival TTS: is an arabic voice trained by HTS technologie to work on Festival TTS system.

The voice is HMM trained on Nawar Arabic Speech Corpus.

Features value
Authors Authors.md
Release 1.0
License GPL
Tracker linuxscout/festival-tts-arabic-voices/Issues
Source Github

Samples

Demo online

You can test the voice with diacritics on: http://ar.arabicspeechcorpus.com/

Setup

Debian/Ubuntu Linux

  1. Install necessary packages:
sudo apt-get install festival
sudo apt-get install htsengine

You can install Festival from pakcage manager from your linux distribution. Festival exists on Windows also.

You can test festival by

$festival
$festival>(voice.list)
  1. Clone festival-tts-arabic-voices project from GitHub:
git clone https://github.com/linuxscout/festival-tts-arabic-voices.git
  1. Install voice:
cd festival-tts-arabic-voices
make install

Install server under Docker

A Docker image for a relatively light-weight full Arabic speech synthesis system

Usage

$echo "السلام عليكم " |festival --tts --language arabic

or

echo "السَّلَامُ عَلَيْكُمْ" | text2wave -eval "(voice_ara_norm_ziad_hts)"  -o /tmp/out.ar_ziad.w

Diacritizer

In order to improve arabic Text to Speech, we propose to use a diacritizer. Arabic text comes usaully without short vowels, for this reason, we need to add short vowels to it, this process is called diacritizion.

The Idea is to use diacritizer as a wraper, it take text, diacritize it, before passing by the TTS system.

We will use Mishkal: open source Arabic text diacritizer; Mishkal is written by Python langaue, it's open source. it has console, desktop and web interfaces.

We will use i as console command.

To install it, download it from http://mishkal.sourceforge.net, in many packaging versions for your distribution, or get it from github.

$ git clone https://github.com/linuxscout/mishkal.git

copy the files into a directory, I choose here to put it in my home user directory

/home/me/mishkal-master/

You need to install requirments

pip install /home/me/mishkal-master/requirements.txt

You can test it by python 2.7 or python3

To test it with text

$python mishkal-master/bin/mishkal-console.py  "السلام عليكم"
 السِّلَام عَلَيْكُمْ

Also, You can run it as web server, this option allow you to run it like the online website

$python mishkal-master/interfaces/web/mishkal-webserver.py
serving on 0.0.0.0:8080 view at http://127.0.0.1:8080

Then, run your browser on URL : http://127.0.0.1:8080

The webserver provide an API, to be used for developement of other apps.

Integration

Now, we can proceed to integrate Diacritizer with TTS.

First, we test Festival TTS with Mishkal by using pipe

$mishkal "مرحبا أهلا بكم" |text2wave -eval "(voice_ara_norm_ziad_hts)" -o /tmp/out.ar_ziad.wav
$play /tmp/out.ar_ziad.wav

Similar Projects

Tutorials

Configure Screen reader

https://linuxscout.gitbooks.io/arabic-text-to-speech-integration/content/

Add a shortcut for festival TTS to read selection

https://www.youtube.com/watch?v=4uKTamXonPs