Skip to main content
py-nltools
----------

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, models can be found here: http://www.zamia-speech.org
* `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.

ifndef::imagesdir[:imagesdir: images]

ifndef::env-github[]
[ditaa,"highlevel"]
....
+-----------------------------------------------------------------------------------------------+
| nltools |
| +-----------+ +-----------+ +------------+ +--------------+ |
| | tokenizer | | phonetics | | threadpool | | macro_engine | |
| +-----------+ +-----------+ +------------+ +--------------+ |
| |
| +-----------+ +-----------+ +-----------+ +-----------+ +-----------+ |
| | tts | | asr | | vad | | g2p | | audio | |
| +-----------+ +-----------+ +-----------+ +-----------+ +-----------+ |
| | | | | | |
+-----------------------------------------------------------------------------------------------+
| | | | |
+--------+---------+ | | | |
| | | | | | |
v v v v v v v
+------+ +--------+ +------+ +-------+ +--------+ +----------+ +------------+
| mary | | eSpeak | | pico | | kaldi | | webrtc | | sequitur | | pulseaudio |
+------+ +--------+ +------+ +-------+ +--------+ +----------+ +------------+
....
endif::env-github[]
ifdef::env-github[]
image::highlevel.png[Highlevel Diagram]
endif::env-github[]

Requirements
~~~~~~~~~~~~

*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
- kaldi-asr 5.4.248, py-kaldi-asr
* sequitur
* pulseaudio
* webrtc

License
~~~~~~~

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.

Authors
~~~~~~~

Guenter Bartsch <guenter@zamia.org>
Paul Guyot <pguyot@kallisys.net>



Metadata

Release files for py-nltools 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-nltools 0.5.0
File Size Uploaded
py-nltools-0.5.0.tar.gz 83.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-nltools 0.5.0
File Interpreter ABI Platform
py_nltools-0.5.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 179.5 kB

Release files / py-nltools-0.5.0.tar.gz

Download URL py-nltools-0.5.0.tar.gz
Size 83.1 kB
Tags Source
SHA-256 checksum
How to use checksums
79299e612324fd7450764f5eb60de90e429d11e4f02ae90617585c502da72a58
BLAKE2b-256 checksum
How to use checksums
f841f861dd6c74d8abea7de7f507e8303d128ca3607ae05e216d35ce99c2ce30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.6.0 setuptools/2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.5

Release files / py_nltools-0.5.0-py2.py3-none-any.whl

Download URL py_nltools-0.5.0-py2.py3-none-any.whl
Size 96.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
4a962d5ccac65e4092962350f23ff35a55e3539ebcf4cd21e5ddc2db2b21959c
BLAKE2b-256 checksum
How to use checksums
849374447d8a3542a18a3b13db17b6bbb600658a2747e9fceae8aa3e0ff65e5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.6.0 setuptools/2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.5

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page