Two tools for conlangers

A forum for guides, lessons and sharing of useful information.
Fanael
sinic
sinic
Posts: 331
Joined: 19 Jul 2012 21:26

Re: Two tools for conlangers

Post by Fanael »

Ithisa wrote:No, it's just that it is so verbose, you probably want to use zompists' SCA2 for anything non-extremely-complex.
The thing is, SCA2 is buggy. Half the time I'm working around its bugs and other deficiencies instead of writing actual changes.

While we're at it, will your SCA have an easy way to apply nasal spreading and other kinds of sound harmony?
Ithisa wrote:Anyway do you want to write this:

Code: Select all

(
            (macro C [#\p #\t #\c #\q #\b #\d #\g #\m #\n #\l #\r #\h #\s])
            (macro V [#\a #\e #\i #\o #\u])
            (macro L [#\ā #\ē #\ī #\ō #\ū])
            (macro F [#\i #\e])
            (macro B [#\o #\u])
            (macro S [#\p #\t #\c])
            (macro Z [#\b #\d #\g])
            (macro NLST [NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN NUTHIN])
            (laws
             (#\i -> #\j where (in (fix 1) V))
             (L -> V where #t)
             (#\e -> NUTHIN where (and (in (fix 1) V)
                                       (= (fix 2) #\r)))
             (V -> NLST where (and (in (fix 1) V)
                                   (in (bix 1) V)))
             ([#\s #\m] -> NLST where (= 0 ewc))
             (#\u -> #\o where (in (fix 1) [#\s #\m]))
             (#\g -> #\n where (= #\n (fix 1)))
             (#\n -> #\h where (= #\g (bix 1)))
             (S -> Z where (and (in (fix 1) V)
                                (in (bix 1) V)))
             (#\c -> #\i where (and (in (bix 1) F)
                                    (in (fix 1) [#\t])))
             (#\c -> #\u where (and (in (bix 1) B)
                                    (= (fix 1) [#\t])))
             (#\p -> NUTHIN where (and (in (bix 1) V)
                                       (= (fix 1) #\t)))
             (#\i -> NUTHIN where (= (bix 1) #\i))
             (#\e -> NUTHIN where (and (in (bix 1) C)
                                       (and (= (fix 1) #\r)
                                               (in (fix 2) V))))))
Hey, that's still better than my first attempt at a sound change applier, where you'd write stuff like that:

Code: Select all

word.change(one_of('ptk'), one_of('bdg'), env=(vowel, 0, vowel))
User avatar
cedh
MVP
MVP
Posts: 386
Joined: 07 Sep 2011 22:25
Location: Tübingen, Germany
Contact:

Re: Two tools for conlangers

Post by cedh »

Uploaded yet another version of the Frequentizer, which has an improved syllable model that supports full and null onsets or codas, intervocalic consonants or consonant clusters, and can restrict the analysis to syllables in a certain position in the word. This means you can now ask for things like “vowels in word-medial syllables” or “syllable onsets in non-final syllables”. The program also presents the results in a shiny visual diagram now (made with the Chart.js library), and it has a proper license (CC-BY-SA).
Fanael
sinic
sinic
Posts: 331
Joined: 19 Jul 2012 21:26

Re: Two tools for conlangers

Post by Fanael »

cedh wrote:The program […] has a proper license (CC-BY-SA).
Uhm, not really "proper".

Why all the h's are replaced by x's in the syllable onsets/codas/rhymes and consonant clusters reports?
User avatar
cedh
MVP
MVP
Posts: 386
Joined: 07 Sep 2011 22:25
Location: Tübingen, Germany
Contact:

Re: Two tools for conlangers

Post by cedh »

Fanael wrote:
cedh wrote:The program […] has a proper license (CC-BY-SA).
Uhm, not really "proper".
Thanks, I'll have a look into that.
Fanael wrote:Why all the h's are replaced by x's in the syllable onsets/codas/rhymes and consonant clusters reports?
Because the sample data is from my conlang Buruya Nzaysa, where there's a single phoneme /x/ which is written <h> word-finally and <x> everywhere else. More technically, because the sample consonant definitions (which are, of course, specifically tailored to B.Nz.) contain a row "x h", which tells the program that <h> is another way to write the segment /x/.
User avatar
cedh
MVP
MVP
Posts: 386
Joined: 07 Sep 2011 22:25
Location: Tübingen, Germany
Contact:

Re: Two tools for conlangers

Post by cedh »

Version 0.4 of the Frequentizer is up, now under an open source license suitable for software (Free BSD). The program can now give some word-level statistics, restrict the analysis to words of a certain length, determine the most commonly used bi- and trigrams within words, and report the frequency of syllable shapes of the type CV, CCV, CVC etc. It also supports comments in the text corpus; everything from // to the end of the line will be ignored.
Post Reply