<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Esolanean &#8211; Oh my blog! Whee!</title>
	<atom:link href="https://whee.dk/category/esolanean/feed/" rel="self" type="application/rss+xml" />
	<link>https://whee.dk</link>
	<description>Wrong by design</description>
	<lastBuildDate>Thu, 03 Sep 2020 06:30:13 +0000</lastBuildDate>
	<language>da-DK</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Pronouncing Esolanean</title>
		<link>https://whee.dk/2010/01/pronouncing-esolanean/</link>
					<comments>https://whee.dk/2010/01/pronouncing-esolanean/#comments</comments>
		
		<dc:creator><![CDATA[Arne Sostack]]></dc:creator>
		<pubDate>Thu, 28 Jan 2010 19:11:39 +0000</pubDate>
				<category><![CDATA[Esolanean]]></category>
		<guid isPermaLink="false">http://whee.dk/?p=156</guid>

					<description><![CDATA[Ok, I got to thinking about how to pronounce Esolanean words. Two things go into this (at least): how each letter is pronounced, and which syllables to stress. I already have some indications as to both, since I&#8217;ve been using the few words I have in my mind for several years. /SINT/ is stressed. In [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ok, I got to thinking about how to pronounce Esolanean words.</p>
<p>Two things go into this (at least): how each letter is pronounced, and which syllables to stress.</p>
<p>I already have some indications as to both, since I&#8217;ve been using the few words I have in my mind for several years.</p>
<p>/SINT/ is stressed.</p>
<p>In /SINTor/, the first syllable is still stressed, but in /toMAL/ the second syllable is. Hm. /KATor/ stresses the first syllable as well, so it looks like the /-or/ suffix doesn&#8217;t move the stress.</p>
<p>/sintAro/originally stressed the second syllable, but I rather like /SINTaro/ as well, which would work with a general rule that suffixes do not move the stress. /BENapak/ stresses the first syllable, so that&#8217;d work if /-apak/ is one or more suffixes. /Ben/ meaning &lt;wander&gt; is pretty cool too, since /ben/ mean leg (or legs) in Danish. I&#8217;m not aiming for a language like Danish, but I like cross-language puns.</p>
<p>So it looks like stress is on the last syllable of the stem word for one- and two-syllable stems. Looking over the longer words I&#8217;m generating, I have a feeling that the rule might be to stress the second syllable for any stem longer than one syllable.</p>
<p>For the other part, pronounciation, I&#8217;ve been trying to figure out at least some of that whole <a href="http://en.wikipedia.org/wiki/International_Phonetic_Alphabet" target="_blank" rel="noopener noreferrer">IPA</a> thing.</p>
<p>Looks like most of the letters I&#8217;m using represent sounds that have the same characters in IPA, so that makes it quite a bit easier, but one thing popped up, at least: /r/ is pronounced [<a title="Alveolar approximant" href="http://en.wikipedia.org/wiki/Alveolar_approximant">ɹ</a>].</p>
<p>WordBuilder naturally supports unicode characters, so that shouldn&#8217;t be a problem&#8230; erm. Oops. Unicode support is broken in v1.5 because of the syntax coloring. New version with support for IPA characters is coming in a moment, as I have <a href="http://sketchpath.blogspot.com/2007/08/rtf-and-encoding.html" target="_blank" rel="noopener noreferrer">the fix</a> implemented.</p>
<p>After that, I added a new rule to my script &#8211; I figured some extra rules, such as /ar/ is pronounced like a long [a], and /r/ is trilled after /p/ and /o/, unless at the end of the word, where /or/ is just a long [ɐ]:</p>
<pre>rule pronounciation {
 translate {
  a r # =&gt; a ː
  o r # =&gt; ɐ ː
  o r =&gt; o !r // escape some r's
  p r =&gt; p !r
  r =&gt; ɹ
  !r =&gt; r // unescape after most r's are fixed.
  t =&gt; t̪ // t is dental.
 }
}
</pre>
<p>And added a branch at the end of my noun rule:</p>
<pre>rule noun {
 rule base
 rule noun-ending
 rule cleaning
 branch Pronounciation pronounciation
}
</pre>
<p>And finally added a column to my presentation:</p>
<pre>column Pron. Pronounciation</pre>
<p>Now, I get IPA pronounciation next to my words when I generate, albeit incomplete, because I haven&#8217;t worked all the way through the alphabet. More mappings in the translate command, and I&#8217;ll be done.</p>
<p>Oh, and I realized a mistake I&#8217;d made earlier, when introducing the double consonant syllable rule &#8211; since it had the same weight as the other syllable rule, it got hit a lot of the time also for the first syllable, meaning that an overweight of the words started with a vowel. I&#8217;ve adjusted the weight so that it now generates a more tolerable amount of vowel-starting words, as well as fewer double consonants.</p>
<p>Words now look like this:</p>
<ul>
<li>merkamror [meɹkamɹɐː]</li>
<li>roben [ɹoben]</li>
<li>tepar [t̪epaː]</li>
<li>kamottepmor [kamot̪tepmɐː]</li>
<li>pisosbikar [pisosbikaː]</li>
<li>selnersin [selneɹsin]</li>
<li>ser [seɹ]</li>
<li>eran [eɹan]</li>
<li>lipikoen [lipikoen]</li>
<li>kaknotser [kaknot̪seɹ]</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://whee.dk/2010/01/pronouncing-esolanean/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>More scripting</title>
		<link>https://whee.dk/2010/01/more-scripting/</link>
					<comments>https://whee.dk/2010/01/more-scripting/#respond</comments>
		
		<dc:creator><![CDATA[Arne Sostack]]></dc:creator>
		<pubDate>Sun, 24 Jan 2010 13:31:59 +0000</pubDate>
				<category><![CDATA[Esolanean]]></category>
		<guid isPermaLink="false">http://whee.dk/?p=153</guid>

					<description><![CDATA[I ended up last night with a script that generated some decent syllables. Alas, when combined, they didn&#8217;t always work very well. So I changed my script a bit: tokens vowel a e i o tokens consonant b k l m n p r s t tokens noun-ender r n rule base { loop 0 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I ended up last night with a script that generated some decent syllables. Alas, when combined, they didn&#8217;t always work very well.</p>
<p>So I changed my script a bit:</p>
<pre>tokens vowel a e i o
tokens consonant b k l m n p r s t
tokens noun-ender r n

rule base {
 loop 0 1 1 5[2] 2[3] {
 rule syllable
 }
}

rule noun {
 rule base
 rule noun-ending
}

rule noun-ending {
 loop 0 0 1 1 1 {
 token consonant
 }
 token vowel
 token noun-ender
}

rule syllable {
 loop 0 0 1 1 1 {
 token consonant
 }
 token vowel
 loop 0 0 6[1] {
 token consonant
 }
}

rule syllable {
 translate {
 a # =&gt; a $consonant
 e # =&gt; e $consonant
 i # =&gt; i $consonant
 o # =&gt; o $consonant
 }
 loop 0 0 1 {
 repeat
 }
 token vowel
 loop 0 0 6[1] {
 token consonant
 }
}

startingrule noun 50

</pre>
<p>Now, I&#8217;ve added a new variation of the syllable rule so as to make double consonants more likely. I found that ever so often, the rule would be applied to a syllable ending with a vowel, so I added the translate command to make sure there was a consonant at the end before repeating.</p>
<p>That&#8217;s a lot better, but there are still some consonant pairs that I dislike. So I added this rule to the script:</p>
<pre>rule cleaning {
 translate {
 [b p] k =&gt; m k
 t k =&gt; s k
 [b p] n =&gt; n n
 b p =&gt; p p
 p b =&gt; b b
 l r =&gt; l l
 }
}
</pre>
<p>Which solves at least most of my problems. Words now look like this:</p>
<ul>
<li>arpakpir</li>
<li>elobrar</li>
<li>akinan</li>
<li>oppin</li>
<li>abor</li>
<li>itokimkon</li>
<li>kanikbamen</li>
<li>oksan</li>
<li>ikabmemir</li>
<li>eppobin</li>
<li>an</li>
<li>etetelen</li>
<li>inter</li>
<li>orser</li>
<li>itannesmar</li>
<li>nabsipporon</li>
<li>imsinror</li>
<li>ekeon</li>
<li>obbason</li>
<li>mibosepir</li>
<li>ibasbir</li>
</ul>
<p>Not bad &#8211; and with a pretty uniform feeling, I think.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://whee.dk/2010/01/more-scripting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>First scripts</title>
		<link>https://whee.dk/2010/01/first-scripts/</link>
					<comments>https://whee.dk/2010/01/first-scripts/#comments</comments>
		
		<dc:creator><![CDATA[Arne Sostack]]></dc:creator>
		<pubDate>Sat, 23 Jan 2010 20:17:47 +0000</pubDate>
				<category><![CDATA[Esolanean]]></category>
		<guid isPermaLink="false">http://whee.dk/?p=149</guid>

					<description><![CDATA[Ok, so far I&#8217;ve been picking out consonants and vowels. I&#8217;m pretty sure I&#8217;ll need a few more, but I figure I might as well try and generate a few words. Here&#8217;s a first very simple script: tokens vowel a e i o tokens consonant b k l m n p r s t tokens [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ok, so far I&#8217;ve been picking out consonants and vowels. I&#8217;m pretty sure I&#8217;ll need a few more, but I figure I might as well try and generate a few words.</p>
<p>Here&#8217;s a first very simple script:</p>
<pre>tokens vowel a e i o
tokens consonant b k l m n p r s t
tokens noun-end r n

rule noun {
 token consonant
 token vowel
 token noun-end
}

startingrule noun 50

</pre>
<p>Which sadly generates very simple, one-syllable words. One moment!</p>
<pre>tokens vowel a e i o
tokens consonant b k l m n p r s t
tokens noun-end r n

rule noun {
 loop 1 5[2] 4[3] 2[4] {
 rule syllable
 }
 token noun-end
}

rule syllable {
 token consonant
 token vowel
}

startingrule noun 50

</pre>
<p>There, that&#8217;s better &#8211; although the syllable structure is a bit simple &#8211; CV isn&#8217;t much for variation. Here&#8217;s a new syllable rule for (C)V(C)</p>
<pre>rule syllable {
 loop 0 0 3[1] {
  token consonant
 }
 token vowel
 loop 0 0 6[1] {
  token consonant
 }
}


</pre>
<p>That gives me words like</p>
<ul>
<li>poenin</li>
<li>repokor</li>
<li>loriten</li>
<li>lobkosrokor</li>
<li>lopkoer</li>
<li>botipkiir</li>
<li>obpaen</li>
<li>opotan</li>
<li>resereor</li>
<li>ikolkoen</li>
<li>ilsian</li>
<li>osin</li>
<li>bitor</li>
<li>setepar</li>
</ul>
<p>Some of them aren&#8217;t exactly great, (ikolkoen? and botipkiir??) but it&#8217;s a start. Maybe I can clean up some of it with further processing.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://whee.dk/2010/01/first-scripts/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Object Caching 19/66 objects using Disk
Page Caching using Disk: Enhanced 

Served from: whee.dk @ 2026-08-22 07:35:11 by W3 Total Cache
-->