Another way to generate text #1: “The Spell Check Technique”

[Update 26 June 2012: At my personal blog, I’ve put up another demonstration of this technique.]

When I was younger and wanted to write but was less sure of my own inspiration, I liked inventing processes that would generate text for me. The most useful technique I devised was something I called “the Spell Check Technique.” These days I don’t really use it anymore, so I thought I’d set it down here in case others would like to pick it up.

For this technique you need a text editor with spell check capacity (I’ll demonstrate it using Microsoft Word 2003), plus some text. It doesn’t really matter what the text is.

Let’s start with a good chunk of lorem ipsum (generated through this website). (Note that you can use any starting text you like; I’m using lorem ipsum just for this example.)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas eu fermentum mi. Suspendisse potenti. Pellentesque rhoncus, tellus id tincidunt tristique, nulla lectus gravida nunc, at luctus dui ipsum nec ipsum. Vivamus eu justo leo, at tincidunt metus. Integer orci leo, tempus eu rutrum id, vestibulum eu nisl. Suspendisse et neque enim, non iaculis nibh. Sed dolor nisi, lacinia eu scelerisque ut, porta ac nisl. Vestibulum eget tellus eget metus tempor placerat. Vivamus purus risus, varius nec sodales sed, ultrices a nisl. Pellentesque ac magna ultricies massa vestibulum euismod eu vel quam. Praesent ut neque sit amet mauris eleifend laoreet adipiscing eu felis. Nunc quam velit, tincidunt eget tincidunt at, auctor quis odio. Etiam vitae tortor tortor, quis mollis nisl. Integer mollis, libero tristique consectetur aliquam, leo nibh vestibulum leo, quis feugiat sapien sapien eget mauris. Donec quis neque justo. Morbi vehicula, felis sed lacinia cursus, turpis lectus molestie risus, non dignissim tortor purus a eros. Nam et purus scelerisque libero interdum fermentum. Pellentesque rutrum convallis libero et iaculis. Cras eget luctus massa. Phasellus eleifend cursus mauris sed tincidunt. Nullam dignissim pellentesque varius. Phasellus condimentum, felis sed ornare vulputate, eros sem aliquam turpis, ut scelerisque enim ante non tellus. Vivamus imperdiet, augue et lacinia blandit, leo urna facilisis neque, at imperdiet lorem nibh ut ante. Etiam mattis luctus est, at convallis tortor pulvinar eu. Integer in ligula magna. Quisque a augue convallis magna vulputate vulputate. Curabitur sollicitudin semper magna, eu ultricies quam pulvinar ac. Vestibulum sit amet nunc felis. Curabitur luctus imperdiet lorem, id accumsan mi auctor at. Nam eget nibh metus. Aenean suscipit lorem eu risus tristique a rutrum urna sagittis. Aliquam porttitor, nisi quis malesuada placerat, tortor odio elementum arcu, in varius risus purus sed felis. Suspendisse purus tellus, facilisis vitae faucibus quis, fermentum sit amet justo. Etiam et dapibus metus. Nulla luctus leo in est rutrum ornare. Curabitur at dui neque, a egestas tellus. Vestibulum quis accumsan eros. Curabitur elementum metus non mauris lobortis malesuada consequat neque posuere. Nulla aliquet aliquet odio at pretium. Nunc gravida pellentesque nulla sed bibendum. Pellentesque porttitor tempus auctor. Vivamus elementum, velit vitae fringilla tempor, enim dolor mattis nunc, et placerat sem magna vitae massa. Aliquam eu tincidunt justo. Nunc ultrices sem eget elit aliquam accumsan. Pellentesque dapibus elit id augue elementum imperdiet. Phasellus condimentum porttitor vestibulum. Vestibulum vitae pretium tellus. Integer cursus adipiscing sem, at laoreet felis sollicitudin eget. In dignissim convallis felis sed porttitor. Fusce dapibus ligula cursus massa volutpat tincidunt. In hac habitasse platea dictumst. In nunc nibh, blandit sed ornare id, mollis id nisl. Etiam at sem quis lorem ultricies pulvinar nec lacinia orci. Nunc elementum arcu porttitor orci mattis non venenatis erat fringilla. Praesent at est sed ligula volutpat tempus. Curabitur mollis dictum dolor. Proin tellus lorem, sodales vitae ornare a, porta auctor enim. Vestibulum vel mauris a erat adipiscing placerat.

