Monthly Archives: July 2011

Not Quite a Family Reunion

No, not another meeting of conlangers. And not making my family learn my conlang either. Rather, the last episode of the Conlangery Podcast dealt with the topic of Kinship Terms and how different languages and cultures handle them. This made me rethink what I had already come up with (PDF warning) two years ago: Distinguishing all those cousins and in-laws seemed overkill to me on a much later second thought. I thus went into the opposite direction and got rid of a lot of distinctions… Maybe too many? See for yourself.

Syllable Stress Allocation in Ayeri

This question has been bothering me for some time already and in the Ayeri Grammar in its current state (still only half-finished; I don’t know when I will go on with writing) it just says:

Stress in Ayeri is irregular for the most part, however, certain rules can be applied: Syllables ending in ŋ, as well as syllables containing a long vowel or a diphthong are usually stressed, and no two stressed syllables may follow each other.

This felt rather general and not sufficient as a definition to me. Some months ago, there was a posting on Glottoclast which dealt, among others, with how one of the author’s constructed languages, Cwindoià, applies stress: it uses syllable weight for stress allocation. This got me thinking again whether syllable weight based on the phonetic structure of a syllable might also apply to Ayeri. Thus, I did some research quickly the other day and found a paper on syllable weight strategies by Matthew Gordon of UCSB, called “A Phonetically-Driven Account of Syllable Weight,” which sounded just like what I had been looking for.

What I then did recently is to take all texts I’ve translated into Ayeri over the last 2 years to get a corpus made up of inflected words. I manually decomposed all approx. 530 unique words (so few!?) into syllables and classified their composition (e.g. P-A-​-​-N- for a syllable that starts with a voiceless plosive, has /a/ as its nucleus, and ends in a nasal; the dashes denote unoccupied segments) for the first 100 entries – after which I lost patience, as it was just too tedious to do the whole analysis manually and I had already realized the following (acutes are supposed to align over the macroned vowels if they don’t do so):

pa- pā- pang- pāng- pay- pāy-
-ka páka pā́ka pángka pā́ngka páyka pā́yka
-kā pakā́ pā́kā́ pangkā́ pā́ngkā́ paykā́ pā́ykā́
-kang pakáng pā́kang pangkáng pā́ngkang paykáng pā́ykang
-kāng pakā́ng pā́kā́ng pangkā́ng pā́ngkā́ng paykā́ng pā́ykā́ng
-kay pakáy pā́kay pangkáy pā́ngkay paykáy pā́ykay
-kāy pakā́y pā́kā́y pangkā́y pā́ngkā́y paykā́y pā́ykā́y

From this table, we can deduce the following:

  1. If both syllables are plain (i.e. contain a short vowel and optionally a final consonant other than /ŋ/), stress is on the penultimate syllable: páka.
    1. Long syllables attract stress.
    2. They override plain syllables: pakā́.
    3. They override syllables ending in /ŋ/: pā́kang.
    4. They override syllables ending in a diphthong: pā́kay.
    1. Syllables ending in /ŋ/ attract stress.
    2. They override plain syllables and diphthongs in final position: pakáng, paykáng.
    3. In non-final position, they override other syllable types only if they are long: pangkáy vs. pā́ngkay.
    1. Syllables ending in a diphthong attract stress.
    2. They override plain syllables and syllables ending in /ŋ/ in final position: pakáy, pangkáy.
    3. In non-final position, they override other syllable types only if they are long: paykáng vs. pā́ykang.
  2. Two long syllables will result in both having stress: pā́kā́, pā́ngkā́ng, pā́ykā́y.
  3. Two syllables both ending in /ŋ/ will result in only the latter having stress: pangkáng.
  4. Two syllables both ending in a diphthong will result in only the latter having stress: paykáy.

What can be observed furthermore – in general, not from this table – is that in words with more than two syllables, stress spreads backwards, alternating between unstressed and stressed. Syllables containing [ə] are unstressed by default and stress shifts to the preceding syllable as a result. Furthermore, the individual parts of compounds follow their individual stress pattern, so stress does not spread backwards unlimitedly. Although the table above lists combinations of two syllables where both syllables receive stress, this is, however, very rare in practice (the only word I can think of off-hand is bāmā ‘mum and dad’). In turn, multiple unstressed syllables in succession are not a problem.

