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

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