How syllable merging works

From Smith family
Jump to: navigation, search

(This was written by Michael Harvey to support his name generation program.)

Made-up names, especially those found in literature and roleplaying games, often sound silly, out of place, or not-quite right. To be honest, it can be difficult thinking up creative names that sound right. Names is a program which can generate hundreds of names based on the input you feed it. Because it combines "elements" from data files to form names, it is possible to generate very high quality output. Further, it is possible to create data files which provide a "feel" for a particular language or culture -- real or imaginary. This enables the writer or game designer to generate lists of names for each fantasy culture, which all have a certain sound and seem to belong together.

This document has various suggestions on how to create element files, as well as how to generate good quality names.

Names elements

There are several types of name elements:

Prefix (PRE)
Parts that begin a word. Example: "c", "co", and "con" could all be prefixes for "Conan"
Middle (MID)
Parts that go in the middle of a word, between a prefix and suffix. Example: "cam" is a middle for "Alcamtar", where "al" is the prefix and "tar" is the suffix
Suffix (SUF)
Parts that end a word. In the name Aragorn, suffixes could be "agorn", "gorn", "orn", or even "n"
Noun (NOUN)
Nouns: "road", "fortress", "tree", "crossing"
Adjective (ADJ)
Adjectives: "gray", "slow", "stubborn"
Noun/adjective (NADJ)
These are words which could be either nouns or adjectives. Examples: dark ("darkwood", "outer dark"), silver ("silverlode", "moria-silver"), wood ("woodtown", "goblin-wood")
Many nouns and adjectives actually fall into this category. This gives the program more flexibility in using them, providing much more variety in names.

Elements should not be duplicated in two categories. For example, "orc" should not be under both noun and adjective, or you might get something like "Orcorc". Instead, make it a NADJ and it won't get used twice.

Elements that you want to emphasize may be duplicated within the same category. For instance, if you list "forest" three times in a row, it is three times more likely to be selected.

Elements are stored in plain text .ELE files. Thus, you might have one file of goblin sounding names and another for elvish words, etc.

Element files

These should have the extension .ELE. The element file contains several types of elements, denoted by simple abbreviations:

PRE prefixes
MID middles
SUF suffixes
NOUN nouns
ADJ adjectives
NADJ noun/adjectives
END this signifies the end of the file

The pound sign (#) is used as an escape character to denote the start of a new section (much like preprocessor directives in C). Thus, a typical file would look like this:

#PRE
con
gal
tar
#SUF
an
arok
#END

Example output:

Conan
Galan
Taran
Galarok
Conarok
Tararok

This defines three prefixes (con,gal,tar) and two suffixes (an,arok). Notice the #END used to end the file. There should not be any blank lines in the file, unless you want to define empty parts.

Parts may include any character, including spaces. For example,

#PRE
con
gal
tar
#SUF
 an
'Arok
-Rog
e arba
zud
#END

Might produce the following output:

Con An          Gal'Arok            Galzud
Tar-Rog         Cone Arba        

Elements in an element file should not be capitalized. The program will automatically capitalize the names after each space. If you do put any capitals in, they will not be converted to lowercase, so this could be used to artificially capitalize words (usually after special punctuation, as above).

The exception to this general "rule" is when you want to capitalize an element after a punctuation mark; in the example above, 'Arok would not have been automatically capitalized because there is no whitespace.

I find it helpful to keep all the elements in each section alphabetized so that I can check for duplicates.

Use of element files

The prefix/suffix form is generally the most useful. Most of the example files are in this form. Note that you are not restricted to fantasy names. By using english words you can get things like "Darkwood", "Brightblade", "Millennium Falcon", "Nottingham" and so forth. See the sample files for ideas.

Middles can add a lot of variety to your names, but they also make the names themselves longer.

Noun/NADJ/ADJ elements are mostly useful for idea-generators, or special places like "House of the Skulls" or "The Books of the Priest." The program combines these in a variety of ways, and also pluralizes them sometimes. All you need to do is supply the list of words. Such lists may represent themes, such as dark fantasy, science fiction, nautical things, wizardly things, and so forth. Again, see the sample ELE files.

It is easy to make your own ELE files. There are several methods I have found personally useful. One is to just sit down and starting making up the elements out of your head. Just come up with all the combinations you can think of and put them in. Another is to compile a list of names from your favorite book(s), movie(s), etc. You can then easily split these names into prefix/suffix parts. Example:

Original name PRE SUF
Alcamtar alcam tar
Celowin cel owin
Conan con an
Gimli gim li
Talward tal ward

One helpful strategy in making your names sound better is to end the prefixes and begin the suffixes consistently. Either end the prefixes with a vowel and begin the suffixes with a consonant, or end the prefixes with a consonant and begin the suffixes with a vowel. I generally prefer the latter. Example:

Method #1 Method #2
Alcamtar alca / mtar alcam / tar
Celowin celo / win cel / owin
Conan co / nan con / an
Gimli gi / mli gim / li
Talward talwa / rd tal / ward

This technique will keep your names from sounding too random, and will make them more pronounceable. Note that soft sounds such as r, l, t, s, w, y might be including with the vowels, as I have done above. Use your imagination and common sense, and put a few together yourself to see how they sound.

Another helpful technique is to make all the words of a given language use the same set of sounds, or same spelling. This might require a little research. Some good references are the appendices to the Lord of the Rings, or an introductory book on phonetics/language from the library. Some simple examples:

Elvish spelling: 'C' 'G' 'DH' 'T' 'S' 'W' 'F'
Orcish spelling: 'K' 'GH' 'J' 'D' 'Z' 'V' 'V'

Here is a chart. I'm not going to take the time to try an explain it, but study it and compare the sounds to one another. You will notice patterns. It probably isn't too accurate, but is still useful. (Yes, I got the idea from Tolkein.)

STOPS SPIRANTS OTHER NASAL
Soft Voiced Soft Voiced Soft Voiced Soft Voiced
Labial p b bh wh w mh m
Labiodental f v y
Dental th th
Palatal? t d ch j lh l nh n
Sibilant s z sh zh rh r
Alveolar? c,q,k g ch gh h h ng

You can use this to create "sounds" for languages. For instance, celtic has a lot of unvoiced (soft) sounds, making it sound smooth and soft and flowing. German, on the other hand, has a lot of voiced stops, making it louder and harsher sounding. By selecting which sounds are most common, you can give each fantasy language a certain "feel." One handy technique is to get an atlas of foreign countries and look at the names on the map. You can get a pretty good idea of which sounds are common, and how they should go together this way. This is the way I did my "french" ELE file, and also the "aztec" and "african" ones.

Conclusion

Hope you find this useful. I can be contacted for comments/questions on the Internet as "mike@cs.pdx.edu".