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