Skip to content
kesac edited this page Nov 18, 2021 · 18 revisions

What is Syllabore?

  • Syllabore is a fantasy name generator and class library, and does not use pre-made lists of names. Name generation is accomplished by generating syllables from vowel-consonant pools and sequencing them into names.

What is a syllable?

  • You can view syllables as consisting of a nucleus with an optional onset and a coda, in the following form:
    • onset - nucleus - coda
  • For example, the word 'red' is a single syllable with 'e' as the nucleus.

How does Syllabore model syllables?

  • Syllabore models syllables the same way, but with a different naming scheme so it is easier to understand:
    • leading consonant - vowel - trailing consonant
  • While Syllabore uses the terms vowels and consonants to refer to nucleuses, onsets, and codas, there is nothing that would prevent you from defining non-vowels as nucleuses or non-consonants as onsets and codas.
  • By default, a syllable must have a vowel in Syllabore, but it is possible to configure syllable providers to generate syllables that have no vowels if that is what is desired.

What about clusters?

  • Onset clusters are onsets with more than one consonant (eg. "tr"). In Syllabore, clusters are called sequences and onset clusters are called leading consonant sequences.
  • Syllabore also extends this concept to nucleuses and codas, so you will also see vowel sequences and trailing consonant sequences.

How does Syllabore generate names?

  • Name generation is accomplished by first generating syllables from a pool of vowels and consonants, then structuring those syllables into names. There are three major components to a Syllabore name generator:
    • Providers - used to provide randomly generated syllables. Internally they maintain a pool of nucleuses, onsets, codas, clusters, etc. which are used to construct syllables from scratch
    • Transformers - an optional mechanism to randomly adjust or transform names during the generation process. This is useful in iterating or evolving a name by replacing syllables, swapping a vowel for another vowel, adding new components to the name, etc.
    • Filters - an optional mechanism to validate syllable or letter sequences during name generation. A name generator will only output names that pass through its filter. This is useful in avoiding undesirable letter combinations and improve the quality of output
  • See the following pages for code examples