Firen Word Generator
Words |
---|
thirty-three sixty-two |
nine hundred forty-eight thousand, three hundred twenty-nine |
seventeen |
four hundred seventy-nine million, three hundred and seventy-four thousand, seven hundred and seventy-nine |
two hundred and six million, eight hundred seventy-four thousand, seven hundred seventeen |
nineteen ninety-eight |
thirteen million, eight hundred thirty-eight thousand, two hundred and thirty-six |
thirty-four thousand, two hundred and twenty-four |
seven hundred twenty-five |
eight hundred and eight thousand, ninety-five |
nine hundred and sixty |
forty-two |
sixteen million, forty-six thousand, eight hundred and twenty-five |
four hundred and ten million, four hundred five thousand, five hundred and one |
eight thousand, one hundred and ninety |
one hundred and thirty |
four hundred and ninety-eight million, ninety-nine thousand, three hundred forty-two |
six hundred and sixty-four million, seven hundred and ninety-seven thousand, nine hundred and ninety-two |
thirty-eight seventy-three |
five hundred fifteen million, five hundred and seventy thousand, three hundred seventy |
seven hundred seventy-seven thousand, nine hundred sixty-five |
nine hundred and seventy-two thousand, six hundred and four |
fifty-six forty-nine |
three hundred and twenty-two million, two hundred and ninety-seven thousand, nine hundred fourteen |
seven thirty-three |
sixty-four thousand, six hundred and ninety-six |
ten million, thirty-eight thousand, forty-nine |
five hundred and forty-nine million, eight hundred and two thousand, five hundred and five |
one thousand, two hundred and ninety-eight |
five hundred thirty-two million, one hundred and one thousand, two hundred fifty-four |
thirty-one fifty-two |
thirty-three forty-three |
forty-two |
five thousand, twenty-seven |
thirty-seven |
two thousand, two hundred ninety |
one hundred and thirty-five thousand, eight hundred and forty |
seven hundred and seventy-seven thousand, one hundred sixty-nine |
:zero nine eight, one seven eight, seven six eight two |
:plus one, seven three one, three four four, five five four eight |
seven hundred and ninety-five million, two hundred and nineteen thousand, four hundred and seventy-seven |
nine hundred and twenty million, five hundred forty-three thousand, two hundred eighty-one |
three thousand, five hundred and sixty-eight |
six hundred eighty-seven |
five hundred sixty-six thousand, eight hundred eighty-one |
sixty-one forty-seven |
one thousand, eight hundred sixty-one |
one hundred and eighty-eight |
sixty-eight |
eight hundred and twenty-two |
thirty-three |
sixty-two |
fifty-three |
one hundred and fifteen million, nine hundred and seventy-eight thousand, eight hundred and ninety-four |
six hundred and thirteen thousand, five hundred forty-three |
two sixty-six |
:one three two, four six nine, two five zero four |
five hundred thirty-six million, two hundred and twenty-six thousand, three hundred seventy-seven |
thirty-two forty-six |
nine hundred three thousand, thirty-nine |
ninety-one |
one hundred and six |
four seventy-seven |
ninety-nine twenty-one |
four hundred sixty-eight thousand, two hundred and fifteen |
forty-six |
nine hundred and forty-eight |
sixty-six eighty-two |
nine |
eight thousand, six hundred thirty-nine |
eight hundred and sixty-one thousand, one hundred and eighty-one |
eight |
three hundred fifteen thousand, two hundred sixty-seven |
:four eight three, one seven two, nine eight eight nine |
three hundred and eighty-two thousand, nine hundred and fifty-nine |
four sixty-seven |
:nine three three, six nine five, nine two three three |
fifty-one eighty-one |
four hundred and fifty-seven thousand, nine hundred thirty-six |
fifty sixty-four |
four thousand, six hundred twenty-eight |
five hundred and seventy-three |
six hundred and thirty thousand, nine hundred and sixty-two |
four thousand, seven hundred fifty-two |
:six eight four, zero six zero, zero three two four |
fifty-one forty |
three hundred and seventy million, thirty-one thousand, forty-two |
fifteen thousand, one hundred thirty-two |
four thousand, five hundred and eighty |
eighty-three thousand, two hundred thirty-seven |
eight thousand, one hundred seven |
seven hundred five million, nine hundred twenty thousand, nine hundred and twenty-six |
:five seven two, five three three, six four zero nine |
five hundred twenty-eight million, nine hundred twenty-seven thousand, six hundred and seventy-seven |
seven thousand, nine hundred and eighty-five |
one hundred and seventy-three million, one hundred ninety-seven thousand, two hundred twenty-seven |
forty-one thousand, eight hundred and fifty |
eight hundred and eighty thousand, two hundred and seventy |
five hundred and seventy-three thousand, two hundred eighty-seven |
seven hundred and forty-nine thousand, one hundred and seventy-nine |
Process returned 0
Utility Functions: Clear, Permalink
Noteworthy nodes in each datafile include:
Language | Datafile name | Root nodes (Click a root to generate from it) | Remarks |
---|---|---|---|
Firen | syllables.yml | Sentence , Noun , Verb , NominalRoot , VerbalRoot , | More information about Firen can be found on the Wiki. |
Sajem Tan | sajemtan.yml | Word , Root , Suffix , UnlikelyWord , UnlikelyRoot , UnlikelySuffix , | Sajem Tan is a collaborative conlang. It has a website here. |
English | english.yml | Sentence , | 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 Kidap | ffb.yml | Sentence , 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. |
Xanz | xanz.yml | word , tricons , root , word1 , | Another collaborative language in the Sajem Tan universe. It is the source of triconsonantal roots in Sajem Tan. |
Jafren | jafren.yml | Sentence , 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. |
Jokes | jokes.yml | Gender , | Someone on Mastodon posted a silly CFG for making gender jokes, so I encoded it as a WordGen datafile. Nothing more to it. |
Numbers | numbers.yml | number , 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. |
Tests | CFGs.yml | Dyck , 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