2017-11-15 21:38:06

I'd be interested to learn, but first I need to get a hold of a good microphone and not have any noise in the background. I learned that most internal microphones with noise reduction sound like crap because it distorts the original sound, and it's not really genuine.

Ulysses
AKA Green_Gables_fan and HeavenlyHarmony
My new, self-hosted version of WordPress!

2017-11-15 22:11:31

Writing a tutorial on how to perform every step would be a lengthy undertaking, but the basic procedure is as follows:

* Get a Linux machine (personally I use  a Linode VPS with 8 GB RAM).
* Install the development tools like gcc, GNU make etc.
* Build and install the Edinboro speech tools.
* Build and install Festival.
* Build and install SPTK.
* Build and install Festvox.
* Build and install Flite.
* Find a set of balanced prompts (you can use the Arctic database provided by Festvox as a great starting point). I made my own from a few thousand pages of text taken from public domain books.
* Get a good recording setup and record the prompts.
* Trim and run whatever filters and/or any other post processing you want on your recordings to make sure they sound nice and even.
* Decide whether you want to make a synthesizer based on a statistical model, or based on unit selection. Mine is a statistical model (also known as a Clustergen voice in Festvox).
* Configure the directory structure using the provided setup scripts in Festvox.
* Build a basic version of the voice and test it in Festival.
* Try some of the steps outlined in the Festvox documentation that describe how to make it better (the steps needed will depend on if you are doing a Clustergen or a unit selection voice).
* When you are happy, convert it to a Flite voice.
* Grab the .c and .h files that the Flite voice generation scripts produce.
* You can now use Flite to do your synthesis, and Flite runs on a lot of different platforms since it is written in portable C.

I realize that many of these steps may be vague or unclear, but there is a lot more information in the documentation for Festvox and Flite. Look at:

http://festvox.org/

And:

http://cmuflite.org/

To get all the details. For the latest source code, check out:

https://github.com/festvox/

The official releases are three years out of date.

Good luck,

Philip

2017-11-15 22:22:31

Hi Phillip,
After a bit of hesitation on my part for not wanting to spend all of my time learning Linux command line, I was lucky to find a fellow Linux user who didn't mind volunteering their time to helping me get started. As such, I am familiar with the Linode, Vultr, Digital Ocean, and VpS dot net. Right now I have an Ubuntu 16.04 LTS Xenial Xerus with 1.0 GB of RAM. I may have to pay more if I increase the RAM and storage. By following several guides on Digital Ocean and Linode, I was able to install a LAMP stack, WordPress, and PHP My Admin. With the current setup I have, would I be able to create something like this?
I also have a Vinux virtual machine which uses Ubuntu 14.04 LTS, but I heard that you can't get updates as this will cause it to crash. Vinux is a desktop distribution, which has the gksu drivers to open windows, although some are not accessible with Orca. I am thinking about getting a Raspberry PI, which I could probably convert to the Raspberry VI, and then I could try SSHing into it to try to do what you just described.
A bit off-topic, but I remember you setting up Asterisk on your Linux VPS for people to call in. Unfortunately, Asterisk, FreePBX, or both don't seem to like PHP 7, which is what I have right now.

Ulysses
AKA Green_Gables_fan and HeavenlyHarmony
My new, self-hosted version of WordPress!

2017-11-15 22:33:38

I did this on a Linode with Ubuntu 14.04 LTS, but 1 GB ram is not nearly enough. It bombed when trying to generate even a fairly small Clustergen voice when I had 2 GB of RAM so you will definitely need to increase it.

Philip

2017-11-16 05:39:43

I think I found a link to the Ubuntu web site which tells you how to install the compilers. https://help.ubuntu.com/community/InstallingCompilers

Ulysses
AKA Green_Gables_fan and HeavenlyHarmony
My new, self-hosted version of WordPress!

2017-11-16 10:29:49

Well, the voice is to deep I think. How ever it's quite good.

Alexander Ferrumite
follow me on twitter. @ferrumite666.

Thumbs up

2017-11-20 07:47:59 (edited by Green Gables Fan 2018-02-01 14:58:09)

So I decided to try this on my Vinux since it runs Ubuntu 14.04 LTS, which is what you seem to have, and since it is on a virtual machine, I could probably do it that way rather than having to pay more to increase my server's RAM, though I might have to as my web site grows and PHP is more on demand.
For a few hours, @KevinRoberts, who turned out to be a great mentor and role-model for getting people started with Linux, and I spent some time working on this. I am thankful for having him show me the basics to get started. Now I have my own VPS and a LAMP stack, plus a few other things which I hope to make use of some day. Anyhow, going back on topic. Together we went ahead and attempted to do as much as we could by checking off the items on Philip's list, and we learned that there were somethings we needed to troubleshoot.
The first thing you will have to do, assuming that you are using Ubuntu's or Debian's Package Manager, is
sudo apt install autoconf build-essential csh zsh vim libncurses5-deb git gcc make
If you are using 64-bit AMD, and you need to execute 32-bit files, try installing lib32z1 lib32ncurses5 or ia32libs
When I use the git clone commands, I like to have the folders created in a folder called ~/festival/
git clone --recursive http://github.com/festvox/speech_tools
git clone --recursive http://github.com/festvox/flite
git clone --recursive http://github.com/festvox/festvox
git clone --recursive http://github.com/festvox/festival
And finally, look for the tar.gz at http://sptk.sourceforge.net/ although this link may be outdated, another place is https://github.com/zeehio/festvox/blob/ … -3.6.patch
You can also use the wget command with this link. wget http://downloads.sourceforge.net/sp-tk/SPTK-3.10.tar.gz
tar xvf SPTK-*.tar.gz
We also learned that if we download any of the above repositories using the Windows Git Shell, our formats will be beyond useless to work on Linux, so it is imperative that you use the git commands within the Linux machine itself.
Now that we have the following items in our festival folder: festival, festvox, flite, speech_tools, and SPTK, we need to configure, make, and install each of these.
cd speech_tools
./configure
make
sudo make install
cd ..
Use CD to go to the next folder.
Repeat process for the remainder of the folders in the exact order Philip outlined in post 52.
Notice that in one of them, there is no target to make install, so we believe that nothing has to be installed. This was the Festvox folder.
The next step is to find a set of balanced prompts with the arctic database, which I believe you can find here. http://www.festvox.org/cmu_arctic/
I came across some festival installation documentations at http://festvox.org/docs/manual-1.4.3/festival_1.html
Here's another tutorial on how to compile the needed installation components. https://github.com/CSTR-Edinburgh/merli … h_tools.sh
UPDATE: I found all of the US voice prompts in a folder called wavs which I opened. Below is a text version of the prompts you will have to read. If you can Braille these out and pretend you're narrating a book, use Studio Recorder and a wireless headset, like the TurtleBeach Stealth 450 and do any post-recording processes on it. I like to use Studio Recorder on this because it is meant for audio narration. http://www.festvox.org/cmu_arctic/cmuarctic.data
Here's another great article that will hit home for some users. http://tts.speech.cs.cmu.edu/11-823/hints/clock.html
Evidently, Festvox doesn't have a make-install script, so we need to go ahead and set the environment variables. I will use my username as an example.
export ESTDIR=/home/harmony/projects/speech_tools
export FESTVOXDIR=/home/harmony/projects/festvox
export FLITEDIR=/home/harmony/projects/flite
export SPTKDIR=/home/harmony/projects/sptk (note that I changed the name from SPTK-3.10 to sptk to make it easier to type.)
Create a new folder inside projects, like this. [email protected]:~/projects $ mkdir cmu_us_harmony_arctic
cd /home/harmony/projects/cmu_us_harmony_arctic
Now, this is very important. You need to type the dollar sign in order for this to work. I will put this in single quotes so you know what part to type. '$FESTVOXDIR/src/clustergen/setup_cg cmu us awb_arctic'
It will copy several new folders inside the current folder you're in. Now, if you downloaded a previous database and you had unzipped it, move to that database with cd, and to the following inside the /etc folder inside the cmu_us_name_arctic folder.
cp txt.done.data /home/harmony/projects/cmu_us_harmony_arctic/etc
Now, you are ready to transfer your wave files from your computer to this machine. Make sure the beginning and end of each recording has about 200 milliseconds of silence.
The talking clock article uses a unit selection instead of a clustergen or statistical model.
I downloaded the Kal database, and it seems to have a series of three syllable recordings, such as Tah pah kah, rah ray ruh, etc. Some have four, like kah tah nea mah, and others only have two.

Ulysses
AKA Green_Gables_fan and HeavenlyHarmony
My new, self-hosted version of WordPress!