low-resource-languages
by RichardLitt
Resources for conservation, development, and documentation of low resource (human) languages.
AI summary
Language preservation toolkit
A repository of tools and resources to support the documentation, conservation, and development of endangered languages.
- stars
- 393
- forks
- 56
- watching
- 35
- awesome lists
- 3
- entries
- 455
What's in the list
455 links in 63 sections, with live GitHub stats.activeno commit in 2y
Single language lexicography projects and utilities / Utilities
- Project for Free Electronic Dictionaries
Is a project for a java MIDlet for mobile phones - for indigenous language dictionaries
- Webonary
Site which hosts digital dictionaries for single languages
WeSay
Allows language communities to build their own dictionaries. (by the SIL International)
Software
4lang
Concept dictionary using Eilenberg machines
- accentuate.us
a.k.a. "charlifter". Statistical Unicodification of plain text for many languages
alignment-with-openfst
This is an implementation of the CRF autoencoder framework for four tasks: bitext word alignment, part-of-speech tagging, code switching, dependency parsing
- Apertium
Apertium is a toolbox to build open-source shallow-transfer machine translation systems, especially suitable for related language pairs: it includes the engine, maintenance tools, and open linguistic data for several language pairs
ark-tweet-nlp
CMU ARK Twitter Part-of-Speech Tagger ( )
ArtOfReading
Index and processing scripts related to the Art Of Reading illustration collection
bayesline
A Multinomial Bayesian Classification for Language Identification
bible-corpus-tools
A collection of tools for reading/processing the multilingual Bible corpus
BloomDesktop
Bloom Desktop is a hybrid c#/javascript/html/css Windows application that dramatically "lowers the bar" for language communities who want books in their own languages. Bloom delivers a low-training, high-output system where mother tongue speakers and their advocates work together to foster both community authorship and access to external materia…
BloomLibrary
Bloom Library Single Page App, using AngularJS & Bootstrap, Parse.com backend.
brain
Neural networks in JavaScript
Bristol Uni MT Morphology tools
This repo is a mirror of scripts previously available on . Included: Ukwabelana - An open-source morphological Zulu corpus and EMMA: A Novel Evaluation Metric for Morphological Analysis
brown-cluster
C++ implementation of the Brown word clustering algorithm
- CasualCon
CasualConc is a concordance program that runs natively on Mac OS X 10.5 Leopard or later. It was originally designed for casual use (preliminary analysis or non-research purposes), though [the maintainer] has been using it for his own research (and may others have). It can generate kwic concordance lines, word clusters, collocation analysis, and word count
cdec
Decoder, aligner, and model optimizer for statistical machine translation and other structured prediction models based on (mostly) context-free formalisms
- charlint
Charlint is a character normalization/checking tool written in Perl. Among else, it implements Normalization Form C of Unicode TR 15, as a test platform for Early Uniform Normalization in the W3C Character Model
chorus
A version control system designed to enable workflows appropriate for typical language development teams who are geographically distributed
clam
Computational Linguistics Application Mediator -- Quickly turn NLP applications into RESTful webservices with a web-application front-end. You provide a specification of your command line application, its input, output and parameters, and CLAM wraps around your application to form a fully fledged RESTful webservice
- CMU Sphinx
CMUSphinx is a speaker-independent large vocabulary continuous speech recognizer released under BSD style license. It is also a collection of open source tools and resources that allows researchers and developers to build speech recognition systems
cnminlangwebcollect
Chinese minorities website languages detection and websites collection
Cog
Cog is a tool for comparing languages using lexicostatistics and comparative linguistics techniques. It can be used to automate much of the process of comparing word lists from different language varieties.
convertextract
Convert Excel, Word and PowerPoint files with non-Unicode text (like text requiring SIL fonts) into Unicode, while preserving original file's formatting
CorpusTools
Phonological CorpusTools
CTK
Built around LDC's champollion sentence aligner kernel, Champollion Tool Kit (CTK) aims to providing ready-to-use parallel text sentence alignment tools for as many language pairs as possible. (Original project is on SourceForge: )
DataTags
A system to assess the sensitivity and privacy risk of a dataset, and assign a tag to describe how the dataset must be transfered, stored and accessed. ( )
dataverse
A data repository framework to share and publish research data
Dative
Dative: software for linguistic fieldwork
dative
A single-page application that interacts with multiple linguistic fieldwork web service databases.
DeepLearnToolbox
Matlab/Octave toolbox for deep learning. Includes Deep Belief Nets, Stacked Autoencoders, Convolutional Neural Nets, Convolutional Autoencoders and vanilla Neural Nets. Each method has examples to get you started
Desmeme
Database and tools for exploring linguistic templates
- dictdb
dictionary database for language translation
discoursegraphs
Python-based tool to convert and merge multilayer annotated linguistic data
divvun-gramcheck
This program does FST lookup on forms specified as Constraint Grammar format readings, and looks up error-tags in an XML file with human-readable messages. It is meant to be used as a late stage of a grammar checker pipeline
divvun-keyboard
keyboard apps for iOS and Android with keyboard layouts for indigenous and minority languages
divvunspell
(below) rewritten in Rust, for robust concurrency and memory management. Is in practical use about 10x faster than . It uses the same zhfst files as , which are available for all languages in the GitHub org (see below)
DLTK
Deutsch Language Tool Kit.
epitran
Grapheme to Phoneme conversion (G2P) for many low-resource languages
ELDER: Endangered Language Data Electronic Repository
Endangered Language Data Electronic Repository: A web-based ontologically-compliant collaborative linguistic data cataloguing tool
enchant
enchant spellchecking library
exsite9
ExSite9 is a desktop application that was built to facilitate researchers easily and quickly tagging their data files with descriptive metadata and subsequently packaging their data files and associated metadata ready for submission to a repository. ExSite9 also allows for the structural organisation of said files within actually moving their physical location on your local file storage; allowing you to correctly organise your files and metadata ready for packaging
fast_align
Simple, fast unsupervised word aligner
fastText
Library for fast text representation and classification
FieldWorks
FieldWorks is a suite of software tools for language and cultural data, with support for complex scripts. FieldWorks Language Explorer (or FLEx, for short) is designed to help field linguists perform many common language documentation and analysis tasks. It can help you: elicit and record lexical information, create dictionaries, interlinearize texts, analyze discourse features, study morphology
Franc
Natural language detection
FwDocumentation
Developer documentation for FieldWorks (software tools for language and cultural data, with support for complex scripts)
FwLocalizations
Localizations for FieldWorks
FwSupportTools
Additional tools for FieldWorks development
Gaia
Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see . If you're interested in setting up a keyboard in new language, see
giellakbd-android
A fork of LatinIME (by Google for Android), targeting marginalised languages that also deserve first-class status on mobile operating systems. Used by (see elsewhere on this page)
giellakbd-ios
An open source reimplementation of Apple's native iOS keyboard with a specific focus on support for localised keyboards. Used by (see elsewhere on this page)
giza-pp
GIZA++ is a statistical machine translation toolkit that is used to train IBM Models 1-5 and an HMM word alignment model. This package also contains the source for the mkcls tool which generates the word classes necessary for training some of the alignment models
gv-crawl
Global Voices bitext crawler for creating parallel corpora
GlotLID
Fasttext language identification with support for more than 2000 labels
Glottolog data
provides comprehensive reference information for the world's languages
Gramadóir
Grammar checking engine that is designed for the rapid development of grammar checkers for minority languages and other languages with limited computational resources
grind
An InDesign 5.5 plug-in designed allow graphite enabled smart fonts to be used in Adobe InDesign. This project integrates SIL's Graphite 2 smart font technology with our own implementation of a paragraph composer plugin
hermitcrab
HermitCrab.NET is a flexible morphological/phonological parser that takes an item-and-process approach
hfst-ospell
HFST spell checker library and command line tool
hfst-ospell-js
Node bindings for hfst-ospell
hfst-optimized-lookup
HFST optimized-lookup standalone library and command line tool
hundict
bilingual dictionary extractor from parallel corpora
hunspell
Spell checker and morphological analyzer library and program designed for languages with rich morphology and complex word compounding or character encoding
huntag
a sequential tagger for NLP using Maximum Entropy Learning and Hidden Markov Models
icu-dotnet
C# wrapper for ICU4C
icu4c
Mirror of svn project at . The FieldWorks branch has some FieldWorks specific enhancements
iLanguage
A semi-unsupervised language independent morphological analyzer useful for stemming unknown language text, or getting a rough estimate of possible parses for morphemes in a word. Input: a corpus. Uses compression, maximum entropy and fieldlinguistics
ipa-help
IPA Helps
itweets-geodata
Geodata from Indigenous Tweets
jQuery.ime
jQuery based input methods library
kbdgen
Generate keyboards and keyboard layouts for various operating systems
koreksyon
Tools for developing and implementing spell-checking and grammar-checking capabilities in low-resource languages
l20n.js
L20n reinvents software localization. Users should be able to benefit from the entire expressive power of natural languages. L20n keeps simple things simple, and at the same time makes complex things possible. This is the JavaScript implementation of L20n.
langid.py
Stand-alone language identification system
- langtech
A host of resources provided in SVN by the University of Tromsø. Details are and in English
LEGO Unified Concepticon
Material relating to the LEGO Unified Concepticon
Lex4All
pronunciation LEXicons for Any Low-resource Language
- lexdb
LexDB is a lexical cognate tracking database. It stores the full provenance of all lexemes and cognate judgements, and allows export into a number of nexus dialects. The database is written in the flexible python/django web framework
LfMerge
Send/Receive for languageforge.org
liblevenshtein
A library for generating Finite State Transducers based on Levenshtein Automata
libpalaso
Palaso Library: A set of .Net libraries useful for developers of Language Software
- LinGO Grammar Matrix
The LinGO Grammar Matrix is a framework for the development of broad-coverage, precision, implemented grammars for diverse languages
Lingpy
LingPy: Python library for quantitative tasks in historical linguistics
- Linguistica
Linguistica is a program designed to explore the unsupervised learning of natural language, with primary focus on morphology (word-structure). It runs under Windows, Mac OS X and Linux, and is written in C++ within the Qt development framework. Its demands on memory depend on the size of the corpus analyzed
long-press
jQuery plugin to ease the writing of accented or rare characters.
low-resource-pos-tagging-2014
Low-Resource POS-Tagging: 2014
lrl
For work concerning low resource languages
Machine
Machine is a natural language processing library for .NET that is focused on providing tools for processing resource-poor languages (used by FLEx)
Make-extensions
Scripts for generating hunspell spellchecking extensions
mgiza
A word alignment tool based on famous GIZA++, extended to support multi-threading, resume training and incremental training
- Minority Translate
Minority Translate is a simple program for helping content generation on smaller sized Wikipedias (actually any sized) by giving pointers to existing articles in other language Wikipedias, so that the user can easily translate or adapt existing texts and thus increase the size and useability of their Wikipedia editions
morfessor
Morfessor is a tool for unsupervised and semi-supervised morphological segmentation
morpholm
Morphology-aware language models
morph-test
A python script to run tests for generation and analysis of a morphological transducer built using the Giella infrastructure. Works with Hfst, Xerox' fst tools, and with Foma
mosesdecoder
Moses, the machine translation system
moz-l10n-tiers
Creates a pseudo-locale to evaluate string prioritization for l10n
mukurtucms
The Mukurtu Content Management System (CMS) is an Internet- based platform designed to enable archiving of digital cultural resources
mythes
MyThes is a simple thesaurus that uses a structured text data file and an index file with binary search to lookup words and phrases and return information on part of speech, meanings, and synonyms
myWorkSafe
Smart & Simple Backup for Language Development Workers.
nabu
nabu is a digital media item management system that provides a catalog of audio and video items, metadata for these items, and information about the workflow status of the items
Natural
general natural language facilities for node
NLTK
Natural Language Tool Kit. NLTK Source
node-panlex
node.js client for PanLex
norma
A tool for automatic spelling normalization
nplm
Fork of with some efficiency tweaks and adaptation for use in mosesdecoder
octothorpe
CouchDB-powered wiki thing
OdtXslt
Perform XSLT transform on contents of a package (such as ODT, Docx, etc.)
old-webapp
Online Linguistic Database --- software for creating web applications to collaboratively document languages.
old
The Online Linguistic Database (OLD): software for linguistic fieldwork.
old-pyramid
Online Linguistic Database migrated to the Pyramid framework
OmegaT-hfst-tokenizer
OmegaT-hfst-tokenizer provides fst-based tokenisation in OmegaT
- OpenDataKit
Open Data Kit (ODK) is an open-source suite of tools that helps organizations author, field, and manage mobile data collection solutions
OpenNLP
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
ops-devbox
Ansible playbook for a (linux) developer machine
panlex-tools
This package contains scripts to transform lexical resources into a format suitable for importing into PanLex. Documentation may be found at
pdsc-collection-viewer
Paradisec Collection Browser
paradigm
PARADIGM is a .Net (C#) implementation of Joseph E. Grimes' 1983 work entitled "Affix Positions and Cooccurrences: The PARADIGM Program"
pathway
Preparing language data for publication
pdfdroplet
Library and GUI for imposition of PDF pages (e.g. 2-up)
pepper
Pepper is a pluggable, Java-based, open source converter framework for linguistic data
phonology-assistant
Phonology Assistant is a discovery tool. Provided with a corpus of phonetic data, it automatically charts the sounds and through its searching capabilities, helps a user discover and test the rules of sound in a language
pressagio
Pressagio is a library that predicts text based on n-gram models. For example, you can send a string and the library will return the most likely word completions for the last token in the string
PrimerPro
The purpose of PrimerPro is to assist the literacy worker in the development of primers for a given language
pyDelphin
Python libraries for DELPH-IN (Friendly Fork)
RBGParser
Graph-based Dependency Parser
Rosetta Pangloss
The Rosetta Project's Pangloss system
salm
SALM: Suffix Array and its Applications in Empirical Language Processing by Joy
Salt
A graph-based model to store and manipulate linguistic data
saymore
A tool for making common Language Documentation tasks such as keeping all the resulting files and meta data organized, converting files to archive formats, and transcription
Secwepemc-Facebook
Translate Facebook into unsupported languages
SegParser
Randomized Greedy algorithm for joint segmentation, POS tagging and dependency parsing
SeedLing
Building and Using A Seed Corpus for the Human Language Project
Skype in your language
Translate Skype into unsupported languages
solid
Solid is a software tool that can be used to check, clean up, and convert Standard Format (e.g. Toolbox) lexicon data
- SPHERE Conversion Tools
Many LDC corpora contain speech files in NIST SPHERE format. The programs below convert SPHERE files to other formats
StandardFormatLib
Standard Format Library
Stanford CoreNLP
Stanford CoreNLP: A Java suite of core NLP tools.
Stanford CoreNLP Python
Python wrapper for Stanford CoreNLP tools
stanza
Stanford NLP group's shared Python tools
str2ipa
Pronunciation dictionaries for languages with close-to-phonetic writing systems
sugali
This is a legacy repository of the language identification project for many (many) languages project for the software project course, NLP projects for low-resource languages
SuGarLike
Language Identification for Low Resource Languages (by Susanne, Guy and Liling)
SyllabiPy
Python interface for universal syllabification algorithms
- tasty-imitation-keyboard
A custom keyboard for iOS8+ that serves as a tasty imitation of the default Apple keyboard. Built using Swift and the latest Apple technologies!
TECkit
A Text Encoding Conversion toolkit
teny
Tools for low-resource machine translation
TeraDict
Translate English words into hundreds of languages!
Tesseract.js
Pure Javascript OCR for 62 Languages 📖🎉🖥
TexNLP
TexNLP: Texas Natural Language Processing tools
- TiMBL
TiMBL is an open source software package implementing several memory-based learning algorithms, among which IB1-IG, an implementation of k-nearest neighbor classification with feature weighting suitable for symbolic feature spaces, and IGTree, a decision-tree approximation of IB1-IG. All implemented algorithms have in common that they store some representation of the training set explicitly in memory. During testing, new cases are classified by extrapolation from the most similar stored cases
Toney
Tone Classification Software
- Field Linguist's Toolbox
Toolbox is a data management and analysis tool for field linguists. It is especially useful for maintaining lexical data, and for parsing and interlinearizing text, but it can be used to manage virtually any kind of data
Toolbox Scripts for ELAN
Mirror of Alexander Koenig's Toolbox Scripts
ToolsForFieldLinguistics
A collection of scripts and recipes for linguistics
transcriber
An HTML5 transcription tool for Aikuma
translitit-engine
A transliteration engine written in JavaScript
Tsammalex data
is a multilingual lexical database on plants and animals
tweet2learn
An app to make it easier to use your native language on Twitter
twitter_langid
A hierarchical character-word neural network for language identification
UniversalDependencies docs
Universal Dependencies online documentation
UniversalDependencies tools
Various utilities for processing the data
- VocBench
VocBench is a web-based, multilingual, editing and workflow tool that manages thesauri, authority lists and glossaries using SKOS-XL
wavesurfer.js
Navigable waveform built on Web Audio and Canvas (Also has an ELAN plugin)
web-template
This is a web-based template that may be used to present language learning resources to aid language revitalization efforts. It includes a talking dictionary, and a phrasicon, containing sentences and phrases
webcorpus
This project is a collection of scripts and programs for creating a webcorpus from crawled data
wikt2dict
Wiktionary parser tool for many language editions
wikipron
-- retrives IPA pronunciations for Wiktionary entries
- Word Generator
WordGenerator generates hypothetical words from specifications of their syllable structure
- WordBoundary
An experiment in the detection and segmentation of word boundaries
wordbyword
WordByWord is a free, open source, easy-to-use multimedia vocabulary trainer developed by Vera Ferreira, Peter Bouda, and Ricardo Filipe at CIDLeS with the support of the Foundation for Endangered Languages
WSI4URLang
Word Sense Induction (WSI) for Under-resourced Languages (URLang)
XDXF_Makedict
XDXF dictionary format and "makedict" dictionary converting software (official repository)
Keyboard Layout Configuration Helpers
jQuery.IME
jQuery Input Method Editor used on Wikipedia
kbdgen
Generate keyboards and keyboard layouts for Windows, macOS, X11, iOS, Android and Chrome, from a single, simple yaml file. Also registers languages unknown to Windows, so that after installation, there is a correct and robust association between the designated BCP 47 code (including full support for ISO 639-3) and installed language tools such as keyboards, spelling checkers and other tools
Keyboard
Virtual Keyboard using jQuery ~
Keyboards
Open Source Keyman keyboards
Keyman
Keyman cross platform input methods. Keyman makes it possible for you to type in over 1,000 languages on Windows, iPhone, iPad, Android tablets and phones, and even instantly in your web browser.
keyboardlayouteditor
Keyboard Layout Editor
Keyboard layout editor
Keyboard Layout Editor
lipika-ime
Input Method Engine (IME) for Mac OS X with built-in support for all Indic Languages
- XKeyboardConfig
The non-arch keyboard configuration database for X Window. The goal is to provide the consistent, well-structured, frequently released open source of X keyboard configuration data for X Window System implementations (free, open source and commercial). The project is targeted to XKB-based systems
Annotation
AGTK
AGTK is a suite of software components for building tools for annotating linguistic signals, time-series data which documents any kind of linguistic behavior (e.g. audio, video). The internal data structures are based on annotation graphs. (Original project is on SourceForge: )
brendano
Graph Fragment Language for Easy Syntactic Annotation
- ELAN
ELAN is a professional tool for the creation of complex annotations on video and audio resources
eopas
ETHNOER Online Presentation and Annotation System
FLAT - FoLia Linguistic Annotation Tool
FLAT is a web-based linguistic annotation environment based around the FoLiA format ( ), a rich XML-based format for linguistic annotation. FLAT allows users to view annotated FoLiA documents and enrich these documents with new annotations, a wide variety of linguistic annotation types is supported through the FoLiA paradigm. It is a document-centric tool that fully preserves and visualises document structure
gfl_syntax
Graph Fragment Language for Easy Syntactic Annotation
graf-python
The library graf-python is an open source Python implemenation to parse and write GrAF/XML files as described in ISO 24612. The parser of the library creates an annotation graph from the files. The user may then query the annotation graph via the API of graf-python
kwaras
Tools for ELAN corpus management
LDC Word Aligner
LDC Word Aligner is a software tool used for manual annotation of word alignment developed to support Arabic-English and Chinese-English word alignment tasks. It has a clean, easy-to-use interface. Since its development in 2009, LDC has used LDC Word Aligner to generate over 1,000,000 tokens of annotated word alignment data from a variety of genres including broadcast, newswire and web-based sources.
poio-analyzer
Poio is a collection of software tools for linguists working in language documentation, descriptive linguistics and/or language typology. It allows linguists to manage and analyze their data. The Poio Interlinear Editor allows to add morpho-syntactic annotations to transcriptions. It supports various file formats for input, but will only output standardized XML defined by the Corpus Encoding Standard and the Text Encoding Initiative. Several tools for analyzing linguistic data will be made available to further process annotated data. Poio tools are written in Python and are based on PyQt
poio-api
Poio API is a free and open source Python library to access and search data from language documentation in your linguistic analysis workflow. It converts file formats like Elan’s EAF, Toolbox files, Typecraft XML and others into annotation graphs as defined in ISO 24612. Those graphs, for which we use an implementation called “Graph Annotation F…
pyannotation
PyAnnotation is a Python Library to access and manipulate linguistically annotated corpus files
- XTrans
Trans is a next generation multi-platform, multilingual, multi-channel transcription tool that supports manual transcription and annotation of audio recordings. The XTrans toolkit provides new and efficient solutions to common transcription challenges and addresses critical gaps in existing tools.Designed with input from experienced human transcribers working with real world data, XTrans provides a flexible and intuitive graphical user interface for a multitude of speech annotation tasks including (virtual) segmentation of audio into smaller units like turns and sentences; speaker identification; orthographic transcription in any language; and labeling of structural elements of the transcript like topics
Format Specifications
spec
The official specification for the DLx linguistic data format.
FoLiA
FoLiA: Format for Linguistic Annotation - FoLiA is a rich XML-based annotation format for the representation of language resources (including corpora) with linguistic annotations. A wide variety of linguistic annotations are support, making FoLiA a useful format for NLP tasks and data interchange
xdxf_makedict
XDXF dictionary format and "makedict" dictionary converting software (official repository)
i18n-related Repositories
Express-Lingua
An i18n middleware for the Express.js framework
- Polyglot.js
Give your JavaScript the ability to speak many languages
- Transifex
System for providing a nice, userfriendly/project oriented approach to translating files. Great for non-technical users, free for open-source projects, decent for minority languages; , it can take a while to get a new language added to the Transifex system because the ticketing system Transifex uses results in them losing tickets sometimes. Provides translation memory, ability to appoint reviewers, etc. Transifex used to have an open source system that you could host on your own, but that seems to have disappeared
Audio automation
arctic-prompts
Generate prompts PDF for CMU ARCTIC dataset
AudioWebService
a simple nodejs server which accepts upload of audio and runs it through praat
AuToBI
Automatic prosodic annotation tool written in Java
BashScriptsForPhonetics
( of a dormant project)
esv-text-audio-aligner
ESV Text/Audio Aligner to programmatically obtain the timings for each word in the corresponding audio
html5-audio-read-along
HTML5 Audio Read-Along
ipa-chart
International Phonetic Alphabet (IPA) Unicode Chart and Character Picker
kaldi-svn-archive
An read-only archive of the original Kaldi SVN repository (mainly to keep sandboxes available)
lex4all
pronunciation LEXicons for Any Low-resource Language ( of a student project)
Montreal-Forced-Aligner
Python interface for forced text/speech alignment
opensauce
GNU Octave-compatible version of VoiceSauce
pocketsphinx
PocketSphinx is a lightweight speech recognition engine, specifically tuned for handheld and mobile devices, though it works equally well on the desktop
pocketsphinx-ios-demo
Simple demo for iOS
pocketsphinx-python
Python module installed with setup.py
pocketsphinx-ruby
Ruby speech recognition with Pocketsphinx
pocketsphinx-wp-demo
Demo to run pocketsphinx on WP8 platform
pocketsphinx.js
Speech recognition in JavaScript
praat-py
From my PhD days: Praat-Py is a custom build of Praat, the computer program used by linguists for doing phonetic analysis on sound files, to allow for scripts to be written in the Python programming language, rather than in Praat's built-in language. ( of a dormant project)
Praat-Scripts
Mietta's Scripts
PraatTextGridJS
A small library which can parse TextGrid into json and json into TextGrid
PraatontheWeb
Web implementation of Praat. Source code, running demo scripts on web, samples and documentation
prosodicParsing
different kinds of HMMs to use for incorporating prosody into basic parsing
Prosodylab-Aligner
Python interface for forced audio alignment using HTK and SoX
Recordmp3js
Record MP3 files directly from the browser using JS and HTML
sphinx4
Pure Java speech recognition library
TLSphinx
Swift wrapper around Pocketsphinx
Text-to-Speech (TTS)
- espeak
eSpeak is a compact open source software speech synthesizer for English and other languages, for Linux and Windows.
MARY TTS
MARY TTS -- an open-source, multilingual text-to-speech synthesis system written in pure java
- Ossian
Ossian is a collection of Python code for building text-to-speech (TTS) systems, with an emphasis on easing research into building TTS systems with minimal expert supervision
Automatic Speech Recognition (ASR)
Elpis
Elpis is software for creating speech recognition models and applying them to the transcription of audio. As of 2022, it gives access to Kaldi and Huggingface Transformers
kaldi
This is now the official location of the Kaldi project
Persephone
Persephone aims to make state-of-the-art phonemic transcription accessible to people involved in language documentation, who have a training corpus of about one to four hours of transcribed speech. As of 2022, Persephone is superseded by Elpis
Text automation
clld
Cross Linguistic Linked Data python library
LaTeX2HTML5
LaTeX web components
MultilingualCorporaExtractor
Node io Spider for extracting multilingual corpora ( of a student project)
SeedLing
Building and Using A Seed Corpus for the Human Language Project ( of a student project)
Experimentation
experigen
A framework for creating linguistic experiments
GamifyPsycholinguisticsExperiments
A simple node server to gamify linguistics experiments, runs offline on a laptop for small scale experiements and online on a server for large scale experiments. Data is sent to a Google spreadsheet. ( of a dormant project)
OpenSesame
Graphical experiment builder for the social sciences
OPrime
Open Source Experimentation Libraries - Online and Offline for Android and HTML5
psychopyMegProsody
Runs MegProsody using PsychoPy
PsychScript
A HTML5/Javascript library for running behavioural experiments online
Flashcards
Anki
Anki is a program to make and share flaschard decks (including audio) for any language or writing system.
awesome-anki
A curated list of awesome Anki add-ons, decks and resources
VocabLift
Language-learning tool that uses vocabulary from LIFT-format dictionaries produced by programs such as Fieldworks Language Explorer and WeSay
Natural language generation
OpenCCG
OpenCCG library for parsing and realization with CCG. Includes mini-grammars for Inuit, Nezperce, Basque and others
Computing systems
- Common Language Resources and Technology Infrastructure Norway / Clarino
One of their projects (not clearly listed here) is about providing an online system for language analysis, so users can connect resources visually, dump in text, and get a result. Kind of like the Yahoo! Pipes but for language processing. Uses the cluster
Android Applications
Aikuma
Android software for recording and translation
Android Speech Recognition Trainer
Speech recognition training app for low resource languages which interfaces with FieldDB corpora
android-template
This is a template of an Android word-learning app that may be used a way to introduce a language. It includes a quiz. For the documentation, go to
AndroidFieldDB
An Android app which lets the user build a custom visual and auditory vocabulary, useful for guided anomia treatment and self designed language lessons by heritage speakers
AndroidFieldDBElicitationRecorder
A general purpose video recording tool
AndroidLanguageLessons
Lets heritage speakers create self designed language lessons
AndroidProductionExperiment
Android App to run perception experiments
Bevara
Android Phone Application designed for Linguistic Fieldwork to help preserve, maintain, and save endangered languages
- ojoVoz
A mobile app for sending georeferenced image and voice recordings from an Adroid phone to an email address. For more information, please go to
pocketsphinx-android
pocketsphinx build for Android
Chrome Extensions
babelfrog
Chrome extension to help learn languages as you browse
DictionaryChromeExtension
Dictionary for websites in low-resource languages. App and codebase which connects to a Wiktionary to provide definitions of any term on any website (current languages Cherokee 194,426 entries, Inuktitut 251 entries, Kartuli 7,363 entries, Plains Cree (incubation) 0 entries)
FieldDB
FieldDB
An offline/online field database which adapts to its user's terminology and I-Language, has plugins for various data automation routines along the process of primary data collection to cleaning to publication and archival.
FieldDB / FieldDB Webservices/Components/Plugins
AndroidLanguageLearningClientForFieldDB-sikuli
Sikuli tests for AndroidLanguageLearningClientForFieldDB
AuthenticationWebService
A node.js web service which mananges users and corpora creation and authentication
bower-fielddb-angular
A bower repository which hosts fielddb-angular components, bower install fielddb-angular --save
bower-fielddb
A bower repository which hosts fielddb core components, bower install fielddb --save
fielddb-spreadsheet-sikuli
sikuli tests for the spreadsheet module
FieldDBActivityFeed
A fielddb activity feed widget which can be embedded in other codebases, websites etc
FieldDBGlosser
A semi-unsupervised language independent morphological analyzer useful for stemming unknown language text, or getting a rough estimate of possible parses for morphemes in a word. bower install fielddb-glosser --save
FieldDBLexicon
A lexicon browser/editor web widget for FieldDB databases
LanguageClassDashboard
App which provides a view of FieldDB corpora for language teachers
LexiconWebService
A node.js ElasticSearch wrapper for indexing/training lexicons from corpora
LexiconWebServiceSample
A node.js web server which implements the fieldlinguist's lexicon API for the FieldDB project
Academic Research Paper-Specific Repositories
Gargantua
Fast Unsupervised Sentence Aligner described in "Improved unsupervised sentence alignment for symmetrical and asymmetrical parallel corpora", COLING 2010
ldc-kiy
Materials for: The experimental state of mind in elicitation: illustrations from tonal fieldwork. Dubmitted to Language Documentation & Conservation,
- Learning to map into a Univerisal POS tagset
Yuan Zhang, Roi Reichart, Regina Barzilay and Amir Globerson
low-resource-pos-tagging-2014
and Published in: Learning a Part-of-Speech Tagger from Two Hours of Annotation. . In Proceedings of NAACL 2013. And in: Real-World Semi-Supervised Learning of POS-Taggers for Low-Resource Languages. . In Proceedings of ACL 2013
orthotree
Linguistic family tree based on orthographic distance
type-supervised-tagging-2012emnlp
This repository contains the code, scripts, and instructions needed to reproduce the results in the paper: Type-Supervised Hidden Markov Models for Part-of-Speech Tagging with Incomplete Tag Dictionaries. . In Proceedings of EMNLP 2012. This code is frozen as of the version used to obtain the results in the paper. It will not be maintained. To see the updated code, visit
visualizing-language
For visualizations of WALS and other typological databases
WALS-APiCS
Code for working with WALS-APiCS (Atlas of Pidgin and Creole Language Structures) complexity metrics
Example Repositories
CorpusWebService
über-simple node.js-Proxy to enable CORS request for couchdb
CorporaForFieldLinguistics
Small corpora from diverse language typologies, useful for testing scripts
lucenerevolution-2013
Demo examples for linguistics in Lucene and Solr
berlin-buzzwords-2013
Demo examples for Lucene, Solr, ElasticSearch and OpenNLP from Berlin Buzzwords 2013 talk
Fonts
fontinline
Make inline stroke paths from an outline font
Noto Fonts
Noto is Google’s free font family that aims to support all the world’s scripts. Its design goal is to achieve visual harmonization across languages. Noto fonts are under Apache License 2.0
- Unicodify
Unicodify is a suite of programs for converting text in a variety of 8-bit encodings to Unicode (using the UTF-16 encoding). Unicodify was particularly designed to handle HTML-based text using non-ISCII 8-bit fonts to render South Asian scripts. However, elements of the suite can map other types of non-ASCII 8-bit encodings, such as Latin-2, ISCII and PASCII
Corpora
bible-corpus
A multilingual parallel corpus created from translations of the Bible
poio-corpus
The Poio Corpus is a freely available collection of language resources for the lesser-used languages. The data is extracted from free sources like Wikipedia, dictionaries, documents, websites and others
Organizations / On GitHub
- batumi
Speech recognition and natural language processing for low-resource languages
- unicode-cldr
Unicode Common Locale Data Repository (CLDR) Project
- cmusphinx
Mirror of the SourceForge repositories
- dativebase
Tools for working with OLD
- divvun
The Divvun group at UiT develops proofing tools, keyboard apps and other language technology solutions for indigenous and minority languages, especially the Sámi languages.
- GiellaLT
home for keyboard layouts, lexicons and morphologies for indigenous and minority languages, especially for morphologically complex languages, using mainly rule-based techonlogies. The resources are used by Divvun (above) and Giellatekno (below) to build a number of tools for the language communities. Almost everything is open source
- HFST
Helsinki Finite-State Technology.
- langtech
Language Technology Group, University of Melbourne
- moses-smt
Statistical Machine Translation
- NLTK
Natural Language Toolkit
- Projet de recherche sur l'écriture
Crowdsourcing or conducting large scale psycholinguistics experiments (or statistically significant field linguistics)
- prosodylab
Prosodylab at McGill University, Canada
- SIL International (Dev)
Another SIL organization, with many repositories
- SIL International
SIL (originally known as the Summer Institute of Linguistics, Inc.) is probably the leading organization which provides software and tools tailored for use by field linguists and lexicographers working on endangered languages. A little known fact is that much of it's code is open sourced on GitHub and SIL is happy to recieve open source contributions and collaborate on open source projects
- SIL NRSI
SIL Non-Roman Script Initiative. The NRSI is a department of SIL International, whose task is to provide assistance, research and development for SIL International and its partners to support the use of non-Roman and complex scripts in language development
- ucsd-field-lab
University of California, San Diego
- UniversalDependencies
Universal Dependencies (UD) is a project that is developing cross-linguistically consistent treebank annotation for many languages, with the goal of facilitating multilingual parser development, cross-lingual learning, and parsing research from a language typology perspective. The annotation scheme is based on an evolution of (universal) Stanford dependencies (de Marneffe et al., 2006, 2008, 2014), Google universal part-of-speech tags (Petrov et al., 2012), and the Interset interlingua for morphosyntactic tagsets (Zeman, 2008). The general philosophy is to provide a universal inventory of categories and guidelines to facilitate consistent annotation of similar constructions across languages, while allowing language-specific extensions when necessary
- utcompling
The University of Texas at Austin's Computational Linguistics Lab.
Organizations / Other OSS Organizations
- Giellatekno
Giellatekno combines cutting-edge linguistic and computational research into the analysis of Saami and other morphologically-rich languages, with the development of practical applications. We focus on deep linguistic modeling and on highly efficient and robust computational analysis with a wide empirical coverage. They use svn for their code: all of it can be found , sorted by language
- LOWLANDS
LOWLANDS – Parsing low-resource languages and domains
- LTRC: Language Technologies Research Center IIIT Hyderabad
LTRC addresses the complex problem of understanding and processing natural languages in both speech and text mode. LTRC conducts research on both basic and applied aspects of language technology. It is the largest academic centre of speech and language technology in South Asia. LTRC carries out its work through four labs, which work in synergy with each other, as listed above
- The Language Archive
Part of the MPI
Tutorials
Language Specific Projects / Afrikaans
- Afrikaanse rekenaarlinguïstiek (Afrikaans computational linguistics)
— wordlists, corpora, morphological analyser, tagger, word decompounder. Available upon email
Language Specific Projects / Albanian
- Apertium rules for Albanian
Machine Translation rules
- out-of-copyright-albanian-authors
authors scraped from the albanian language wikipedia who are out of copyright
- Plis keyboard
The Plis keyboard is a keyboard or computer keyboard layout for the Albanian language
- spell checking
Here you find a collection of Albanian words and information about them. Aspell, Ispell, and MySpell are included
Language Specific Projects / Alutiiq
wiinaq
Word Wiinaq is a dictionary web application with automatically generated ending tables and souped-up search capabilities. It is written in Python using Django
Language Specific Projects / Amharic
HornMorpho
Morphological analysis and generation of Amharic and Oromo verbs and nouns and Tigrinya verbs
Language Specific Projects / Basque
- Matxin
An open-source transfer machine translation engine. Linguistic information for the translation from Spanish and Basque (es-eu) is included
Language Specific Projects / Bengali
- Bangla-অঙ্কুর for Mac
This project aims to develop a phonetic based Bangla typing system for Macintosh computer which can be developed into a transliteration technique in the future
Bengali Writer
`Bengali Writer' is a set of utilities for computerized editing and typesetting in Bengali, a language of India and Bangladesh. It comprises a set of fonts for Bengali in several formats (METAFONT, BDF, PS), a text editor with spell-cheking, export, and more. (Original project is on SourceForge: )
- Ekushey
Bangla Computing and Localization Project for the Bangla speaking people
Lekho
A collection of tools and resources for using bangla on computers (Original project is on SourceForge: )
Language Specific Projects / Chichewa
Chichewa
NLP resources for Chichewa
Language Specific Projects / Galician
an-metri-gal
Análise métrico de texto en verso en lingua galega (Galician language) gl-ES
android_gl_dict
Android Galician (gl_ES) Keyboard Dictionary
aspell-gl
Galician dictionary for aspell
CitiusSentiment
Sentiment analysis (opinion mining) for Portuguese, English, Spanish, and Galician
- CitiusTagger
A PoS-Tagger and Named Entity Classification tool for Portuguese, English, Galician, and Spanish
- Conshuga
Galician verb conjugator
corpora
This is a collection of corpus of Galician (or related to Galicia) words / Colección de corpus de palabras en galego (ou relacionadas con Galicia)
DepPattern
Dependency Syntactic Parsing for Portuguese, Spanish, English, and Galician, including MetaRomance parser
DOGA_scraper
Galician Official journal scraper
elFinder-language
Galician - Gallego / language for elFinder
EuroWordNetLemon
EuroWordNet lemon lexicons generated from the LMF versions of the Multilingual Central Repository (MCR) EuroWordNet lexicons. It includes lexicons for Spanish, Catalan, Basque & Galician
- GalegoDroid
Galician Translator for Android
galeXtra
Multiword Extractor for Portuguese, English, Spanish, Galician, French
Galician-Dependency-Treebank
This Galician Dependency Treebank has been developed by transliterating and adapting lexically the Portuguese part (Bosque 7.3 by the Floresta sintá(c)tica project) of the CONLL-X 2006
Galician-Fuzzy-Text-watch
Based on Fuzzy Text International by Jesse Hallett, uses the galician language to display time
galician-locale-for-mac
Galician locale for Mac OS X
gl-syllabler
Split galician language words into syllables
gl
Galician OmegaT Localisation
hunspell-gl-ciencias
Project oriented into developing a science and maths Galician language Hunspell dictionary
hunspell-gl
Galician hunspell dictionaries
hyphen-gl
Galician hyphenation rules
javagalician-java6
The Java Galician Locale is an implementation of Java localization SPIs which will allow the Java VM to use the Galician Language (locales "gl" and "gl_ES"), one of the official languages of Spain, which is not included in Sun's JVM distribution
Linguakit
Multilingual toolkit for NLP: dependency parser, PoS tagger, NERC, multiword extractor, sentiment analysis, etc
ParlamentoGalicia
Project based on the information extracted from the transcriptions of the sessions held in the Galician Parlament
poss-gl
Galician translation of Producing Open Source Software, by Karl Fogel
rima
Find rhyming words in galician language
stopwords-gl
Galician stopwords collection
texlive-babel-galician
TeXLive babel-galician package
UD_Galician-CTG
The Galician UD treebank is based on the automatic parsing of the Galician Technical Corpus created at the University of Vigo by the the TALG NLP research group
UD_Galician-TreeGal
The Galician-TreeGal is a treebank for Galician developed at LyS Group (Universidade da Coruña)
UL_Galician-TreeGal
CoNLL-UL Repository for UD_Galician-TreeGal
Language Specific Projects / Galician / Apertium
apertium-cat-glg
Apertium translation pair for Catalan and Galician
apertium-dict-en-gl
English-Galician language pair for Apertium
apertium-dict-es-gl
Spanish-Galician language pair for Apertium
apertium-dict-pt-gl
Portuguese-Galician language pair for Apertium
apertium-en-gl
Apertium translation pair for English and Galician
apertium-es-gl
Apertium translation pair for Spanish and Galician
apertium-glg
Apertium linguistic data for Galician
Apertium-pt-gl.pt-gl-LMF
This is the LMF version of the Apertium bilingual ditionary for Portugues and Galician languages
apertium-pt-gl
Apertium translation pair for Portuguese and Galician
Language Specific Projects / Georgian
awesome-georgia
A curated list of awesome libraries and packages specific/related to Georgia (country)
Gadatsqvetilebebi
გადაწყვეტილებები; Web spider and corpora importer for public legal decisions
GeoWordsDatabase
Around 310 000 unique Georgian words
Kartuli Speech Recognition
ანდროიდის ქართველი მომხმარებლებისთვის სიტყვის ამოცნობის სისტემის შექმნა. Codebase to turn any webpage from any alphabet into another alphabet, the default is to turn latin letters into Kartuli. "Do your friends keep commenting on Facebook with English keyboards (either because they forgot to switch, or because they didn't/can't install a Georgian keyboard)? Now you can read the web through კართული eyes."
KartuliChromeExtension
Chrome აპლიკაცია, რომელიც ყველა ინგლისურ ასო-ბგერას აჩვენებს ქართულ ასო-ბგერად
QartuliDaBunebismetkveleba
მათემატიკისა და ბუნებისმეტყველების ინტერაქტიული სახელმძღვანელო მე-2 - მე-3 კლასის მოსწავლეებისათვის
SakartvelosUzenaesiSasamartloSarke
საქართველოს უზენაესი სასამართლო სარკე
SamartlosSakonstitutsioSasamartdoSarke
სამართლოს საკონსტიტუციო სასამართდო სარკე
translitit-latin-to-mkhedruli-georgian
A Latin to ქართული (Mkhedruli Georgian) transliteration function written in JavaScript
translitit-mkhedruli-georgian-to-ipa
A Latin to ქართული (Mkhedruli Georgian) transliteration function written in JavaScript
Declensions
Methods to generate declensions for Georgian language
Language Specific Projects / Georgian / Fonts
Stichoza/font-larisome
Iconic font for Georgian currency inspired by Font-Awesome (CSS)
Lotuashvili/BPGNateli
Bower package for BPG Nateli font (CSS)
thecotne/georgian-webfonts
Package for georgian fonts (CSS)
Language Specific Projects / Georgian / Internationalization and Localization (i18n/l10n)
Stichoza/money-num-to-string
Convert a number/money to localized string (PHP, JavaScript)
natchkebiailia/NumberToWord
Convert numbers to localized strings (JavaScript)
d0ragon/number-to-words-ka
Convert numbers to localized strings (PHP)
dimakura/ka
Common functionality for georgian projects (Ruby)
dimakura/ka.js
Georgian language support for node and browser (JavaScript)
akalongman/kautilities
Convert Georgian letters to Latin and vice-versa (PHP)
Landish/Laravel-Ka
Georgian Language Pack
- Landish/RedactorJS-GE
Redactor WYSIWYG HTML Editor Georgian Language Pack (JavaScript)
wenzhixin/bootstrap-table
Bootstrap table with extra features. l10n by and
moment/moment
A lightweight date library (JavaScript)
ioseb/geokbd
Georgian keyboard library (JavaScript)
Language Specific Projects / Guarani
ParaMorfo
morphological analysis and generation of Spanish and Guarani verbs, nouns, and adjectives
Language Specific Projects / Hausa
Hausa
Repository for Hausa NLP tools
Language Specific Projects / Hindi
hindi-morph
An open source morphological analyzer for Hindi
Language Specific Projects / Høgnorsk
- hunspell-hn_NO
A beginning to a spellchecking tool for Høgnorsk, a conservative variant of Norwegian Nynorsk, based on a set of corpuses
Language Specific Projects / Icelandic
IceNLP
IceNLP is an open source Natural Language Processing (NLP) toolkit for analyzing and processing Icelandic text. The toolkit is implemented in Java
Language Specific Projects / Inuktitut
InuktitutAlignerData
Scripts for alignment of laboratory speech production data
InuktitutComputing
Inuktitut Morphological Analyser, transcoder, transliterator, corpus tools, and lexical lists for working with Inuktitut. Usable online at
Language Specific Projects / Irish
aimsigh
Source for the now-defunct aimsigh.com Irish search engine
caighdean
Code for standardizing Irish language text
fleiscin
Irish hyphenation patterns for TeX
GaelSpell
Sources for an Irish language spell checker
tesseract-gle-uncial
OCR for old Irish fonts
Language Specific Projects / Kinyarwanda
kin-morph-fst
Kinyarwanda morphological analyzer
- TurboTagger & TurboParser for Kinyarwanda (download)
TurboTagger & TurboParser for Kinyarwanda
Language Specific Projects / Kurdish
- Kurlex
Morphological analyser and lexicon, written in the Alexina framework, licensed under the LGPL-LR
kurmanji-stemmer
NLTK based kurmanji stemmer
Language Specific Projects / Lingala
- Lingala NLP
NLP tools and resources for Lingala
Language Specific Projects / Lushootseed
Lushootseed
Joshua Crowgey's work on Lushootseed
Language Specific Projects / Malay
MorfoMalayu
morphological analysis of Malay words
Language Specific Projects / Malagasy
- Global Voices Malagasy Project
This page provides a link to a corpus of parallel news articles in Malagasy and English from the Global Voices project. This corpus was collected and aligned at the sentence level by Victor Chahuneau
Language Specific Projects / Manx
Language Specific Projects / Migmaq
migmaq-lessons
Repository for website building Mi'gmaq language lessons
Language Specific Projects / Minderico
fredericajordarzambarino
A web based game for mobile devices in minderico based in the "Who Wants to be a Millionaire" TV show
Language Specific Projects / Nishnaabe
Ojibway-iphone-app
An iPhone app with audio and images for learning the Ojibway language
OjibwayMap
An iPhone app with audio and images for learning Ojibway language and culture
nishanimate
A desktop app to facilitate Nishnaabe-language acquisition via animations produced by the natural language processing of audio-accompanied text
Language Specific Projects / Oromo
hornmorpho
morphological analysis and generation of amharic and oromo verbs and nouns. and tigrinya verbs
Language Specific Projects / Quechua
AntiMorfo
morphological analysis and generation of Quechua nouns, adjectives, and verbs and Spanish verbs
- Morphology, spellchecker
XFST and FOMA, plus OpenOffice plugin
Language Specific Projects / Sami
divvun-webdemo
simple webdemo for divvun grammar checker.
- Giellatekno
A host of Sámi tools
- Oahpa!
A learning portal for Saami languages. Includes WordPress based, media rich lesson-based learning, and morphological and syntactic exercizes generated from the morphological and syntactic tools
- Neahttadigisánit
A morphologically sensitive dictionary, with modes for 'social media input' (which allows users to type a 'relaxed' version of the orthography ( will be recognized also as ), and also includes a JavaScript bookmarklet to offer click-to-read dictionary lookup functionality. Also available for . Giellatekno does a lot for other minority Uralic languages. Following are some keywords for CTRL+F friendliness:
Language Specific Projects / Scottish Gaelic
aspell-gd
Scottish Gaelic dictionary for aspell
briathrachan
This is the source code to Briathrachan, a Gaelic-English dictionary app for iOS
gaidhlig
NLP resources for Scottish Gaelic, mainly in support of gd2ga/ga2gd MT engines
gd-fcfg
Context-free feature-based grammar of Scottish Gaelic in the NLTK format
gdbank
Some tools and resources for natural language processing of Scottish Gaelic.
hunspell-gd
Files for building Scottish Gaelic spell checkers
Language Specific Projects / Secwepemctsín
secwepemctsnem
A project to help people learn Secwepemctsín
Language Specific Projects / Somali
- somorph
Somali morphological and syntactic analyzers and generators built on XFST and VISL-CG Constraint Grammar. Up to date version checked in on repository
- qaamuus.net
morphologically aware dictionary based on lexical resources found online, and the somali morphology
Language Specific Projects / Tigrinya
HornMorpho
morphological analysis and generation of Amharic and Oromo verbs and nouns and Tigrinya verbs
Language Specific Projects / Uralic
UralicNLP
A Python library for processing Uralic languages (Finnish, Skolt Sami, Erzya, Moksha, Komi-Zyrian and so on). The library provides an easy programmatic access to Giellatekno resources such as FST morphology and CG disambiguators. Other functionalities include UD parser, API for the and interface to SemFi and SemUr semantic databases. The library is under active development and new features are added from time to time
Language Specific Projects / Zulu
- Ukwabelana
An open-source morphological Zulu corpus
Nothing in this list matches your filter.
Featured in 3 awesome lists
Each link jumps to the spot where the list mentions low-resource-languages.