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