Firen Word Generator
English Text | Lexemes |
---|---|
If an ox was purple, some goose of our tanner deer was some bees, they weren't greyer than that, and the being bee of poked fish was whiter, then that book is his pinkest? | if a ox be.sPast purple some goose1p=gen tan.er deer.p be.sPast bee.p 3p not be.pPast grey.er than this.s and the be.PresPart beepoke.PastPart fish.p be.sPast white.er then this.s book be.3sPres 3sm=gen pink.est |
Two bees aren't black, so I'm not redder. | bee.p not be.pPres black so 1s not not not be.1sPres red.er |
I'm greyer than theirs, and you're pink? | 1s be.1sPres grey.er than 3s and 2s be.pPres pink |
You do some bee. | 2s do.inf some bee |
You poke yours. | 2s poke.inf 2s |
I sneeze not. | 1s not not not sneeze.1sPres |
You be her. | 2p be.inf 3sf |
You be yours. | 2s be.inf 2s |
I sneeze not, these are yellower than them, you were black, so these are tanner. | 1s not not sneeze.1sPres that.p be.pPres yellow.er than 3p 2s be.pPast black so that.p be.pPres tan.er |
That isn't greener so this sneezed. | this.s not be.3sPres green.er so that.s sneeze.sPast |
I'm bluer than these, for I'm redder. | 1s be.1sPres blue.er than that.p for 1s be.1sPres red.er |
Chickens were bluer than that, but boxes aren't seeing bees' greenest. | chicken.p be.pPast blue.er than this.s butnot box.p not be.pPres see.PresPart bee.p=gen green.est |
You don't see being chickens? | 2s not not not see.pPres be.PresPart chicken.p |
Buy theirs. | buy.inf 3s |
You poke those? | 2p poke.inf this.p |
I was, we sneeze not, four bought bees weren't greyer than you, but this bought me! | 1s be.sPast 1p not not sneeze.pPres buy.PastPart bee.p not be.pPast grey.er than 2p but that.s buy.sPast 1s |
You be yellower geese. | 2s be.inf yellow.er goose.p |
Poke a doing bee. | poke.inf a do.PresPart bee |
Xe was red. | 3sn be.sPast red |
None of four chickens of blacker oxen of a chicken is but she's orange. | chicken.pblack.er ox.pa chicken be.3sPres but 3sf be.3sPres orange |
If I'm not brown, so those were brown, then I'm not greyer than these. | if 1s not not be.1sPres brown so this.p be.pPast brown then 1s not be.1sPres grey.er than that.p |
Xe's red, and I wasn't blacker? | 3sn be.3sPres red and 1s not not be.sPast black.er |
I wasn't greener, for one is yellow. | 1s not be.sPast green.er for 3.indef be.3sPres yellow |
This isn't redder than some being deer, and these weren't orange. | that.s not be.3sPres red.er than some be.PresPart deer and that.p not be.pPast orange |
You be that. | 2s be.inf this.s |
A done cup was purpler, but those fish aren't oranger than these boxes? | a do.PastPart cup be.sPast purple.er butnot this.p fish.p not not not be.pPres orange.er than that.p box.p |
If two being oxen of the ox of two things weren't greener than three of a few oxen's own green chicken, and three of four tanner chickens isn't bluer, then I wasn't pink. | if be.PresPart ox.pthe ox thing.p not be.pPast green.er than ox.p=gen own green chicken and tan.er chicken.p not not not not be.3sPres blue.er then 1s not be.sPast pink |
You buy some chicken. | 2p buy.inf some chicken |
I wasn't pink, but I wasn't bluer. | 1s not be.sPast pink butnot 1s be.sPast blue.er |
You see xem. | 2p see.inf 3sn |
If I sneezed, we weren't some of only blue boxes' greenest, none of three things is yellower, but cups of some seen cups of two bees aren't xyr yellowest, then none of books of some sneezing deer is three being cups' bluest. | if 1s sneeze.sPast 1p not not not be.pPast blue box.p=gen green.est thing.p be.3sPres yellow.er but cup.p see.PastPart cup.p bee.p not not not be.pPres 3sn=gen yellow.est then book.psome sneeze.PresPart deer be.3sPres be.PresPart cup.p=gen blue.est |
Blacker oxen don't see him, but pinker cups weren't that pinkest! | black.er ox.p not not see.pPres 3sm butnot pink.er cup.p not be.pPast this.s pink.est |
I'm yellower, some bees are some sneezing chicken's own bluest, so a doing box doesn't poke theirs. | 1s be.1sPres yellow.er bee.p be.pPres some sneeze.PresPart chicken=gen own blue.est so a do.PresPart box not not not not not not poke.3sPres 3s |
These were these reddest so this was purple. | that.p be.pPast that.p red.est so that.s be.sPast purple |
Books of only of books of this red book were tanner than one's, for I wasn't oranger than you. | book.pbook.pthat.s red book be.pPast tan.er than 3.indef for 1s not be.sPast orange.er than 2p |
Chickens' own chickens are, but we weren't yellower than xem. | chicken.p=gen own chicken.p be.pPres butnot 1p be.pPast yellow.er than 3sn |
If those were yellower then three fish weren't those greyest? | if this.p be.pPast yellow.er then fish.p not be.pPast this.p grey.est |
Only buying cups aren't browner, so she's browner. | buy.PresPart cup.p not not be.pPres brown.er so 3sf be.3sPres brown.er |
You buy this. | 2s buy.inf that.s |
I do one of those doing cups. | 1s do.1sPres this.p do.PresPart cup.p |
I'm not pink. | 1s not not not be.1sPres pink |
Be these. | be.inf that.p |
You do theirs. | 2p do.inf 3p |
Buy only of our greyest bees! | buy.inf 1p=gen grey.est bee.p |
You aren't tanner? | 2s not be.pPres tan.er |
The chicken does for I buy ours? | the chicken do.3sPres for 1s buy.1sPres 1p |
These were my whitest, but this wasn't grey. | that.p be.pPast 1s=gen white.est butnot that.s not be.sPast grey |
You do this. | 2p do.inf that.s |
The deer of black fish is the tannest, and three doing cups weren't oranger. | the deerblack fish.p be.3sPres the tan.est and do.PresPart cup.p not be.pPast orange.er |
That saw those for you're the tannest. | this.s see.sPast this.p for 2p be.pPres the tan.est |
None of cups of sneezing books wasn't those greyest, but she isn't her reddest. | cup.psneeze.PresPart book.p not be.sPast this.p grey.est but 3sf not not be.3sPres 3sf=gen red.est |
The orangest bee isn't pinker, for this doing thing bought a box of a buying book. | the orange.est bee not be.3sPres pink.er for that.s do.PresPart thing buy.sPast a boxa buy.PresPart book |
I'm blacker but these are browner. | 1s be.1sPres black.er but that.p be.pPres brown.er |
Some goose is tanner than that, but they weren't redder than sneezing geese of chickens' sneezing bee! | some goose be.3sPres tan.er than this.s butnot 3s be.pPast red.er than sneeze.PresPart goose.pchicken.p=gen sneeze.PresPart bee |
These were her tannest. | that.p be.pPast 3sf=gen tan.est |
These are your own greyest, for I'm a few of four of things of a bee of these chickens' bluest. | that.p be.pPres 2p=gen own grey.est for 1s be.1sPres thing.pa beethat.p chicken.p=gen blue.est |
If I was redder, for these aren't whiter than one, then xe was none of bees' own pinkest? | if 1s be.sPast red.er for that.p not not not not not not not not not be.pPres white.er than 3.indef then 3sn be.sPast bee.p=gen own pink.est |
This wasn't, for that wasn't xyr greyest! | that.s not be.sPast for this.s not be.sPast 3sn=gen grey.est |
Doing cups of none of only boxes weren't grey, but I wasn't greyer than this. | do.PresPart cup.p box.p not be.pPast grey butnot 1s not be.sPast grey.er than that.s |
If a blacker fish was green, then I wasn't purple. | if a black.er fish be.sPast green then 1s not not not not not not be.sPast purple |
If those were one then a chicken wasn't yellower? | if this.p be.pPast 3.indef then a chicken not be.sPast yellow.er |
I see me. | 1s see.1sPres 1s |
You buy them. | 2p buy.inf 3s |
All buying oxen aren't bluer, but those aren't things' blacker fish of four poking oxen's orangest. | buy.PresPart ox.p not be.pPres blue.er butnot this.p be.pPres thing.p=gen black.er fish poke.PresPart ox.p=gen orange.est |
He wasn't tan. | 3sm not not be.sPast tan |
Yellower oxen were oranger and I wasn't browner than this. | yellow.er ox.p be.pPast orange.er and 1s not not be.sPast brown.er than that.s |
I was greyer, I was whiter, but they weren't those tannest. | 1s be.sPast grey.er 1s be.sPast white.er but 3p not not be.pPast this.p tan.est |
They weren't ours. | 3p not be.pPast 1p |
See ours! | see.inf 1p |
You be a bee. | 2p be.inf a bee |
He's these blackest. | 3sm be.3sPres that.p black.est |
A few of the oxen isn't brown! | the ox.p not be.3sPres brown |
Be that. | be.inf this.s |
They weren't yellower than her, but some thing's deer isn't the yellowest. | 3p not be.pPast yellow.er than 3sf butnot some thing=gen deer not be.3sPres the yellow.est |
I was bluer than those. | 1s be.sPast blue.er than this.p |
You aren't the pinkest so I'm orange! | 2s not not not be.pPres the pink.est so 1s be.1sPres orange |
Three oxen's own cup was tan, so the fish is our tanner geese of one of things' reddest. | ox.p=gen own cup be.sPast tan so the fish be.3sPres 1p=gen tan.er goose.pthing.p=gen red.est |
If I sneeze, then this was this reddest? | if 1s sneeze.1sPres then that.s be.sPast that.s red.est |
This's purpler, but we are. | that.s be.3sPres purple.er but 1p be.pPres |
Do two of two sneezing deer. | do.inf sneeze.PresPart deer.p |
A few greyer cups aren't yellower. | grey.er cup.p not not be.pPres yellow.er |
See xem. | see.inf 3sn |
One isn't browner, for a thing is brown? | 3.indef not be.3sPres brown.er for a thing be.3sPres brown |
If some things are bluer, none of only oxen does xyrs, I'm not black, I'm not these, I'm not pink, this buys them, some bees weren't yellower than mine, this was greener, I'm not yellower, so books were whiter, then this isn't greener than you. | if thing.p be.pPres blue.er ox.p do.3sPres 3sn 1s not not not not not be.1sPres black 1s not be.1sPres that.p 1s not not be.1sPres pink that.s buy.3sPres 3p bee.p not not be.pPast yellow.er than 1s that.s be.sPast green.er 1s not be.1sPres yellow.er so book.p be.pPast white.er then that.s not not not not not not be.3sPres green.er than 2p |
Be them! | be.inf 3s |
If four of all oxen wasn't our own blackest then I'm chickens' bluest. | if ox.p not not not not be.sPast 1p=gen own black.est then 1s be.1sPres chicken.p=gen blue.est |
It sneezes not. | 3si not sneeze.3sPres |
I'm oranger and brownest books aren't purpler. | 1s be.1sPres orange.er and brown.est book.p not not not not not be.pPres purple.er |
I wasn't the whitest, I'm the brownest, for you're a sneezing box of the being bees! | 1s not be.sPast the white.est 1s be.1sPres the brown.est for 2s be.pPres a sneeze.PresPart boxthe be.PresPart bee.p |
I'm not blacker, but these aren't blue? | 1s not be.1sPres black.er butnot that.p not not not be.pPres blue |
Its reddest ox of some sneezing goose was mine but these weren't blacker. | 3si=gen red.est oxsome sneeze.PresPart goose be.sPast 1s but that.p not not not be.pPast black.er |
I saw yours, you aren't purpler than these, for they were purpler than those. | 1s see.sPast 2s 2s not be.pPres purple.er than that.p for 3p be.pPast purple.er than this.p |
Do her? | do.inf 3sf |
I'm not purpler, these were brown, but I wasn't greyer than fish. | 1s not be.1sPres purple.er that.p be.pPast brown but 1s not be.sPast grey.er than fish.p |
I'm grey. | 1s be.1sPres grey |
You poke these. | 2s poke.inf that.p |
If I'm not bluer than the brown bee, three of a few whiter fish were the bluest, I buy this, but the done cup was, then some being bee's poking fish was my orangest? | if 1s not be.1sPres blue.er than the brown bee white.er fish.p be.pPast the blue.est 1s buy.1sPres that.s but the do.PastPart cup be.sPast then some be.PresPart bee=gen poke.PresPart fish be.sPast 1s=gen orange.est |
You be four cups? | 2p be.inf cup.p |
If I wasn't greyer then that was purpler. | if 1s not not not not be.sPast grey.er then this.s be.sPast purple.er |
Boxes of some blue deer are whiter, but you aren't? | box.p blue deer.p be.pPres white.er butnot 2s be.pPres |
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