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