{"id":20563616,"url":"https://github.com/gooofy/py-nltools","last_synced_at":"2025-04-14T14:43:04.809Z","repository":{"id":45821981,"uuid":"78579830","full_name":"gooofy/py-nltools","owner":"gooofy","description":"A collection of basic python modules for spoken natural language processing","archived":false,"fork":false,"pushed_at":"2019-12-01T18:42:02.000Z","size":423,"stargazers_count":56,"open_issues_count":1,"forks_count":15,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T03:41:21.601Z","etag":null,"topics":["natural-language-processing","phonetics","pulseaudio","speech-recognition","tokenizer","tts","voice-activity-detection"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gooofy.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-10T22:22:03.000Z","updated_at":"2024-03-15T00:38:06.000Z","dependencies_parsed_at":"2022-09-06T17:30:20.327Z","dependency_job_id":null,"html_url":"https://github.com/gooofy/py-nltools","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gooofy%2Fpy-nltools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gooofy%2Fpy-nltools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gooofy%2Fpy-nltools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gooofy%2Fpy-nltools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gooofy","download_url":"https://codeload.github.com/gooofy/py-nltools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248898686,"owners_count":21179823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["natural-language-processing","phonetics","pulseaudio","speech-recognition","tokenizer","tts","voice-activity-detection"],"created_at":"2024-11-16T04:19:48.513Z","updated_at":"2025-04-14T14:43:04.790Z","avatar_url":"https://github.com/gooofy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"py-nltools\n----------\n\nA collection of abstraction layers and support functions that form the natural\nlanguage processing foundation of the Zamia AI project:\n \n* `phonetics`: translation functions between various phonetic alphabets (IPA, X-SAMPA, X-ARPABET, ...)\n* `tts`: abstraction layer towards using eSpeak NG, MaryTTS, SVOX Pico TTS or a remote TTS server and sequitur g2p\n* `asr`: abstraction layer towards using kaldi-asr and pocketsphinx, models can be found here: http://goofy.zamia.org/voxforge/\n* `sequiturclient`: g2p using sequitur\n* `pulseplayer`: audio playback through pulseaudio\n* `pulserecorder`: audio recording through pulseaudio\n* `tokenizer`: english, french and german word tokenizers aimed at spoken language applications\n* `threadpool`: simple thread pool implementation\n* `vad`: Voice Activity Detection finite state machine based on webrtc VAD\n* `macro_engine`: Simple macro engine aimed at generating natural language expansions\n\nI plan to add modules as I need them in the Zamia AI projects. Some modules like `phonetics` and `tokenizer`\nhave some overlap with larger projects like NLTK or spaCy - my modules tend to be more hands-on and simple minded\nthan these and therefore are in no way meant to replace them. \n\nifndef::imagesdir[:imagesdir: images]\n\nifndef::env-github[]\n[ditaa,\"highlevel\"]\n....\n +-----------------------------------------------------------------------------------------------+\n |                                           nltools                                             |\n | +-----------+  +-----------+  +------------+  +--------------+                                |\n | | tokenizer |  | phonetics |  | threadpool |  | macro_engine |                                |\n | +-----------+  +-----------+  +------------+  +--------------+                                |\n |                                                                                               |\n |      +-----------+               +-----------+     +-----------+ +-----------+ +-----------+  |\n |      |    tts    |               |    asr    |     |    vad    | |    g2p    | |   audio   |  |\n |      +-----------+               +-----------+     +-----------+ +-----------+ +-----------+  |\n |            |                           |                 |             |             |        |\n +-----------------------------------------------------------------------------------------------+\n              |                           |                 |             |             |          \n     +--------+---------+          +------+----+            |             |             |\n     |        |         |          |           |            |             |             |\n     v        v         v          v           v            v             v             v\n +------+ +--------+ +------+  +-------+ +-----------+ +--------+    +----------+ +------------+ \n | mary | | eSpeak | | pico |  | kaldi | | cmusphinx | | webrtc |    | sequitur | | pulseaudio |\n +------+ +--------+ +------+  +-------+ +-----------+ +--------+    +----------+ +------------+\n....\nendif::env-github[]\nifdef::env-github[]\nimage::highlevel.png[Highlevel Diagram]\nendif::env-github[]\n\nRequirements\n~~~~~~~~~~~~\n\n*Note*: probably incomplete.\n\n* Python 2.7 \n* for TTS one or more of:\n  - MaryTTS, py-marytts\n  - espeak-ng, py-espeak-ng\n  - SVOX Pico TTS, py-picotts\n* for ASR one or more of:\n  - kaldi-asr 5.1, py-kaldi-asr\n  - pocketsphinx\n* sequitur\n* pulseaudio\n* webrtc\n\nLicense\n~~~~~~~\n\nMy own code is Apache-2.0 licensed unless otherwise noted in the script's copyright\nheaders.\n\nSome scripts and files are based on works of others, in those cases it is my\nintention to keep the original license intact. Please make sure to check the\ncopyright headers inside for more information.\n\nAuthors\n~~~~~~~\n\nGuenter Bartsch \u003cguenter@zamia.org\u003e\nPaul Guyot \u003cpguyot@kallisys.net\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooofy%2Fpy-nltools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooofy%2Fpy-nltools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooofy%2Fpy-nltools/lists"}