In conclusion can be stated that after much work has gone into breaking down words and analyzing their syllable structure, things turned out to be probably easier than expected and it could be mostly confirmed and corrobated what was tentatively assumed earlier. Syllable weight may in fact not play much of a role in how Ayeri assigns stress to words. Instead, it seems to be iambic for words with an odd number of syllables and trochaic for words with an even number of syllables by default (so not totally irregular), with the exception being that certain phonetic features of syllables cause a shift.

Wuggy and Ayeri

  • I permanently deactivated my Twitter account in January 2023. Links to the account below aren’t functional anymore.

So I’ve decided to give a go to this new-fangled web service called “Twitter,” about which the kids have been so frantic for the past couple of years.[1. You can follow me, if you wish, at @chrpistorius] To be honest, Twitter has completely passed me by so far, as I didn’t really see the sense in it when you can share links and leave short notices about ideas that have just popped into your head on Facebook just as easily.

However, this article is not supposed to be about my experiences with Twitter, but rather about something that I’ve found on Twitter thanks to @janMato: A little Python program called Wuggy, developed by folks at the Center for Reading Research of the Department of Experimental Psychology at Gent University, Belgium. This program allows users to create pseudo-words tailored to the specific sound and syllable structure of languages, e.g. to be used for cognitive research, like English ‘wug’, which is to be pluralized in the classic test. JanMato suggested it would be useful for conlanging, too.

In my last post, I had already mentioned that I sometimes use a list of generated words to choose from when I can’t think of a suitable word for some meaning off the top of my head. The list I use currently was generated with a program called kwet, based on the data gained from a rather tedious, search-and-replace heavy analysis of my language’s dictionary that I conducted last year. I’ve been meaning to program a PHP script that can do this analysis automatically (and never did), but I thought that if this program can actually analyze a dictionary you give it in order to generate similar non-words, I might give it a go anyway.

So, how do we get our own words into the program? Wuggy is built in Python, as I said, so its code should be rather straightforward (unlike PERL code, which is simply not to be read). What you need is a bunch of files:

  • ./plugins/subsyllabic_yourlang.py
  • ./plugins/orth/yl.py
  • ./data/yourlang_dictionary.txt

Fortunately, you can just copy an existing subsyllabic_*.py and orth file and just change the name of the language in the files to something more appropriate. And you must register the module for your language in ./plugins/__init__.py by simple analogy with the other entries. The dictionary files Wuggy uses are just flat TXT files where columns are divided with a tab:

word ↦ word’s syllabification ↦ some numeric value I don’t know how to obtain but just write 1

I got this file by simply dumping the ‘pronunciation’ field of my MySQL database into a CSV file which I edited to use orthography instead of phonemic transcription (not very difficult in Ayeri) etc. to fit Wuggy’s format. In order to get Wuggy to do something, you will also need to provide some input to generate words from – I just use my dictionary file with the last field (the one with ‘1’ at the end of each line) removed.

If all prerequisites are installed and you execute Wuggy.py, there’ll be a dialog window with some options. If the creation of Yourlang’s module has worked out, you should see “Subsyllabic Yourlang” as an option in the “Language Modules” drop-down menu and if you choose Yourlang, a progress bar thing should pop up shortly, which tells you about loading and generating some values. I ran my whole dictionary shortened to unique entries (~1800) through the program this afternoon, creating 3 alternatives per word. Here’s some of the output (left original, right generated):

a-ra kri-bay
ba-br= de-bi
ban-te-b= nil-pu-r=
da-lang kra-nu=
en-van tay-tran

This doesn’t look bad so far, but annoyingly, it would recreate the same words dozens of times for the same or similar original syllables even with the dissimilarity from the original word set to 1 out of 3. Also, this occurred frequently:

bu-rang lu-u=
e-rar me-ik
i-lon le-in
kay-ra lē-o
ma-kim ka-os

The problem here is that Ayeri allows words to begin with vowels, but the likeliness of two vowels after another mid-word is rather small. Also, words can’t end e.g. in [p t k], and long vowels are the result of an allophonic process triggered by morphotactics rather than lexicalized. I don’t know, though, how to tweak my module files to avoid this, unfortunately.