Firen Word Generator
Word | Gloss |
---|---|
sas sigůtoṙsaregadi ail | RCP DP-CONT-shout[IND]-TERM-A2p-P3pD 3pD[ABS] |
zůnassaoredidi ikase | PP-[PFV]play:SBJ-TERM-A1pX-P3pD couple-A[ABS] |
nům sas bůvollamčo | APV RCP F-[PFV]change:DEO-P2p |
badiki sůtillamzafi | father-A;person-ERG DP-[PFV]speak:DEO-A3pI-P1pI |
ail gůlůttamgadi | 3pD[ABS] [C]CONT-remove:DEO-A2p-P3pD |
fosamzadu alatifki ailnůṙ | [C][PFV]help:DEO-A3pI-P3pD peace-D-ERG 3pD-FML.COLL[ABS] |
sas zegůgagarododu isseki | RCP PP-CONT-verb[IND]-TERM-A3pD-P3pD spirit-A-ERG |
ruttaṙtufku sůṙ sas sigůsaosamsaonu | number-D-ERG 3pA[ABS] RCP DP-CONT-count:DEO-A3pA-P3pA |
nům sas kůsůggadeskče | APV RCP [C]HAB-be_sick:DISS-P2p |
nům pittaludo badi | APV [C][PFV]feel_pain[IND]-INC-A3pD father-A;person[ABS] |
nad sas hisppadeskro | PSV RCP [C][PFV]find:DISS-TERM |
ailki alatif sas nassadeskdedi | 3pD-ERG peace-D[ABS] RCP [C][PFV]play:DISS-A3pD-P3pD |
kůsamamdo saṙl | [C]HAB-look:DEO-A3pD snow[I][ABS] |
vůmmaṙgabe alatif | [C][PFV]create:SPEC-A2p-P3pI peace-D[ABS] |
folku paṙvse zůsaosafuzabo | 3pI-ERG tree-A[ABS] PP-[PFV]count:COND-A3pI-P3pI |
sigůnakamrododu ailki aon | DP-CONT-intersect:DEO-TERM-A3pD-P3pD 3pD-ERG hand[I][ABS] |
ailistifki folgao zegůfuskbafulisaibe | essense-spirit-D-ERG 3pI-PCL[ABS] PP-CONT-write:COND-INC-A3pA-P3pI |
sůgůlačogabo riaṙlesivaofaomatgao | DP-[PFV]mark[IND]-MOMT-A2p-P3pI noun-noun-noun[I]-COLL-PCL[ABS] |
alatifki sůzaimadeče | peace-D-ERG DP-[PFV]turn[IND]-A3pD-P2p |
nům kůgůlamdi | APV [C]HAB-mark:DEO-A1pX |
fol nům sas sigůpittabe | 3pI[ABS] APV RCP DP-CONT-feel_pain[IND]-P3pI |
rospiki basketif kůfosadobo | friend-A;person-ERG word-D[ABS] [C]HAB-help[IND]-A3pD-P3pI |
edki aon luskfusaodu | black[I]-ERG hand[I][ABS] [C][PFV]blow:COND-A3pA-P3pD |
ikase sas zekůsůggadeskgani | couple-A[ABS] RCP PP-HAB-be_sick:DISS-A2p-P3pA |
nům sas čunnafubo fola | APV RCP [C][PFV]birth:COND-P3pI 3pI-PL[ABS] |
bůtonnaṙdodu saṙlki | F-[PFV]verb:SPEC-A3pD-P3pD snow[I]-ERG |
zůvůmmačododu ailki | PP-[PFV]create[IND]-MOMT-A3pD-P3pD 3pD-ERG |
nad nům | PSV APV |
dao famaṙdi | 1pX [C][PFV]sleep:SPEC-A1pX |
folku tozzalizače | 3pI-ERG [C][PFV]love[IND]-INC-A3pI-P2p |
kůsunfudodu ailskeki | [C]HAB-have:COND-A3pD-P3pD 3pD-PL-ERG |
nům sas kůlůttati | APV RCP [C]HAB-remove[IND]-P1pX |
nům sas pittambe ed | APV RCP [C][PFV]feel_pain:DEO-P3pI black[I][ABS] |
badiki goa koṙačezače | father-A;person-ERG 2pT-PL [C][PFV]govern[IND]-MOMT-A3pI-P2p |
sas kůtitaludodu pitki haonuspaṙtuf | RCP [C]HAB-verb[IND]-INC-A3pD-P3pD shadow[I]-ERG noun-noun-D[ABS] |
ailki spippafulidefi | 3pD-ERG [C][PFV]verb:COND-INC-A3pD-P1pI |
badi kůgeddafuligadi | father-A;person[ABS] [C]HAB-hit:COND-INC-A2p-P3pD |
folku sůṙ sas bigůhanamrozanu | 3pI-ERG 3pA[ABS] RCP F-CONT-speak:DEO-TERM-A3pI-P3pA |
gůnakeskgabe aon | [C]CONT-intersect:DISS-A2p-P3pI hand[I][ABS] |
alatifki sůṙ sas geddarodonu | peace-D-ERG 3pA[ABS] RCP [C][PFV]hit[IND]-TERM-A3pD-P3pA |
daogao gimmelilůṙhussaoraṙ kogamredibe | 1pX-PCL noun-noun-noun-noun[I][ABS] [C][PFV]push:DEO-TERM-A1pX-P3pI |
kůkoṙazanu basketifki ruttaṙtuf | [C]HAB-govern[IND]-A3pI-P3pA word-D-ERG number-D[ABS] |
bůvůmmaṙsaodu sůṙki | F-[PFV]create:SPEC-A3pA-P3pD 3pA-ERG |
sůṙgai sas gůkoṙfuganu | 3pA-PCL[ABS] RCP [C]CONT-govern:COND-A2p-P3pA |
nad zůtillade ailmat | PSV PP-[PFV]speak[IND]-A3pD 3pD-COLL[ABS] |
nům sas sůlůttalutu daomatsko | APV RCP DP-[PFV]remove[IND]-INC-P1pX 1pX-COLL-PL |
tilladeskgafi | [C][PFV]speak:DISS-A2p-P1pI |
sas gůgeddadeskdidi daoa | RCP [C]CONT-hit:DISS-A1pX-P3pD 1pX-PL |
skůstfusufu | [C][PFV]verb:COND-A1pI-P1pI |
sas čunnalideni ailhaotnůṙki sůṙ | RCP [C][PFV]birth[IND]-INC-A3pD-P3pA essense-world-family[I]-ERG 3pA[ABS] |
sikůnassarodobo alatifki folgao | DP-HAB-play[IND]-TERM-A3pD-P3pI peace-D-ERG 3pI-PCL[ABS] |
sůṙki fol fosamsaobo | 3pA-ERG 3pI[ABS] [C][PFV]help:DEO-A3pA-P3pI |
sůggadeskrogafu | [C][PFV]be_sick:DISS-TERM-A2p-P1pI |
sas půt zůnepeskčozačo folaku | RCP DPV PP-[PFV]lend:DISS-MOMT-A3pI-P2p 3pI-PL-ERG |
saṙl sas gůnassafuregani | snow[I][ABS] RCP [C]CONT-play:COND-TERM-A2p-P3pA |
půt sůnepamrogafu | DPV DP-[PFV]lend:DEO-TERM-A2p-P1pI |
sigůsaigadeskčodufu | DP-CONT-wrap:DISS-MOMT-A1pX-P1pI |
nepůṙgani pav můttaohustso | [C][PFV]lend:SPEC-A2p-P3pA 2pV noun-noun-A[ABS] |
ed nům sas čunnamnu | black[I][ABS] APV RCP [C][PFV]birth:DEO-P3pA |
sas bůnassadidi ailmat | RCP F-[PFV]play[IND]-A1pX-P3pD 3pD-COLL[ABS] |
nům sas sůgůlamče | APV RCP DP-[PFV]mark:DEO-P2p |
nům sas gůvostafuliče | APV RCP [C]CONT-lose:COND-INC-P2p |
bigůlůttalusudu | F-CONT-remove[IND]-INC-A1pI-P3pD |
alatif zůvůmmasibe | peace-D[ABS] PP-[PFV]create[IND]-A1pI-P3pI |
bůskoṙffamza čonnutaṙppunůṙ | F-[PFV]overdo_farewell:DEO-A3pI noun-noun[I]-FML.COLL[ABS] |
geddairodobo ailki fol | [C][PFV]hit:SBJ-TERM-A3pD-P3pI 3pD-ERG 3pI[ABS] |
ůṙfseki kůpetladeče | adolescent-A-ERG [C]HAB-grasp[IND]-A3pD-P2p |
sůṙki pav kůpittafusaočo | 3pA-ERG 2pV [C]HAB-feel_pain:COND-A3pA-P2p |
ailmataki delse kůtůtadeskdeni | 3pD-COLL-PL-ERG noun-A[ABS] [C]HAB-touch:DISS-A3pD-P3pA |
sůsaigasaidi sůṙki pil | DP-[PFV]wrap[IND]-A3pA-P3pD 3pA-ERG grey[I][ABS] |
kůslannačogadu pavmat ail | [C]HAB-sing[IND]-MOMT-A2p-P3pD 2pV-COLL 3pD[ABS] |
půt keparozatu guspsaṙtataoku | DPV [C][PFV]verb[IND]-TERM-A3pI-P1pX noun-noun-noun[I]-ERG |
nům sas sůvolladeskfi | APV RCP DP-[PFV]change:DISS-P1pI |
sůzaimůṙrozačo folku | DP-[PFV]turn:SPEC-TERM-A3pI-P2p 3pI-ERG |
půt bigůgůtasidi | DPV F-CONT-give[IND]-A1pI-P3pD |
ikaseki ruttaṙtuf koṙfuredebe | couple-A-ERG number-D[ABS] [C][PFV]govern:COND-TERM-A3pD-P3pI |
sas kůlattamdonu isseki pil | RCP [C]HAB-cut:DEO-A3pD-P3pA spirit-A-ERG grey[I][ABS] |
ail sas kůlůllalugadu | 3pD[ABS] RCP [C]HAB-verb[IND]-INC-A2p-P3pD |
sas kůgeddasifi | RCP [C]HAB-hit[IND]-A1pI-P1pI |
zůzaimazadi folku aon | PP-[PFV]turn[IND]-A3pI-P3pD 3pI-ERG hand[I][ABS] |
sůṙaki ed sas gůloṙsaobo | 3pA-PL-ERG black[I][ABS] RCP [C][PFV]mark:SPEC-A3pA-P3pI |
sůnakagadi | DP-[PFV]intersect[IND]-A2p-P3pD |
sas nassalugadu | RCP [C][PFV]play[IND]-INC-A2p-P3pD |
fol gůlamgabe | 3pI[ABS] [C][PFV]mark:DEO-A2p-P3pI |
zůtoṙsaganu puočulso | PP-[PFV]shout[IND]-A2p-P3pA noun-noun-A[ABS] |
sůslannaṙrogadu | DP-[PFV]sing:SPEC-TERM-A2p-P3pD |
gůpittaṙzadi pilki ailistif | [C]CONT-feel_pain:SPEC-A3pI-P3pD grey[I]-ERG essense-spirit-D[ABS] |
saigamdifi | [C][PFV]wrap:DEO-A1pX-P1pI |
nům bůčunnafure | APV F-[PFV]birth:COND-TERM |
saosarezani folku ailhaotnůṙ | [C][PFV]count[IND]-TERM-A3pI-P3pA 3pI-ERG essense-world-family[I][ABS] |
fai sas kogadučo | 1pI RCP [C][PFV]push[IND]-A1pX-P2p |
paṙvseki sůṙnůṙ stulasaonu | tree-A-ERG 3pA-FML.COLL[ABS] [C][PFV]verb[IND]-A3pA-P3pA |
sas pittafusaonu sůṙki sůṙ | RCP [C][PFV]feel_pain:COND-A3pA-P3pA 3pA-ERG 3pA[ABS] |
aonku ailistif fosamzadu | hand[I]-ERG essense-spirit-D[ABS] [C][PFV]help:DEO-A3pI-P3pD |
ailgai zůzaimesklusudu | 3pD-PCL[ABS] PP-[PFV]turn:DISS-INC-A1pI-P3pD |
gůpoṙddamsunu badi | [C]CONT-grasp:DEO-A1pI-P3pA father-A;person[ABS] |
basketifki fol sas gůvůṙlasaibe | word-D-ERG 3pI[ABS] RCP [C]CONT-impact[IND]-A3pA-P3pI |
folku sas půt kůkasaluzatu | 3pI-ERG RCP DPV [C]HAB-verb[IND]-INC-A3pI-P1pX |
luskamzadu folku ailistif | [C][PFV]blow:DEO-A3pI-P3pD 3pI-ERG essense-spirit-D[ABS] |
sas sigůvůṙlaisaidi sůṙmatki | RCP DP-CONT-impact:SBJ-A3pA-P3pD 3pA-COLL-ERG |
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