Fun with Vocabug
WIP
This article is a collection of uses for the word generator Vocabug, my opinions on word generation, and techniques.
What is a natural frequency for consonants in a language?
There is no one-size-fits-all answer to this question, and analysing a text corpus versus a dictionary may produce different data on what the general expectation is. For example, in English, /ð/ is very uncommon among all the words in English, however it is a common phoneme in a text corpus because of the prevalence of the words this, that, those and the. And indeed, morphology, historical sound changes and word borrowing can skew any initial control you might have over frequencies.
However, a good rule of thumb is that phonemes that are easy to pronounce and distinguish will be the most common.
Migrating from Lexifer to Vocabug
Vocabug is based primarily on the word generator program Lexifer, meaning it inherits all of Lexifer's features. This topic comes up in conversation often enough so I'll briefly explain the main changes that would have to be made to migrate from a Lexifer file to a Vocabug file:
- Categories, units, and transforms are now declared inside directives, rather than at the top level in any order.
- Vocabug units can be any length and are enclosed in angled brackets. These replace Lexifer's single-character macros (which begin with a dollar sign).
- Weights use an asterisk instead of a colon.
- Syntax Characters: Brackets, (and if you're a U.S. American: brackets, braces, parentheses and angled brackets) are now reserved as syntax characters. If these were used as graphemes in Lexifer for some reason, they should be commented out.
- Cluster-fields: In Vocabug, these begin with an opening angle bracket and a space, and terminate with a closing angle bracket on a new line.
- While Lexifer uses JavaScript regular expressions before an
>in its "filters", Vocabug utilizes its own richly-featured sound change applier syntax. Of note: the.wildcard in regex maps to wildcard*in Vocabug, and lookbehinds map to Vocabug's conditions and exceptions.