(I like to use at least a page’s worth of text, preferably two or three.) The next step is to get rid of everything that isn’t a letter. So we’ll use the find/replace command (control + h) to strip out all of the punctuation and spaces (and numbers, if there happen to be any). Get rid of paragraph breaks, too (^p); just replace each one of those things with nothing. The result should be a single string of letters:

loremipsumdolorsitametconsecteturadipiscingelitmaecenaseufermentummi […]

Note that I’ve also converted the text to all lowercase. This will produce better results.

Next, we have to break it up into chunks. I write and use a macro to do this, like so:

  1. Click on Tools > Macro > Record New Macro.
  2. Assign it a name, and a keyboard combination. (I use “control + 0”.) Then close that window.
  3. You’re now recording. The macro is very simple: using the right arrow key, move the cursor 5 or 6 letters to the right, then press the space bar. (I’m going to use 6 letters for now.)
  4. And that’s it! Stop recording the macro.
  5. You can now use the macro (hold down “control + 0”) to break the block of text up into 5- or 6- letter chunks.

(I used to work as a technical writer. Can you tell?)

By now, the text should look like this:

loremi psumdo lorsit ametco nsecte turadi piscin gelitm aecena seufer mentum misusp endiss epoten tipell entesq uerhon custel lusidt incidu nttris tiquen ullale ctusgr avidan uncatl uctusd uiipsu mnecip sumviv amuseu justol eoatti ncidun tmetus intege rorcil eotemp useuru trumid vestib ulumeu nislsu spendi sseetn equeen imnoni aculis nibhse ddolor nisila ciniae uscele risque utport aacnis lvesti bulume gettel lusege tmetus tempor placer atviva muspur usrisu svariu snecso daless edultr icesan islpel lentes queacm agnaul tricie smassa vestib ulumeu ismode uvelqu amprae sentut neques itamet mauris eleife ndlaor eetadi piscin geufel isnunc quamve littin cidunt egetti ncidun tatauc torqui sodioe tiamvi taetor tortor torqui smolli snisli nteger mollis libero tristi quecon sectet uraliq uamleo nibhve stibul umleoq uisfeu giatsa piensa pieneg etmaur isdone cquisn equeju stomor bivehi culafe lissed lacini acursu sturpi slectu smoles tieris usnond igniss imtort orpuru saeros nametp urussc eleris quelib eroint erdumf erment umpell entesq uerutr umconv allisl iberoe tiacul iscras egetlu ctusma ssapha sellus eleife ndcurs usmaur issedt incidu ntnull amdign issimp ellent esquev ariusp hasell uscond imentu mfelis sedorn arevul putate erosse maliqu amturp isutsc eleris queeni manten ontell usviva musimp erdiet auguee tlacin iablan ditleo urnafa cilisi sneque atimpe rdietl oremni bhutan teetia mmatti sluctu sestat conval listor torpul vinare uinteg erinli gulama gnaqui squeaa ugueco nvalli smagna vulput atevul putate curabi tursol licitu dinsem permag naeuul tricie squamp ulvina racves tibulu msitam etnunc felisc urabit urluct usimpe rdietl oremid accums anmiau ctorat namege tnibhm etusae neansu scipit loreme urisus tristi quearu trumur nasagi ttisal iquamp orttit ornisi quisma lesuad aplace rattor torodi oeleme ntumar cuinva riusri suspur ussedf elissu spendi ssepur ustell usfaci lisisv itaefa ucibus quisfe rmentu msitam etjust oetiam etdapi busmet usnull aluctu sleoin estrut rumorn arecur abitur atduin equeae gestas tellus vestib ulumqu isaccu msaner oscura biture lement ummetu snonma urislo bortis malesu adacon sequat nequep osuere nullaa liquet alique todioa tpreti umnunc gravid apelle ntesqu enulla sedbib endump ellent esquep orttit ortemp usauct orviva musele mentum velitv itaefr ingill atempo renimd olorma ttisnu ncetpl acerat semmag navita emassa aliqua meutin cidunt juston uncult ricess emeget elital iquama ccumsa npelle ntesqu edapib uselit idaugu eeleme ntumim perdie tphase llusco ndimen tumpor ttitor vestib ulumve stibul umvita epreti umtell usinte gercur susadi piscin gsemat laoree tfelis sollic itudin egetin dignis simcon vallis feliss edport titorf usceda pibusl igulac ursusm assavo lutpat tincid untinh achabi tassep latead ictums tinnun cnibhb landit sedorn areidm ollisi dnisle tiamat semqui slorem ultric iespul vinarn eclaci niaorc inunce lement umarcu portti tororc imatti snonve nenati seratf ringil laprae sentat estsed ligula volutp attemp uscura biturm ollisd ictumd olorpr ointel luslor emsoda lesvit aeorna reapor taauct orenim vestib ulumve lmauri saerat adipis cingpl acerat

