Skip to content

crispinprojects/diphone-talker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diphone Speech Synthesizer

A code example of a diphone speech synthesizer for speaking dates. It is some of the early development code for the Talk Calendar project. It has been developed using C and GTK4 for Linux GTK desktops (GNOME, XFCE etc.).

A screenshot of the diphone talker is shown below.

How is Speech Generated?

Words are formed as sequences of elementary speech units. A phoneme is the smallest unit of sound that distinguishes one word from another word and there are 44 phonemes in the English language. A diphone is a sound unit composed of two adjacent partial phonemes i.e. the second half of the first phoneme and the first half of the second phoneme. The synthesizer uses a set of pre-recorded diphone sound samples and concatenates diphone audio to produce speech output for a given text input.

The voice used by Diphone Talker is derivative work based on the diphone collection created by Alan W Black and Kevin Lenzo which is free for use for any purpose (commercial or otherwise) and subject to the light restrictions detailed here. I have used the same licence for the voice that I have created. There is information about recording your own diphones here and in the speech synthesis lecture by Professor Alan W Black here.

Sample Phrases

Some sample phrases for speaking dates are shown below

Thursday first May

Wednesday twenty fifth December Christmas

Pre-processing of input text is very limited at this stage just removing unwanted characters such as commas, exclamation marks and question marks.

Build From Source

The C source code for the diphone speech synthesizer for reading out dates is provided in the src directory and has been developed using Debian Bookworm which uses GTK 4.8.

Geany can be used as a source code editor for opening, viewing and then compiling the Talk Calendar C code. Geany is lightweight and has an integrated terminal for building the application. To install the Geany IDE use the command below.

sudo apt install geany

Alternatively, the latest version of Geany can be built from source using autotools.

Building on Debian Bookworm

To build diphone speech synthesizer from source you need the gcc compiler, GTK4, and GLIB development libraries. You need to install the following packages.

sudo apt install build-essential
sudo apt install libgtk-4-dev
sudo apt install libasound2-dev

The packages:

sudo apt install libglib2.0-dev
sudo apt install alsa-utils

are needed but should be installed by default.

To determine which version of GTK4 is running on a Debian system use the following terminal command.

dpkg -l | grep libgtk*

Use the MAKEFILE to compile the code. Just run "make" inside the source code folder.

make

To run the diphone talker from the terminal use

./talker

Versioning

SemVer is used for versioning. The version number has the form 0.0.0 representing major, minor and bug fix changes.

Author

License

The project is licensed under LGPL v2.1.

Project Status

Active.

Acknowledgements

About

Diphone Speech Synthesizer for speaking dates

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published