This is an eSpeakNG Editor rewritten in Java.
This editor is not production ready yet! For latest development news look at commits. For production purposes you can use older snapshot of espeak-ng-editor!
There library built in this project already, which is located in lib folder. Following is description how to build library from eSpeakNG source files:
eSpeakNG Java Editor relies on libraries of eSpeakNG, which have to be recompiled with custom settings. Clone eSpeakNG project and solve dependencies:
(To be sure) install additional packages:
sudo apt-get install libwxgtk3.0 libportaudio2 sox libwxgtk3.0-dev libportaudio-dev
You need to install Mbrola to see Prosody tab, use this command:
sudo apt install mbrola mbrola-en1
When invoke building of espeak-ng
project add additional -fPIC
flags to compiler, e.g. by compiling in following way:
./autogen.sh
CFLAGS='-fPIC' ./configure --prefix=/usr
make -B
Clone espeak-ng-jeditor project.
Note that espeak-ng
and espeak-ng-jeditor
projects should be subfolders of common folder!
Compile customized shared library by executing Bash script in espeak-ng-jeditor
project folder:
./updateJNIchanges.sh
To rebuild Java classes, run Maven task:
mvn compile
- In IDE: select MainWindow.java class in org.espeakng.jeditor.gui package and run it as Java application.
- In terminal ececute command:
java -cp target/classes org.espeakng.jeditor.gui.MainWindow
- To package editor in single *.jar file, execute command:
mvn clean compile assembly:single
- Then run archive located in
target
folder, by executing command:
java -jar eSpeakNG-jEditor.jar
(Note that libespeakservice.so file is copied to ../.lib
folder from *.jar file for execution.)
This software is licenced under GNU Lesser General Public License
Project design
- Figure out proper way to save phoneme data using JNI
- Implement phoneme replay using JNI to espeak-ng API
- Improved coverage of automated unit tests(76.1% Completed)
- Autogenerated *.h file and Java proxy classes using SWIG or similar JNI integration library
- Construct all MainWindow Objects according to Object Oriented Principles
- Implement compile buttons using ESpeak API
Editor GUI
- Implement process Lexicon menu correctly