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:

Sentences
U kapat xigapab puxib vi viv ipi kapi.
I gabafig fapapis.
Xiub gabid suxi xakugi suxi xapak.
U savus suxi savus xisap-sukaxip-bat fabi.
Bux iaiag uxu ipi xux.
A savus divux guti kapat xugukax-xux.
Ixu iaiag.
I iaiag sapaxip.
Iu savus suxi savus puxib vi sapab.
Savus sit ipi gabifuxip guti kapat xix ipi kuf.
Iu xapak xapak sapapas-fap.
Ixu xikuk ibu-kuf.
A gabafig suxi kapat.
A bifig sapabis-divux aksup ipi gabifuxu.
Biub bifig aksup ipi sukaxis-vagaf gakif.
Ixu kapat bifuxixi-gabifuxu sud ipi kupib.
A kidap aksup ipi vifax sukapas.
U kapat sapab-bat puxib vi sapab.
Gi.
Kapat fap-vagaf iaiag sapaxip.
Iu kapat kagaxi puxib vi viv ipi fabi.
Bib savus dipik dipik-gabifupas aksup ipi fapaxip.
A kapat sukax-bat puxib vi gabafig.
I iaiag uxu ipi gabifuxip.
Savus suxi savus divux sit ipi pagaxi.
Xax gabid viv ipi fapagixi uxu ipi fapapis-sukaxis.
A savus ibu-kuf puxib vi viv ipi xigapab.
Kapat viv ipi xux-gabifuxip-sapaxip puxib vi ibu.
Ixu savus fapapas suxi sipu.
Ixu sipu sud ipi bifuxixi.
Bix kapat xix ipi kupib puxib vi xis.
Xa kapat gakif-xux puxib vi viv ipi sukax.
Biux kapat kuf uxu ipi divux xisap.
Xix iaiag ibu.
Ixu kapat guti savus kuf.
I iaiag viv ipi kupib.
Ixu kapisa ibu-kuf.
Ixu gabafig.
Savus bifuxixi sapabis sud ipi sapaxip-xigapab-xuxap.
Xux kapat fabi guti savus sapapas.
A dixav viv ipi fapaxip sapab-bat.
Iu sipu iaiag pagaxi.
A bifig xakugi bat-sapapas.
U iaiag kagaxi.
U bifig sit ipi pagaxi sit ipi fapaxip.
Xux iaiag sukax-bat.
Dab vi aksup ipi xuxap.
Xax xaku fapaxip xigapab-pagaxi.
A iaiag viv ipi xigukax-vifax.
U fabi-gau sapab-bat sukax-bat.
Kapat fapapas fapapas-sukapas fapaxip.
Bi iaiag sud ipi gakif.
Savus guti savus sit ipi bifuxixi fapaxip.
Iu savus fabi-bifuxixi sud ipi dipik aksup ipi ibu.
Iu iaiag xux.
Bu kapat sit ipi fapapis sukapas-dipik gakif-xux.
Kapat ibu fapaxip sit ipi divux.
Savus aksup ipi gabifuxu suxi xikuk ibu.
Sud ipi xigukax.
Iu kapat sapab-xis puxib vi viv ipi pagaxi.
Dab vi gabifupas-fapapis.
I gabafig sit ipi pagaxi.
Xu bifig viv ipi gabifuxip sud ipi xuxap-kagaxi.
A savus viv ipi fapapis-gabifuxip puxib vi kupib-kapi.
Gabafig kuf-dipik.
Fa.
Xux xikuk uxu ipi xux sukax.
Gabafig kapat.
Bu kapat sit ipi kagaxi puxib vi sud ipi fapaxip.
Ixu iaiag.
Kupid.
Xikuk fapagixi gabid.
Bi gabid xix ipi sapabis xapak.
Taki divux-sapab sapaxip-sukax.
Kapat.
A kapat xix ipi sukaxip xakugi sud ipi fapap-sukaxip.
A gabafig sud ipi divux.
A savus divux puxib vi sapabis-kupib.
Kapat sit ipi fap divux sukax.
Iu kapat aksup ipi fap-bifuxixi-sapabis-bat aksup ipi vagaf viv ipi xuxap.
Xax savus kupib puxib vi vifax.
Savus sit ipi xuxap puxib vi fabi.
Ixu xaku xis.
Dixav sukaxip viv ipi fapagixi.
Xiub xapa sud ipi sapapas guti savus.
Iaiag suxi dixav.
Ixu tisup sukax.
Bu xapkat fapagixi guti kapat.
Xiux gabid suxi kapat sud ipi sukapas.
Kupid.
I kapat sit ipi fap puxib vi sud ipi gakif.
U savus xigukax puxib vi guti kapat.
Iu savus kapat puxib vi kagaxi.
Xapa viv ipi sukaxip-kapi xisap.
Fabi-gau vagaf-bat sukax.
Xux gabafig fap.
Iu bifig gabifuxip divux.
Bax gabid sud ipi sukaxip kagaxi-ibu-sapaxip.
Tisup fapapis kuf.
Iu gabid xix ipi kupib fapapis-bifuxixi.

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