Firen Word Generator

Words: (Limit 250)
Show IPA:
Show glosses:
Show old orthography: (Sajem Tan only)
Show original IPA: (Sajem Tan only)
Show Ðab Tan: (Sajem Tan only)
Show Ðab Tan IPA: (Sajem Tan only)
Show ABC notation: (Jafren only)
Show alphabetical notation: (Jafren only)
Datafile:
Root Node:
Show All Options:

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:

LanguageDatafile nameRoot nodes (Click a root to generate from it)Remarks
Firensyllables.ymlSentence, Noun, Verb, NominalRoot, VerbalRoot, More information about Firen can be found on the Wiki.
Sajem Tansajemtan.ymlWord, Root, Suffix, UnlikelyWord, UnlikelyRoot, UnlikelySuffix, Sajem Tan is a collaborative conlang. It has a website here.
Englishenglish.ymlSentence, 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 Kidapffb.ymlSentence, 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.
Xanzxanz.ymlword, tricons, root, word1, Another collaborative language in the Sajem Tan universe. It is the source of triconsonantal roots in Sajem Tan.
Jafrenjafren.ymlSentence, 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.
Jokesjokes.ymlGender, Someone on Mastodon posted a silly CFG for making gender jokes, so I encoded it as a WordGen datafile. Nothing more to it.
Numbersnumbers.ymlnumber, 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.
TestsCFGs.ymlDyck, 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