Firen Word Generator
Words | gloss |
---|---|
plus one, zero seven six, three one three, four five three nine | |
three nine five, three one six, nine nine eight three | |
zero nine seven, five four eight, zero four four six | |
eight four two, one nine eight, five six zero zero | |
one three four, four seven six, six zero seven seven | |
eight eight four, nine six six, five three three zero | |
seven zero five, six eight four, zero six five nine | |
two seven three, three seven five, five three six five | |
five nine one, one one two, three zero nine two | |
plus one, three eight eight, seven three three, two seven one five | |
two four nine, seven eight three, eight one five zero | |
four two five, eight eight six, five zero seven five | |
nine eight eight, one five one, six four four three | |
eight two eight, three zero five, eight three two five | |
three three six, five three two, four six two three | |
five two six, nine three three, seven five one zero | |
zero eight eight, four seven six, three one zero one | |
eight three five, six eight three, seven nine nine six | |
one two zero, three six nine, zero six six four | |
three nine zero, zero nine zero, six five six eight | |
nine three five, three nine two, three nine one two | |
one three four, seven one seven, nine eight two one | |
five two five, three five three, eight three zero seven | |
six nine eight, seven four four, eight four five four | |
three three nine, one four four, nine four seven one | |
plus one, five nine five, nine zero four, one two two one | |
eight seven four, eight nine zero, seven eight one one | |
one zero eight, three one two eight | |
five eight nine, one seven six, six one nine seven | |
four six six, four nine two, zero nine four four | |
five four seven, three four two, seven six zero four | |
plus one, nine seven one, one nine eight, six five one eight | |
nine zero five, three five five, seven six seven one | |
four five two, zero three eight seven | |
five two seven, one one zero, four six three six | |
six two nine, seven six five, one nine five four | |
four four one, zero one five, one five four five | |
three three one, five five five, five seven five three | |
nine six three, five three nine, nine nine nine eight | |
five nine five, nine three four, six one zero two | |
nine eight eight, one four three, eight four three seven | |
seven two three, zero seven zero, nine three nine five | |
five one two, three nine two, four nine three three | |
three zero four, nine five zero, nine two seven eight | |
nine five four, two one one eight | |
zero three three, six nine seven, two five nine zero | |
zero six three, six three four nine | |
six three five, three seven four, three seven four four | |
six eight seven, two nine six, six six six five | |
nine nine eight, zero five four, zero nine two zero | |
three five six, zero three two, seven four two zero | |
nine eight one, seven eight seven two | |
zero four one, three zero four, six six nine four | |
four one eight, zero two four, zero three three zero | |
zero zero five, six nine zero, six five four eight | |
one one three, five four zero, seven three zero five | |
five one zero, two nine four, six one seven five | |
two one nine, two four one, seven three one five | |
nine six zero, zero three six, one two six two | |
five nine four, three three zero, six nine six three | |
two seven three, six seven two, nine one seven three | |
eight seven six, three seven eight, five two one nine | |
zero one one, six nine one, five five five eight | |
zero six seven, seven nine two, eight eight one eight | |
four six one, three nine three, two five five seven | |
nine three zero, zero three eight, three eight eight eight | |
three three seven, zero six zero, one six nine seven | |
one nine eight, six nine six, five two one four | |
five nine three, three two five, eight nine one nine | |
six seven six, seven four six, three five eight two | |
three seven six, one five one, three three three four | |
plus one, two four one, eight three five, nine seven two four | |
two eight five, two six nine, eight zero five zero | |
one nine two, six eight three, three nine eight eight | |
five seven three, zero four seven, three three seven six | |
four five nine, eight zero six, two five zero four | |
zero zero seven, eight two one, two six two eight | |
one five zero, six two two, zero eight zero nine | |
one zero seven, seven three two, four nine three seven | |
eight six nine, six zero zero, one five five eight | |
four three zero, zero five nine, eight three eight eight | |
zero five nine, one zero four eight | |
plus one, seven two three, three zero eight, nine six six three | |
eight five four, one six five, five seven six four | |
eight seven two, four one one, one three one three | |
one eight two, one one four, four nine two two | |
four seven one, five three three, zero zero seven three | |
plus one, zero four three, four zero four, three six five seven | |
zero seven nine, two zero nine, two eight three six | |
three six one, three three nine, zero nine three four | |
six eight nine, two three four, zero four zero nine | |
eight eight zero, eight three two, seven two three nine | |
two two nine, three two one, eight nine eight four | |
eight zero nine, one one nine, nine seven zero one | |
one eight six, six nine two, one eight six nine | |
three zero four, nine three four, seven six zero nine | |
four six zero, eight three two, six five nine nine | |
plus one, eight two three, nine six four, nine three three zero | |
two seven eight, four one one, one nine eight two | |
seven nine four, two zero nine, eight three eight six |
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