…which means we’re finally ready to run spell check (Tools > Spelling and Grammar—or just press F7).

If you like, you can spell check each 6-letter-chunk individually, picking whatever replacement word you prefer. But because I’m lazy, I just accept the first option spell check suggests. And since I’m doing that, I choose to change all, which saves a bit more time. (Note that you can run through the text very quickly by holding down  “alt + l,” the shortcut for “change all.”)

Doing all this produces a list of actual words:

lore pseudo florist amerce insect tirade piscine gelid aecia suffer centum misuse ends epode tip ell enters heron castle lucid inside nitric toque allele causer avian uncut ictus quips kneecap survive amuse justly coati incident thetas integer racial totem user tumid vestal lumen nisus spend seen equine minion caulis niches dolor nosily canine upscale risqué tort acnes lest blame getter liege thetas temper placer Aviva museum sunrise sari specs dales adult iceman isle lentos quack agnail trice smash vestal lumen is mode velum amperage setout nexus itemed manures alewife nodular etude piscine refuel insane quaver letting cadent emetic incident attic torque sodium triumvir teeter torpor torque smelly snails integer mollies libber trusty quaking sestet Uralic cameo niche stipule umlaut useful gaits pinesap pine teamer is done cousin equijoin stoma Divehi carafe lisped lacing accurse strip select smiles tiers unsound bigness import ordure sears nametape prussic elemis quail eroding eardrum ferment ump ell enters aerator icon Allis Iberia teacup scars gentle cuts sashay sells alewife incurs USAir issued inside annul adding is imp relent sequel arias hazel ascend pimento mêlées sedan arrival puttee erase milieu mature ictus elemis queen marten on tell survive museum erudite ague talking Alban title unsafe cilice sequel time riel remind Bhutan tetra matte slot sestet coeval list or torpor venire unite eerily Glama gangue squeal uGu co novella magma volute fateful puttee crab torso licit dines permit maul trice sump olivine races tubule smite tenancy folic rabbit eruct simper riel roamed accuse anima cottar name thigh tease means script lore me arises trusty queer tremor massage tidal equip rotted cornice quasar loused palace ratter trod elemi tumor china riser suspire used pelisse spend sweeper us tell surface lisps idea cubes quiche rent smite adjust optima escape busmen us null lacto slain strut rumor recur arbiter attain equate gusts tells vestal Urumqi sack meaner obscure biter lament unmet snowman arils borates males deacon squat equip osier Nula piquet aliquot tedious trait unman gravid paella nets Enola seedbed end ump relent equip rotted mortem saucy revive muscle centum veldt eater infill tempo remind flora tins incept ace rat stemma naïveté amass aliquot meeting cadent just on uncut recess emerged elite iguana comas Noelle nets elapid use lit Ida uGu elemi nutmeg per die phase loco dime tumor titter vestal flume stipule amrita egret umbel suite mercury subsidy piscine great laree trellis solid it din egesting dings simony valise felids deport tutor used piously ligulas ruses cassava output timid uniting Achebe tassel late ad ictus tin nun cinch land it sedan arid ollas dingle teammate sequin sore ultras dispel vinery éclair nark inane lament march potty torpor matte shone neonate serrate ringgit laree sent at sensed ligulas volute attempt usurer biter ollas dictum loop lintel lisle embody levity adorn reaper taut uranium vestal flume laurel seat adipose kingly ace rat

