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

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