A collection of abstraction layers and support functions that form the natural language processing foundation of the Zamia AI project:
phonetics: translation functions between various phonetic alphabets (IPA, X-SAMPA, X-ARPABET, …)
tts: abstraction layer towards using eSpeak NG, MaryTTS, SVOX Pico TTS or a remote TTS server and sequitur g2p
asr: abstraction layer towards using kaldi-asr and pocketsphinx, models can be found here: http://goofy.zamia.org/voxforge/
sequiturclient: g2p using sequitur
pulseplayer: audio playback through pulseaudio
pulserecorder: audio recording through pulseaudio
tokenizer: english, french and german word tokenizers aimed at spoken language applications
threadpool: simple thread pool implementation
vad: Voice Activity Detection finite state machine based on webrtc VAD
macro_engine: Simple macro engine aimed at generating natural language expansions
I plan to add modules as I need them in the Zamia AI projects. Some modules like phonetics and tokenizer
have some overlap with larger projects like NLTK or spaCy - my modules tend to be more hands-on and simple minded
than these and therefore are in no way meant to replace them.
Note: probably incomplete.
Python 2.7
for TTS one or more of:
MaryTTS, py-marytts
espeak-ng, py-espeak-ng
SVOX Pico TTS, py-picotts
for ASR one or more of:
kaldi-asr 5.1, py-kaldi-asr
pocketsphinx
sequitur
pulseaudio
webrtc
My own code is Apache-2.0 licensed unless otherwise noted in the script’s copyright headers.
Some scripts and files are based on works of others, in those cases it is my intention to keep the original license intact. Please make sure to check the copyright headers inside for more information.
Guenter Bartsch <[email protected]> Paul Guyot <[email protected]>