Arabic voices for Festival TTS
The voice is HMM trained on Nawar Arabic Speech Corpus.
You can test the voice with diacritics on: http://ar.arabicspeechcorpus.com/
- 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
- Clone festival-tts-arabic-voices project from GitHub:
git clone https://github.com/linuxscout/festival-tts-arabic-voices.git
- Install voice:
cd festival-tts-arabic-voices. make install
Install server under Docker
$echo "السلام عليكم " |festival --tts --language arabic
echo "السَّلَامُ عَلَيْكُمْ" | text2wave -eval "(voice_ara_norm_ziad_hts)" -o /tmp/out.ar_ziad.w
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
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.
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
- espeak-ng espeak-ng TTS based on formant, it supports Arabic since 1.49 version
- Abdullah Alrajeh Abdullah Alrajeh Arabic TTS for Festival and Flite
- Arabic Tacotron TTS by Youssef Sharief
- Voice on Mozilla