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:

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