Firen Word Generator
Words | gloss |
---|---|
plus one, five zero seven, three three one, one four five three | |
plus one, seven five zero, nine five four, three one six four | |
plus one, eight three two, four three seven, nine seven eight two | |
plus one, six six zero, four six five, zero one nine eight | |
plus one, nine one nine, eight one five, zero zero seven nine | |
plus one, one three four, four four seven, three four six zero | |
plus one, three five zero, eight eight four, four nine six six | |
plus one, three three zero, eight six seven, seven zero five seven | |
plus one, four one six, six five nine, three one one three | |
plus one, seven six three, five five seven, three six five five | |
plus one, eight five nine, three five one, two eight four three | |
plus one, four nine zero, three eight eight, seven three three nine | |
plus one, five two two, eight five two, nine six one seven | |
plus one, six eight one, zero one four, three eight four two | |
plus one, eight eight six, eight five zero, five eight one two | |
plus one, eight eight four, one five one, six six four four | |
plus one, two two three, two eight six, three zero five one | |
plus one, two five nine, zero six one, three six two two | |
plus one, nine two four, two three seven, eight three three five | |
plus one, three nine three, seven one seven, one zero zero two | |
plus one, zero eight eight, eight four seven, one seven three one | |
plus one, two nine one, eight three five, nine six eight three | |
plus one, nine nine six, eight four seven, one two zero one | |
plus one, nine four three, six six four, five three eight three | |
plus one, six five zero, zero two one, five six eight zero | |
plus one, one nine three, eight six three, two eight six three | |
plus one, seven seven three, five one three, three five seven one | |
plus one, nine eight two, three four eight, six five two five | |
plus one, five three seven, eight three zero, one two two eight | |
plus one, eight two zero, four four five, eight four five four | |
plus one, six four three, nine one nine, four four seven eight | |
plus one, one two nine, two five nine, five nine zero four | |
plus one, two one zero, seven six nine, seven four eight three | |
plus one, nine two seven, one one seven, three one zero eight | |
plus one, one two eight, four one five, five eight nine zero | |
plus one, six two eight, one nine seven, two eight five zero | |
plus one, nine six four, two seven five, nine four four eight | |
plus one, five five four, five eight three, two four five seven | |
plus one, seven nine two, nine seven one, one nine eight nine | |
plus one, eight two three, one seven nine, five four two three | |
plus one, six seven six, one one zero, four five two eight | |
plus one, eight seven zero, one zero one, two seven two three | |
plus one, three one four, three six three, six nine six six | |
plus one, three seven six, zero five one, five four nine eight | |
plus one, four four one, one zero one, one three one five | |
plus one, six two three, three three one, five five five five | |
plus one, seven five three, five nine six, nine six three five | |
plus one, nine seven three, nine nine eight, three four three one | |
plus one, nine three nine, four three six, one zero two four | |
plus one, two nine eight, four seven one, three seven three eight | |
plus one, eight one three, seven seven two, two five zero seven | |
plus one, nine three nine, eight five eight, five five one two | |
plus one, nine two three, four nine three, three seven seven one | |
plus one, four three nine, five zero three, nine two seven eight | |
plus one, nine five four, one two one, eight one four one | |
plus one, three three two, six nine seven, seven two five nine | |
plus one, nine zero six, seven eight six, four nine zero eight | |
plus one, six three five, three three seven, six four three seven | |
plus one, four eight one, six eight seven, seven two nine six | |
plus one, six six five, two five one, nine nine eight four | |
plus one, four five six, nine two zero, seven zero five seven | |
plus one, four zero zero, two nine two, four two zero one | |
plus one, eight one eight, seven eight seven, five four five three | |
plus one, one one five, zero four four, six six nine four | |
plus one, eight five four, eight three seven, two four seven six | |
plus one, zero seven three, five five zero, five six seven six | |
plus one, seven six five, eight one two, three seven one one | |
plus one, five four zero, four seven three, five two six four | |
plus one, one zero five, two nine four, three six one seven | |
plus one, zero two eight, one nine seven, two four one five | |
plus one, one five six, six five three, six zero six seven | |
plus one, zero two one, six two one, six five two five | |
plus one, four three three, nine four six, six three four one | |
plus one, two seven three, four six seven, one nine nine one | |
plus one, five three nine, eight seven six, eight three seven eight | |
plus one, two one nine, six two two, zero one one six | |
plus one, one eight seven, five five eight, six nine three four | |
plus one, one three seven, two nine eight, eight one eight two | |
plus one, three four six, two six three, three six zero two | |
plus one, six five four, three nine three, one five zero three | |
plus one, three eight eight, seven one nine, eight three three seven | |
plus one, six zero nine, one six nine, three eight five two | |
plus one, eight eight nine, nine six seven, five two one four | |
plus one, three seven five, three five nine, two five four zero | |
plus one, nine zero two, three six six, six zero four seven | |
plus one, seven three five, two three three, two four three seven | |
plus one, one five one, three three three, four five nine five | |
plus one, one four eight, five four nine, two four zero eight | |
plus one, two eight five, seven two six, one eight eight zero | |
plus one, four four two, one nine two, six six eight three | |
plus one, nine eight eight, six six nine, five seven three nine | |
plus one, seven nine two, three seven six, eight four four seven | |
plus one, one two eight, six three eight, five zero four four | |
plus one, eight zero zero, eight nine eight, one nine eight two | |
plus one, zero seven four, eight one five, zero three six two | |
plus one, zero eight zero, nine one zero, eight one zero seven | |
plus one, three two five, four nine three, zero five nine two | |
plus one, nine five nine, zero zero zero, one five five eight | |
plus one, six six four, zero seven six, five nine two three | |
plus one, eight one zero, zero five nine, one one zero four |
Process returned 0
Utility Functions: Clear, Permalink
Noteworthy nodes in each datafile include:
Language | Datafile name | Root nodes (Click a root to generate from it) | Remarks |
---|---|---|---|
Firen | syllables.yml | Sentence , Noun , Verb , NominalRoot , VerbalRoot , | More information about Firen can be found on the Wiki. |
Sajem Tan | sajemtan.yml | Word , Root , Suffix , UnlikelyWord , UnlikelyRoot , UnlikelySuffix , | Sajem Tan is a collaborative conlang. It has a website here. |
English | english.yml | Sentence , | My (possibly poorly-considered) attempt to encode basic English grammar in WordGen. I apologise in advance to anyone who tries to make sense out of it. |
Dab vi Suxi Kidap | ffb.yml | Sentence , Word , Compound , Syllable , | DVSK is a very simple isolating language that was created as a collaboration between me and 4 other people from the Sajem Tan tribe, however it was abandoned after working out the foundations. |
Xanz | xanz.yml | word , tricons , root , word1 , | Another collaborative language in the Sajem Tan universe. It is the source of triconsonantal roots in Sajem Tan. |
Jafren | jafren.yml | Sentence , Word , ChordL , Chord , Chord1 , Chord2 , Chord3 , Chord4 , Chord5 , | A musical language used in the same setting as Firen. It is currently much less well-developed. |
Jokes | jokes.yml | Gender , | Someone on Mastodon posted a silly CFG for making gender jokes, so I encoded it as a WordGen datafile. Nothing more to it. |
Numbers | numbers.yml | number , phoneNumber , internationalPhoneNumber , | This is one of the first files I ever wrote, and it shows. It makes use of outdated and deprecated features of WordGen and made the very questionable choice of using 'val' for a phonetic English reading of the number and 'ipa' for the digits. |
Tests | CFGs.yml | Dyck , binPalindrome , Node , | This file exists as a testing ground for things that are
too simple to need their own files, and for new or experimental
features. You will need to uncrease the recursion depth to use some of
these roots, particularly Node or else
get a million errors. |
Note that CFGs.yml is not allowed on this web interface due to higher resource use than the other files and its reliance on WordGen/Cpp features.
Feel free to look at the sources for WordGen/Py and WordGen/Cpp.
wordgen.py
is the current version of the script, and
syllables.yml
is the current version of the Firen data file.
This is the web frontend for a Python program that will produce random words using a (rather nifty) weighted-randomized macro expansion approach. IPA transcriptions are generated from the same file, and are not directly attached to the orthography. This means that "digraph recognition" is not even a concept to worry about.
In a second phase, regular expressions and Mealy-type finite state machines are applied to transform the output.
The Firen datafile is generally quite well-developed, and produces generally good results. The IPA transcriptions are sometimes non-obvious because they include synchronic sound changes, and sometimes unnatural but generally still correct, such as with the overzealous syllabification.
The other datafiles are in various stages of development.
Not that it matters or anything, but unless you provide your own seeds, this web frontend has worse randomness because it is simply using Unix time as the seed. (It's required that the server generates the seed for the permalink to work, and time is the standard easy choice for these things.) When run from the command line without an explicit seed parameter, the randomness is much better (Python seeds its random generator from the system's main entropy source). Maybe I could make this Base64-encode some bytes from /dev/urandom or something for the seed instead, it wouldn't change too much.
Working-1.py
is a less flexible earlier (Python 2 only) draft,
which technically knows nothing about words, and only generates syllables.
You may find it interesting or even useful. syllables1.yml
is
the data file for that version. The two versions are not compatible, but
are mostly similar and a single file could in theory be agnostic between
them.
Once this is "done", my next plan is to implement something with Markov chains, the more classical way to generate natural language.
Top