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
nine hundred sixty-three million, three hundred and forty-five thousand, eight hundred and sixty-six
:plus one, seven three one, four five nine, eight three two five
nine seventy
eight thousand, six hundred three
nine thousand, eight hundred and forty
:nine eight five oh seven
one hundred and forty-three thousand, four hundred and sixty-three
seventy-one fifty-nine
five hundred and eighty-five million, forty-three thousand, sixty
six hundred sixty-seven thousand, one hundred and ninety-five
one hundred and forty-two million, six hundred and forty-seven thousand, four hundred and fifty-three
three thousand, six hundred and fifty
one hundred twenty-seven
forty-eight
seven hundred three thousand, eight hundred and seventy-one
thirty-seven
eighty-five
eight hundred and seventy-one thousand, nine hundred fifty-eight
four hundred and ninety-eight million, three hundred fifty thousand, five hundred twenty
eight hundred seventy-one thousand, one hundred and sixty-five
three thousand, one hundred forty-seven
three hundred one million, three hundred fifty-eight thousand, nine hundred twenty-three
two thousand, three hundred eighty-two
six hundred and seventy thousand, five hundred and sixty-six
six hundred and seventy-four million, eighty-six thousand, eighty
twenty-seven twenty-nine
eight hundred and forty-seven
fifteen forty-nine
four thousand, eight hundred thirty-nine
three
nine hundred and sixty-four million, three hundred forty thousand, nine hundred fifty-nine
:eight zero five, one nine three, six three nine two
seventy-seven thousand, five hundred and twenty-three
six hundred seventy-eight
one hundred and forty-seven million, five hundred fifty-four thousand, three hundred and forty-six
thirty-one million, five hundred seventeen thousand, nine hundred and forty-three
fifty-four thirty-seven
three hundred and ten
forty-seven
one hundred eighty-three million, eight hundred fifty-eight thousand, twenty-two
zero
fifty-seven thousand, eight hundred and nineteen
seventy-one
one hundred and five thousand, two
twenty-five
nineteen twenty-six
sixty
eight hundred and ninety-four thousand, five hundred fifteen
five hundred four million, fourteen thousand, five hundred and seventy-four
two hundred fifty-six
:nine seven one, nine eight nine, one eight two three
ninety-nine
three hundred and fifty-two
one hundred ninety-one thousand, five hundred and seventy-nine
six seventeen
:three one one, one four six, three seven six nine
seventy-five thousand, nine hundred twenty-eight
seven forty-two
eight hundred and ninety-one
twenty-four
thirty-two thirty-three
fifty-four
seven hundred and forty-seven million, ninety-five thousand, five hundred and fifty-three
seventeen thousand, three hundred and thirty-one
three hundred twelve million, six hundred and twenty-nine thousand, four hundred and twenty-one
four hundred twenty-four million, two hundred fifty thousand, seven hundred thirty-one
two hundred and ninety-seven thousand, eighty
seventy-nine fifty-one
eight hundred and forty-nine million, thirty-seven thousand, one hundred thirty-nine
eight ninety-two
eight hundred nineteen million, sixty-one thousand, one hundred and eighty-one
nine
nine hundred and eighty-six
eight hundred nine thousand, nine hundred thirty-seven
eight hundred and seven thousand, five hundred thirty-five
six hundred and sixty-four
five hundred eighty-one thousand, six hundred and seventy
fifteen
:two five one, nine eight four, five four five six
ninety-four million, five hundred and forty-nine thousand, eighty-two
nine hundred and ninety-seven
forty million, two hundred forty-five thousand, seven hundred and one
nine thousand, three hundred and sixty-five
two seventeen
eight hundred and sixty-nine
ninety-three ninety-six
four hundred four
seventy-six thousand, three hundred and twenty
one thirty-one
nine thousand, three hundred and thirty-nine
forty-seven
nine thousand, one hundred and ninety-four
one hundred fifty-four
:seven three two, five seven seven, five six three six
six fifteen
:two six two, six five two, four seven four three
:four
four hundred and ninety-two million, seven hundred and seventy-four thousand, seven hundred twenty-eight
forty-nine
one seventy-five

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