Success! You now have a vocabulary list that you can use for whatever evil purpose you desire. You can stop right there and call the text “finished” and “yours” (which isn’t to my own liking, but who’s to stop you?). Or you can keep the words in this order but “write through them”—

Lore matters not to pseudo-florists who, due to a bureaucratic hiccup in this city’s statutes, cannot be amerced. Each has her own dubious means for warding off root-rot and insects, and equally dubious tirades defending them. My sister’s fave uses piscine molds to shape a curry-molasses mixture into gelids, which she then buries around the base of each acacia; she claims it discourages the onset of aecia. I, watching silently, see only how the plants suffer. Each of those noble trees can live a centum, and such cruel misuse soon ends any pleasure of those one hundred years.

Or you can do what I used to do, which is to use only those words that appeal to you, discarding the rest. More specifically, I used to print out the list (this is why I liked having a few pages’ worth), then keep the sheets close at hand when writing. Whenever I’d get stuck, I’d quickly scan my eyes over the lists, looking for intriguing words and word pairs—

  • enters the heron castle
  • survive a museum sunrise
  • arid sedans
  • hazel arias
  • crab torso
  • smelly snails
  • deacons squat
  • potty torpor
  • unmet snowman
  • trusty quaking
  • teasing thighs
  • elite iguana
  • kingly ace rat

—crossing them out as I used them. (I used different colored pens, because I liked the way it made the page look. Sensuality is everything!) (I should mention that when doing this, I often found it more helpful to scan the list vertically, rather than horizontally.) I’d also free associate while doing this, letting the words suggest phrases and ideas—”Broke, he used a quiche to pay the rent.” (It’s basically a form of assisted daydreaming.)

A few more things to consider:

  1. This technique is a great way to learn new words! (It’s akin to randomly flipping through a dictionary—something else I’m fond of doing—but it generates more text more quickly.)
  2. It’s also a great way to learn how to better use text-editing software. For those reasons and more, I think that it should be taught in schools.
  3. Obviously the technique’s “real” value is that it suggests words other than what you’d normally use, thereby suggesting many new directions for your work.
  4. That said, the problem with this technique is that it suggests many new directions for your work! I used this technique when I wrote the first few drafts of my first novel, Giant Slugs (c. 2003), and found that I had to employ many other formal techniques to keep reining things back in. (You can still see evidence of the technique in the the finished novel—for instance, see here, here, and here. I didn’t actually use this technique to write those particular passages, but its use elsewhere, and early on, did help establish the novel’s hyber-verbose style.)
  5. Changing the size of the chunks will change what spell check results you get. From my own experiences, I’ve found that chunks of 5 and 6 letters return the best results. If you use very short chunks (1–3 letters), you’ll get the same few words over and over again. If you use longer ones (over 7 letters), you’ll often confound the spell check, which won’t suggest any results.
  6. This technique is limited to whatever words spell check knows. (You can add words to it, though.)
  7. No doubt there exists now some random word generator online that you could use instead, but I think this technique is still fun and has its own merits.
  8. For instance, it’s recursive: you can take the word list that you generate, or the text that you write using it, and resubmit it to the procedure. And if you choose a different letter-chunk-length, you’ll get pretty different results. For instance, here’s my florist sentence from above, redone (stripped, lowercased, broken into 5-letter chunks this time, and spell checked):

lore attar snotty poseur dolor rests who’d entomb urea crate chic pint hissy tryst astute scan obeah mercer detach hashes round dubious smear sow ardent gofer outré tandem insect sander quall dub oust rides defend ding hammy sister refax eases piscine memo dittos happen curry moles semi true into elides which sheath ember year found heaps elodea Chaka cash éclair misted viscous rages then setoff aecia watch hinges inlet lyses only other plant scuff erect haft oxen blear escape naive accent summand such realm issue sooner dean plea sure ethos one under dears

This leads to some overlap, but mostly you’re once again off to the races. (And the overlap can be useful: the way the technique sometimes produces variations on recurring letter chunks can result in a certain unity.)

OK, I hope you find this fun/useful/interesting. Enjoy & good luck!

Update: See also:

Other related posts: