The Voynich Ninja

Full Version: How to create a pseudo language in 13 easy steps.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Step 1:  Grab 100 random words from Dickinson Latin Core Vocabulary.
Step 2:  Split those words into phonetic prefix/midfix/suffix.  Only keep the prefix and suffix.
Step 3:  Pick 20 random prefix and suffix from that normalized list.

PrefixSuffix
mensa
magnus
grana
corcor
miror
deles
monsdo
mucem
moda
narmons
merus
gensdus
maro
bouam
caue
aa
ee
ii
oo
uu

Step 4:  Create a list of vowels, a,e,i,o,u,y then, create a substitution table by shifting them one to the right.
Step 5:  Create a list of random consonants then, create a substitution table by shifting them one to the right.
Step 6:  Substitute those shifted vowels and consonants into your prefix and suffix table.  Make sure to pick suffixes and prefixes that do not contain k, t, p or f.

Shifted PrefixShifted Suffix
buqgo
bozqag
zyoqo
wiywiy
beyiy
xudug
biqgxi
bawub
bixo
qoybiqg
buyag
zuqgxag
boyi
riaob
woau
oo
uu
ee
ii
aa

Step 7:  Combine your new prefixes and suffixes randomly in order to create words.  Note, you can stack up to 3 prefixes onto a suffix.
Step 8:  Insert a k, t, p or f into the first letter position of the first word and randomly into other words.
Step 9.  See what your first test output looks like.

pbuqi aupa bkeo bowub i rii buua bazyoaob oiqo zyowogo uexag xu bozxag woixo babarixi woyiy ebue buqqag bia bkiwiy babiqg abiko baboyiy beyi zyodug ebawpiy eebaxo eobawub a uzyoyi ogo buxag buau ibozxag bozzyokego qoybee buuxi zyobebiqg woo bobouaob bau wokbuqbixo biqtag wkiyuwub yag rti zyobipqgqo xubodug zpyogo bebfebui.

kbebawiyau ewiy bebopbiqg bubobozau wiy buzyoku buqyag bozyiy euyiy exki uwtiy bozwub bobiqg be ewfiy beyag wobawkub btaeyag zuqgtwou u exuxi abibuqxakg ebiqgyi a baaob buqoyxo rikxo zuqgewub zuqgqag xugo bozwtiy axag biupbozau zuqgwiyxi exuwiy ou riqoyku ie bayiy ebozriwiy bobaxo o zuqgyi rioi ebiqgu biqgogfo boxi biqgykag zyoea ribiqgxo.

kbibiqgu bawub bteqo wofe bewoxag bexag etzyoxi ia wobiqg bozbpuqyag riyapg riexi bubewiy bozyi boukqag biwoyiy yiy zyowobexo bogfo abae bozbozau qoywub eqto aob bkozbuqxag zuqgwiy bizuqgoxi o ribuqtwiy bebeaob bozbabuxo riqo atu zyoau zuqgueyi xuau biupxo zyoo ubuqaxag buwowiy uribozwiy bobiqgu boubiqg xubozixag babeyiy qoybeeyiy buqxag biqgu zuqgeqfo eebuxi.

fbiqoywub xuxuxi biqgqo bebuqbiqg wopxag riyiy zyoxi boadug wto baaotb ria iabiqg wity xfubaqo u xag babiqag uboxuqag baiau qoybiqg i bekbuqyi e biabiqg wiybozwoa baxi biqgabae ebiqgqag iboqo qoyieqag wiyxo biqgibue owobiqg buqbadug zyoeadug biawou bobawub riqoydug e xurixo bayi riwfoeyag zyoyi biaxi rizyoqag aobiqag zuqgbekyiy xudug riboaob boufxo.

ICK! garbage.

Step 10: Restrict word lengths to 10 chars with an attempt to average around length 6.
Step 11: Create copy/mutate rules.  15% of words are created from the shifted prefix/suffix table or just the prefix or just the suffix. 30% are copies of words you've already put on the page.  50% are mutations of words by adding, deleting or swapping prefixes in words that have multiple prefixes. And the last 5% is just singletons.
Step 12:  Check your new output.

fbozqo beqo i bozqo i bozqpo beaob babozqo beqo beqo beqo oaob beaob xubozqo ibeqo beqo xubozqo beqo qoybeqo woaob obeqo babozqo zyowoaob beaofb rikbeqo wiyu zyowoaob woaob wiyykag buwiy qoybeqo oribeqo a beqo bubeqo bozqo qoywiyyag zuqggko bfeoaob buqwoaob bozyiy woaob bebeoaob bibuwiy wiyte bibuwiy bibeqto ribuwiy btabeqo wobeqo.

twiydug zyowtoaob buwity beqo i beaob beaob btozqo aaob zyowoaob biqgaaob buqbofaob xuzyowoaob bebeqo zuqggo buqbiqkg bozwoaob e obeqo a ubeqo ebuwtiy wiyi bozbibeqo ebutwiy biqpgbeqo bawobeqo exfag uibeqo bkozqo wiyu beqo bepwiye ubikbeqo oaaob ufwiye woaob ufyiy abeaob woxo wiyyiy biqgqo aaaob bozwiydug ibeqo xuaaob buqbetaob bawifyyag biqgaaob zyowobkeqo.

kzyowoaob ebeqo oabeaob beqo buwiy xkuxi ibeqo oubeqo rkibaqo bozqo awoaob aaob biqgbeqo u obeqo beqo buqwtoaob buqwiyfi bozqo riwiy bfoi i bozkxo bezyoe bozaob iaaob beqo bei bozbezyoe biqgbeqo buqwoaob rixuqko ariwiy bibeqo bfexag uiqo buwoaob bowiyu exuqo bowiy uriqo opbozqo bozwiyi wifyxi i oxki iebuwiy woaob ebeaob iebuwiy.

twoaob qoyafob biqgwiy zyooubeqo bozbozxo wofaob oiebuwiy buquwiye bozqo bowiyu euibeqo woaob baobeqo riqpoybeqo exukqo buquwiye xuwkiyyag uqpag zyowoaob woyiy bobebeqpo bobuwiy ibowiyu buqwoaob bowiy boztaaob zuqggo iebuwiy xuaaob beqo iqoyaob qoykuriqo zyoyi iwiyu ibobau oribeqo woyag u btawobeqo zyou bkeaob boyag wiywiy bebei aobeqo qoybiqg biqgaaob zyoki bozpqo bozexuqo.

Much better!

Step 13:  Substitute Latin characters for a cool looking alphabet you made up.

fbozqo beqo i bozqo i bozqpo beaob babozqo beqo beqo beqo oaob beaob xubozqo ibeqo beqo xubozqo beqo qoybeqo woaob obeqo babozqo zyowoaob beaofb rikbeqo wiyu zyowoaob woaob wiyykag buwiy qoybeqo oribeqo a beqo bubeqo bozqo qoywiyyag zuqggko bfeoaob buqwoaob bozyiy woaob bebeoaob bibuwiy wiyte bibuwiy bibeqto ribuwiy btabeqo wobeqo.

twiydug zyowtoaob buwity beqo i beaob beaob btozqo aaob zyowoaob biqgaaob buqbofaob xuzyowoaob bebeqo zuqggo buqbiqkg bozwoaob e obeqo a ubeqo ebuwtiy wiyi bozbibeqo ebutwiy biqpgbeqo bawobeqo exfag uibeqo bkozqo wiyu beqo bepwiye ubikbeqo oaaob ufwiye woaob ufyiy abeaob woxo wiyyiy biqgqo aaaob bozwiydug ibeqo xuaaob buqbetaob bawifyyag biqgaaob zyowobkeqo.

kzyowoaob ebeqo oabeaob beqo buwiy xkuxi ibeqo oubeqo rkibaqo bozqo awoaob aaob biqgbeqo u obeqo beqo buqwtoaob buqwiyfi bozqo riwiy bfoi i bozkxo bezyoe bozaob iaaob beqo bei bozbezyoe biqgbeqo buqwoaob rixuqko ariwiy bibeqo bfexag uiqo buwoaob bowiyu exuqo bowiy uriqo opbozqo bozwiyi wifyxi i oxki iebuwiy woaob ebeaob iebuwiy.


twoaob qoyafob biqgwiy zyooubeqo bozbozxo wofaob oiebuwiy buquwiye bozqo bowiyu euibeqo woaob baobeqo riqpoybeqo exukqo buquwiye xuwkiyyag uqpag zyowoaob woyiy bobebeqpo bobuwiy ibowiyu buqwoaob bowiy boztaaob zuqggo iebuwiy xuaaob beqo iqoyaob qoykuriqo zyoyi iwiyu ibobau oribeqo woyag u btawobeqo zyou bkeaob boyag wiywiy bebei aobeqo qoybiqg biqgaaob zyoki bozpqo bozexuqo.


Extra credit:  Tweak the output as needed to make it look good and add some ambiguous illustrations.

Now, before you say it: 

Do I really think this is how the Voynich was created? 

No.  Of course not. 

BUT... I'm going to ask you to look over that output a bit closer.  You are going to see a lot of 'linguistic' traits and Voynich traits.  I know we're used to looking at Voynich and seeing it's patterns, but give it a shot.  

Beqo.  It gets repeated.  Think daiin.

And you get words like ibeqo and obeqo and oubeqo without even really trying.  Then woaob and beaob and bozaob and oaoab.  

Think dain, ain, choldaiin, oldain.

Just sharing something I'm working on as a theory.   I'm pretty well into it and as soon as I have something formalized I'll be sharing it as well.
Well, perhaps Voynichese started out as a parody of Latin...
But I think there's an easier and more straightforward way to create something similar to Voynichese - you can simply write You are not allowed to view links. Register or Login to view.. And not only Roman ones - you can also use Arabic ones.
I don't think your example says much about Voynichese.
This just doesn't feel like a real language. Real languages have all developed a logical structure. The structure is typically based around the need to make speech effortless and light. The organs of the mouth cannot cope easily with pronouncing a string of discordant consonants, or shifting constantly between back and front vowels, so any cut-and-stitch attempt to construct an artificial language will not succeed. For instance, 'biqgbeqo' and 'bebeoaob' feel unpronounceable in any of the European language groups. They are too laboured, and require too many mouth movements.

By comparison you will find that a sample from a language you do not understand will at least seem to flow nicely, will feel to have a consistent phonology, if you were to make some endeavour at pronunciation:

Kaikki ihmiset syntyvät vapaina ja tasavertaisina arvoltaan ja oikeuksiltaan. Heille on annettu järki ja omatunto, ja heidän on toimittava toisiaan kohtaan veljeyden hengessä.
(26-07-2026, 08:14 PM)dashstofsk Wrote: You are not allowed to view links. Register or Login to view.This just doesn't feel like a real language. Real languages have all developed a logical structure. The structure is typically based around the need to make speech effortless and light. The organs of the mouth cannot cope easily with pronouncing a string of discordant consonants, or shifting constantly between back and front vowels, so any cut-and-stitch attempt to construct an artificial language will not succeed. For instance, 'biqgbeqo' and 'bebeoaob' feel unpronounceable in any of the European language groups. They are too laboured, and require too many mouth movements.

By comparison you will find that a sample from a language you do not understand will at least seem to flow nicely, will feel to have a consistent phonology, if you were to make some endeavour at pronunciation:

Kaikki ihmiset syntyvät vapaina ja tasavertaisina arvoltaan ja oikeuksiltaan. Heille on annettu järki ja omatunto, ja heidän on toimittava toisiaan kohtaan veljeyden hengessä.
As I understand it, this is an imitation of language, not the language itself. You don't have to read this text. You just need to rewrite it with other characters.
I once came across a Chinese poem written in ancient Chinese... Then there was a sharp r sound, and I wouldn't say it sounded consistent or "beautiful"...
However, the characteristic of imitating a language does not apply to Voynichese. It is simply a methodical gibberish (but I don't think so)
(26-07-2026, 08:14 PM)dashstofsk Wrote: You are not allowed to view links. Register or Login to view.This just doesn't feel like a real language. Real languages have all developed a logical structure. The structure is typically based around the need to make speech effortless and light. The organs of the mouth cannot cope easily with pronouncing a string of discordant consonants, or shifting constantly between back and front vowels, so any cut-and-stitch attempt to construct an artificial language will not succeed. For instance, 'biqgbeqo' and 'bebeoaob' feel unpronounceable in any of the European language groups. They are too laboured, and require too many mouth movements.

There are a couple billion people on  the planet who will be quite surprised when they learn that what they have been speaking all along is not a real language:

    dān xióng jī wèi gān wēi wēn zhǔ bēng zhōng lòu xià chì
    bái wò bǔ xū wēn zhōng zhǐ xuè tōng shén shā dú bì bù
    xiáng tóu zhǔ shā guǐ dōng mén shàng zhě yóu liáng fáng
    zhǔ ěr lóng cháng zhǔ yí nì pí chī guǒ huáng pí zhǔ xiè
    lì niào bái zhǔ xiāo kě shāng hán hán rè hé yǔ zhǔ xià
    xuè bì jī zǐ zhǔ chú rè huǒ chuāng diān jìng kě zuò hǔ
    pò shén wù

So maybe this still could be a real language after all?

    poar keeo daiin qoair ar acphhey qoeedeody qokaiin
    qotedair apo rair apy lsheody tair oteey oteeo o l
    otaiin okeey qokaiin or aiir al dal sheeo daiin chsd
    qokeeey dair okaiin otaiin chedaiin olkal lkl dain doee
    okcheeo ltaiin otcheedy chor aiin odaiin chedy otaiin al
    kaishd laiin sheod okeeody qoaiin ytaiin otair chdal dy
    daim chdaiin ockhhy yshey ckhy sheo qoeeo lkaiin chs
    okol tchdy sheeey okaiin ar aildy cheody oaiir ain
    okshey

All the best, --stolfi
Reminds me of You are not allowed to view links. Register or Login to view.
(26-07-2026, 08:14 PM)dashstofsk Wrote: You are not allowed to view links. Register or Login to view.This just doesn't feel like a real language. Real languages have all developed a logical structure. The structure is typically based around the need to make speech effortless and light. 

Aside from all the other objections to your objection, allow me to offer another.  You're making the assumption that it was intended to be spoken.
(31-07-2026, 05:16 PM)Dunsel Wrote: You are not allowed to view links. Register or Login to view.You're making the assumption that it was intended to be spoken.

Which? The VMS or your pseudo language construction? I can see that both are meaningless. Yours because it is obviously unpronounceable and so must be a non-language. And the VMS, for other reasons. But at least the writer of the VMS was sufficiently clever to give it some better structure, gave it the appearance of being genuine and this has kept people speculating.