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
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:

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