Firen Word Generator
| Sentences |
|---|
| Gabafig xux. |
| Gabafig suxi xapak. |
| Kidap aksup ipi dipik-gabifuxu aksup ipi kagaxi. |
| I dixav sud ipi bifuxixi sapabis-dipik. |
| A savus aksup ipi kagaxi-fabi-pagaxi-vagaf puxib vi fap. |
| I kapat sukax-bat puxib vi fap. |
| Dab vi uxu ipi fabi. |
| Xapa fapapas aksup ipi gabifuxu. |
| Bib xaku gakif-xux sukax. |
| Biux savus sukax-bat fusi vi sapab-bat sukaxis. |
| I kapat gakif-xux puxib vi gabafig. |
| Iu xapa gabifuxu sukapas. |
| Xi iaiag sukax. |
| I kapat gakif gabifuxip-sukaxis aksup ipi divux. |
| Ixu savus vagaf-xisap sapab-bat. |
| Bab kapat uxu ipi bat puxib vi suxi dixav. |
| Iu tisup vifax fapapas. |
| A iaiag fapapis. |
| Ba tisup uxu ipi fapap aksup ipi kagaxi. |
| Kupid. |
| I savus xugukax-xux puxib vi iaiag. |
| Ixu kapat uxu ipi vagaf. |
| Ixu xikuk pagaxi. |
| I gabafig savus. |
| Bux sipu sukaxis sapapas. |
| Xa xapa sapabis gakif. |
| Iu gabafig savus. |
| Ixu taki vagaf-fapapas. |
| Ixu savus sud ipi sapapas. |
| Gabafig iaiag. |
| Bi kapat viv ipi sapapas sukax-bat sud ipi gabifuxu. |
| Gabafig guti savus. |
| Xab savus gabid puxib vi sit ipi sapabis-fapapis. |
| Xapak gakif-xux iaiag. |
| Bib kapat sukax-bat puxib vi suxi xapak. |
| Xix ipi fapapas-divux. |
| U kapat fap-kapi-xux-kuf puxib vi gakif-xux. |
| Ba xapkat gabifuxu savus. |
| Xub savus gabifuxip puxib vi sukax-bat. |
| Ixu kidap bat. |
| Iu iaiag uxu ipi fap-vifax. |
| A savus viv ipi xux gabifuxu-sukaxis viv ipi xux. |
| Bib gabafig sit ipi sukaxip. |
| Dupiduxi. |
| Iu savus suxi tisup puxib vi gabifupas-fap. |
| Ixu xapa suxi tisup. |
| Ixu kapat suxi kapat. |
| I kapat viv ipi gabifuxip puxib vi iaiag. |
| Gabafig aksup ipi bat. |
| Kapat sukax-bat puxib vi gabifupas. |
| Tisup viv ipi vagaf xix ipi fabi. |
| Kapat aksup ipi xis-sukaxip puxib vi kagaxi-fapagixi. |
| Xax gabafig fapap. |
| I kapat gabifuxu-sapabis aksup ipi fapap fabi-sukaxip. |
| Iu sipu uxu ipi fapagixi savus. |
| I savus bat vagaf kuf. |
| Xiu savus gakif gabafig gabifupas. |
| Savus viv ipi divux sapabis-gabifupas sit ipi fapaxip. |
| Bu savus xikuk xux-gabifuxu kapi. |
| Iu savus suxi fabi-gau puxib vi uxu ipi fapapas. |
| Biub kapat sukaxip fapagixi bat. |
| Dab vi viv ipi kupib-kupib. |
| Xu savus viv ipi fap viv ipi fapap viv ipi sukapas. |
| A savus aksup ipi sukaxip puxib vi fapapis. |
| Iu iaiag viv ipi xisap. |
| U savus buki vi xix ipi dipik sukax-bat sukapas. |
| Ixu gabafig. |
| Iaiag xix ipi xisap-sukapas-fabi. |
| Dab vi viv ipi bat. |
| Ixu kapat kidap sud ipi sapapas. |
| Fabi-gau savus ibu-kuf. |
| Savus ibu-kuf puxib vi uxu ipi sukapas. |
| U savus uxu ipi fapapis puxib vi sit ipi fabi. |
| I gabafig sukaxip. |
| Kapat uxu ipi sukaxip sapabis divux-kagaxi-xuxap. |
| Iu gabid sit ipi vifax vifax. |
| Xib savus xigukax puxib vi uxu ipi vagaf-xisap-sapapas-dipik. |
| U savus kapat puxib vi savus. |
| Xu kapat gabifuxu puxib vi suxi kapat. |
| Kapat suxi dixav puxib vi uxu ipi bat. |
| Biu savus xix ipi bat puxib vi sapab-bat. |
| Savus gabafig uxu ipi sapapas guti kapat. |
| Biub kapat sapabis puxib vi sukax. |
| Gabafig gabifuxip. |
| Xax bifig xigukax-gabifupas sukapas. |
| Gabafig sapab. |
| Fa. |
| I iaiag buki vi xuxap. |
| Ixu savus uxu ipi bifuxixi. |
| U xapak uxu ipi fap sukapas. |
| Xaku sud ipi xux viv ipi pagaxi. |
| Ixu kapat suxi kidap sit ipi kuf. |
| A savus kupib ibu-xigukax uxu ipi dipik. |
| U iaiag sud ipi sapabis. |
| Bi savus divux-vagaf-gabifuxip puxib vi gakif-xux. |
| Ixu iaiag. |
| Xux kapat dipik puxib vi uxu ipi fabi. |
| Bib kapat sukax-bat fapapas sapab. |
| U savus fapapas puxib vi sud ipi vifax. |
| Gabafig sukaxip. |
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