I am happy to announce the release of Vocabug version 1.0.0
https://neonnaut.neocities.org/vocabug
Vocabug randomly generates vocabulary from a given definition of graphemes and word patterns. It can be used to generate words for a constructed language, original nicknames or passwords, or just for fun.
This word generator is designed to be a successor to the Williams' Lexifer and to the legendary Awkwords. You can find Vocabug's repository here. You can also use Vocabug in your own projects or as a command-line-interface here.
If you would prefer a more typical user interface with simple syntax, please check out Vocabug-lite here.
Here are some of the many features
- You can use character escape! Any syntax character can be escaped and there are named escapes too.
- Supra-set: Lets say you had suprasegmentals that can occur only once per word in multiple positions, such as stress. In every other word generator you have to list out every possible position where stress can occur as a separate word-shape. A supra-set allows all these positions the stress can occur in one word-shape, and only one will be chosen per word.
- Sets: There are two kinds of sets with generating words. 'Pick-one' where Vocabug will pick an option from that set. 'Optional' where Vocabug has by default a 10% chance of choosing an option from that set.
- You can change the default distribution of categories or word-shapes.
- Conditions and exceptions: You can ensure transformations on words only occur in a certain environment.
- Features: Define feature‑based categories (e.g., [+nasal], [−voice], [+labial]) and use them to build rules. This allows you to write rules that operate on classes of sounds rather than individual graphemes.
- Metathesis: Swaps the first and last grapheme of part of a word.
- Reference: You can capture a grapheme or stream of graphemes to be reproduced elsewhere.
- Associatemes: What are associatemes? They are real cool. You should check them out.
- Routines: Routines are transforms that do jobs such as capitalisation, Xsampa-to-IPA, and Roamanisation-to-Hangul