This is a set of tools I am using to play the game Ginger. It contains a text copy of the in-game dictionary, the inputs for each speech sound, and a tool for searching the dictionary. The search tool requires Node.js to run.
The search tool can be invoked by running ./search with any of the following
options:
-d WORD: find entries that defineWORD-u WORD: find entries that make use ofWORD-t TYPE: find entries with definitions of typeTYPE-T: list all word types with their frequencies-s count: sorts the results by how many definitions the word is used in, rather than the default alphabetical order-x: apply translations fromtranslations.txtto the output
The -d and -u options can be used multiple times to search on several terms
at once. They also support pattern matching, wherein WORD can take the
following forms:
STR: searches for an exact match onSTRX.Y: matches words that begin withXand end withY; eitherXorYmay be empty.STR.: searches for words that containSTR
For example, search -d subt. finds the definitions for words begining with
subt.
One further option is available for displaying the possible pronunciations of a word, e.g.:
$ ./search -p ginger
- g|in|g|er @↓.↑ / @↓→. / @↓.↑ / ←.↓
- g|in|ge|r @↓.↑ / @↓→. / @↓.← / ↓↑.
- g|in|g|e|r @↓.↑ / @↓→. / @↓.↑ / @_←. / ↓↑.
The -p option shows all the ways the given word can be broken into phonemes,
and how to input those phonemes. An @ means the sound is voiced, the first
arrow shows how to move the tongue, (or _ for no input), and the second arrow
how to move the lips. A . before the lips instruction means the "speak" button
should be pressed before the lips, and a . after means the opposite.
For example:
←.↓means tongue left, speak, lips down@_←.means voiced, no tongue input, lips left, speak