From nobody@digitalkingdom.org Wed Nov 12 02:21:42 2008 Received: with ECARTIS (v1.0.0; list lojban-list); Wed, 12 Nov 2008 02:21:42 -0800 (PST) Received: from nobody by chain.digitalkingdom.org with local (Exim 4.69) (envelope-from ) id 1L0Cr0-0005oc-CK for lojban-list-real@lojban.org; Wed, 12 Nov 2008 02:21:42 -0800 Received: from el-out-1112.google.com ([209.85.162.180]) by chain.digitalkingdom.org with esmtp (Exim 4.69) (envelope-from ) id 1L0Cqv-0005oV-Bw for lojban-list@lojban.org; Wed, 12 Nov 2008 02:21:42 -0800 Received: by el-out-1112.google.com with SMTP id z25so173251ele.1 for ; Wed, 12 Nov 2008 02:21:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=ii/5sLM+Lz6t+8OA85wPgS9WMAx+noeK4aq6JsiEoho=; b=pgrnZhRLAHV07GtpxfQrYN88T4qX+1ggLbpe6t5QGTOUrFqBEUpADDi5IZUmlLyJ1j Fey7EWM6LrePHmYuJVlQhvq9qqmoY5FrQhdyXY9Rg6d37WrE7mHGTT3BQ1ZawnGgeiuh IX11vR3Q9tsH8cmP3n3dIYW6R/L68jD9X9UWM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=c6hxcUDdvkDvXz2+gKxxE+PSS97TjsSdgRCjYMJi2MLDVZGIKYBajbpgHYkLab4BrR Brrgc8G8Ll1yX1o28YR2Ag0HAMG5h7tOICFVb3qOO3Rh5OZc1BIH4v0Mjdaw35Bq8MrI WGPSpdvv1NB77YsKCsvxKFvLmVKRa9YqrGPPU= Received: by 10.142.224.5 with SMTP id w5mr3462652wfg.41.1226485294832; Wed, 12 Nov 2008 02:21:34 -0800 (PST) Received: by 10.142.11.8 with HTTP; Wed, 12 Nov 2008 02:21:34 -0800 (PST) Message-ID: Date: Wed, 12 Nov 2008 02:21:34 -0800 From: "Stephen Pollei" To: lojban-list@lojban.org, "Jonathan Duddington" Subject: [lojban] Re: eSpeak and lojban In-Reply-To: <4ffcdeab53jsd@clara.co.uk> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3722_19787654.1226485294795" References: <4ffcdeab53jsd@clara.co.uk> X-Spam-Score: -0.0 X-Spam-Score-Int: 0 X-Spam-Bar: / X-archive-position: 15008 X-ecartis-version: Ecartis v1.0.0 Sender: lojban-list-bounce@lojban.org Errors-to: lojban-list-bounce@lojban.org X-original-sender: stephen.pollei@gmail.com Precedence: bulk Reply-to: lojban-list@lojban.org X-list: lojban-list ------=_Part_3722_19787654.1226485294795 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 11/11/08, Jonathan Duddington wrote: > On 09 Nov, Stephen Pollei wrote: > > On 11/8/08, A. PIEKARSKI wrote: > Hello, I'm the author of eSpeak. But I don't know much about lojban. > > The latest version (currently 1.39.23) is at: > http://espeak.sf.net/test/latest.html Ok I will have to download that and check it out. The last one I downloaded was http://master.dl.sourceforge.net/sourceforge/espeak/espeak-1= .39-source.zip from http://espeak.sourceforge.net/download.html . I'll get http://espeak.sourceforge.net/test/espeak-1.39.23.zip right now. > > > By the way, the thing that I found most awkward is the way it > > > races through without pausing before the {ni'o}s. > There is a list of words in dictsource/jbo_list which have a pause > before them. Since lojban doesn't use commas to indicate pauses and > clause boundaries, we must rely on words. Please amend the list and > give me the updates. I can probably look through and find more words that indicate structure. I'd like to be careful not to over do it though. I'm not sure if I agreed with the ni'o issue as you can string them together { ni'o ni'o ni'o} and adding a three big pauses would be excessive. I think the way eSpeak deals with new lines solves the issue good enough for me. It seems to pause enough using that imho. > This seems to be a problem with lojban, long sentences with no > punctuation. You can't read a long sentence out aloud without > pauses and intonation. Yes you have to catch your breath some time and the only time with lojban you have to pause is only at certain times, in canonical text those times would be indicated by "." which I presume should be a full glottal stop. I noticed that you have different length of pauses and am not sure exactly which one is perfect for that. English and other languages use puncuation to represent pauses. Modern puncuation can a little bit after the printing press. In lojban you don't need them, but humans are likely to catch their breathes from time to time and it's likely that they might grab some of the habits of when to do so from other languages. > With lojban, it should be possible to determine the structure and > therefore where pauses should occur (but not by me, because I don't > know lojban). Can this be done simply by associating pauses with > certain words? It probably can as all of the structure is associated with specific cmavo type of words. > > I also have done very little as I'm not sure what to do about the x > > and z phomemes. I was completely stuck on those. > I've changed the sound of [x] phoneme recently, so try the latest > version. I will have to try out the new version > You previously said that it was difficult to distinguish > between 'c', 's', 'z' (phonemes [S] [s] [z]). These are the same > phoneme sounds which eSpeak uses for English and most other languages, > and I've not heard of any problem distinguishing them. For example, > English "ship, sip, zip" sound distinct, as are "gash, gas, gaz". > Perhaps the problem occurs with certain combinations of consonants? I think the problem I noticed with mostly with "zo" and a few other words. I think it was just the z that I noticed. I had a jbo_test.txt that is fairly big, I was planing on making a jbo_problems.txt that only had stuff which people had complaints about. I will retest and try making another test file that highlights only things that are potentialy less than optimal. > > I thought that adding the commas would help espeak pronounce syllable > > boundaries a little better; I haven't tested how espeak actually > > respondes to having commas all over the place. > What do you mean by "pronounce syllable boundaries correctly"? I mean that lojban has some ideas on where syllables should be split. http://www.lojban.org/tiki/tiki-index.php?page=3DThe+Lojban+Reference+Gramm= ar http://www.lojban.org/tiki/tiki-download_wiki_attachment.php?attId=3D195 [[ ... The commas represent new syllable breaks, but prohibit the use of pauses or glottal stop. ... 9. Syllabication And Stress ... ]] The Lojban Reference Grammar aka Complete Lojban Language aka cll has some guidlines of where these syllable breaks should occur. I beleive that your eSpeak program implements commas by adding a tiny bit more time in between the timing of the adjecant phonemes. I think it might help break apart some otherwise potentialy problematic consonant clusters. I have an almost complete slaka_sepli function which means syllable splitter, that should do the right things for stage 4 fu'ivla and cmene; however I want it to split differently for lujvo and have one extra step for stage 3 fu'ivla. Anyway a bunch of jargon, sorry. I had also hoped that it would maybe fix some of the vague prosody complaints I heard from others. I could be on the wrong track with this. basicly lihertadji.pl changes : {ni'o la alfas bravos carlis deltas ekos fokstrot golf xoTEL indias juliet kilos limas maik novembr oskar paPAS keBEK romios sieras tangos Uniform viktas uiskis eksreis iankis zulus cu co'e } into something like { ni'o la . al,fas . . bra,vos . . car,lis . . del,tas . . e,kos . . fok,strot . . golf . . xo,TEL . . in,dias . . ju,liet . . ki,los . . li,mas . . maik . . no,vemb,r . . o,skar . . pa,P= AS . . ke,BEK . . ro,mios . . sie,ras . . tan,gos . . U,ni,for,m . . vik,tas . . ui,skis . . ek,sreis . . ian,kis . . zu,lus . cu co'e} adds pauses(".") based on dotside variant of the lojban rules which is more than I want to put into your c++ code and adds commas also using rules that I'd prefer doing in perl than trying to wedge into your c++ code. Where to put the comma can change based on some somethimes subtle rules; {porpi} becomes {pOr,pi} and {renro} becomes {rE,nro}. The code I have for adding commas is incomplete in many ways, and under tes= ted. > > 1) get rid of { a } to { abu }, { e } to { ebu }, etc from jbo_list > This has been done. eSpeak will only pronounce 'a','e','i','o','u' as > "abu" etc, if a program (such as a screen-reader) explicitly asks for > the letter name. I checked your documentation and noticed that I had a misunderstanding. However I don't know by what means do they ask for this behavior? ./speak --help didn't say how to do request this behavior. A full letter by letter spell out mode might be useful. I was thinking of something like that for urls . "http://example.com/" might be pronounced { hy ty ty py relba'a bu katna bu katna bu e bu xy a bu my py ly e bu denpa bu cy o bu my katna bu} or more formally { hy ty ty py rel,bA'a bu kAt,na bu kAt,na bu .e bu xy .a bu my py ly .e bu dEn,pa bu cy .o bu my kAt,na bu} . I was especially think of that if someone wrote {zoi url http://example.com/ url}, much later feature. Also just in case there is any misunderstanding about commas and periods; they are optional and the two ways I wrote them out should in theory not effect how the words are pronounced. I just did a diff and see that some things were changed: "l l@" into "_l l@" and by http://espeak.sourceforge.net/dictionary.html section 4.6.1 I can see that maybe I was wrong about the meaning of the leading underscore. For some reason I was thinking it was matching whitespace or something. I think it was a misunderstanding on my part. Sorry for the confusion. > > 2) get rid of { m } to { my }, { l } to { ly } from jbo_list > > espeak shouldn't be touching any of the single consonants words, l,m, > > n, and r should be syllabics and according to at least some lojbanists > > should be valid cmevla. > Changed now. Yes I saw that in the diff. > > { b } to { by } shouldn't really be that harmful . > > . I would prefer if they got altered to be { b } to { yb } , > That's a simple change, when you decide. I think that for changing text that I'd like to do stuff like that in the perl preprocessor. There are a few other things like voiced and unvoiced consonants shouldn't touch and a few other rules that I like to simply enforce in the fixup function. > > The upstream maintainer was reluctant to take a patch from me that got > > rid of them all, because he said some of the consonants would sound > > merely like a click noise; I think that is valid concern, but it > > should be the responsibility of the writer not to give bogus input to > > espeak. > Yes, but it's also the responsibility of eSpeak to try to pronounce > text even if it's not valid language. A single lone letter is a common > typo error. Sure but their are other common typo errors like when forming lujvo forgeting to put a y in place . {bacybau} might be mispelled {bacbau} for example. I think the preproccessor can catch more stuff without polluting your c++ with very language specific rules. I don't think it's a big deal either way. > > 3) Get rid of the stuff which stresses cmavo from jbo_list but leave > > the upstream authors pausing in place . cmavo should never be stressed > > unless someone capitalized some of it's letters. > Are you sure? > "Stress" here doesn't mean "emphasized". It just means that eSpeak > will give them the same stress as other words. jbo_list contains a few > cmavo which are "not unstressed". I don't know what they mean ("cai" > "cu'i", "pei" etc), but someone told me to include them because they > may carry more stress in normal speech than others. http://www.lojban.org/tiki/tiki-download_wiki_attachment.php?attId=3D195 I use the terms as it's used in this section of the cll . I know that cmavo can be stressed: example 9.13) e'u bridi e'u BRI,di E'u BRI,di e'U.BRI,di Shows three different ways that are valid to stress this example. The third way requires a pause(glottal stop) to separate the words. The one reason I don't like eSpeak stressing cmavo is because there is a way for the writer to mark stress, but no way for him/her to indicate it shouldn't be stressed. If it's left upto the author then he has full control, but if eSpeak decides to stress certain cmavo and not others then the range of choice is reduced. I think it could be something that could be addressed with having alternative voices. A full control version that stesses nothing and another voice that stresses certain things be default. http://espeak.sourceforge.net/voices.html > The important question is not, "is it strictly correct", but rather > "does it sound right" and "does it help intelligibility". My main point was not correctness, but control. I think that the best answer might be two dictionary files, that can be selected between using your voice mechanism. > > It also will stress cmevla without capital letters which also isn't > > wrong really, it might even be the right thing to do according to some > > I've talked to. I'd prefer if it didn't stress cmevla and leave that > > up to the writer, but I could be wrong about that. I request feedback. > Again, I think you misunderstand what eSpeak means here by "stress". > It's just the normal stress on the penultimate syllable of most words. > Not "special emphasis". I think the lojban capital letter convention > is used when the stressed syllable is other than the default. So no > capital letter means "stress on the penultimate syllable". "stress on the penultimate syllable" is the mandatory rule for brivla(gismu,lujvo,fu'ivla) but for cmavo and cmene it's acceptable for there to be no stress at all. Again it's not really a correctness issue but a control issue; I think having at least two dictionary files would be best. > If there is a way in lojban text to indicate an emphasized word in a > sentence, then you can indicate that to eSpeak by using SSML (speech > synthesis markup language). yes the word {ba'e} emphasizes the next word. http://espeak.sourceforge.net/ssml.html says eSpeak supports the = tag. I was thinking of outputing ssml just because lojban supporting quoting things from other languages and so it would be nice to be able to switch to english, or french, or german, or whatever as the occasion might arise. > > maybe nice to have but dropped: > > 1) in jbo_rules h, q, and w aren't really legal lojban characters, > They may occur in foreign names. > Accented characters such as '=F6' and =F1 are not in the English alphabe= t, > but eSpeak should cope if it sees them. yes the can occur in foreign words, which should always be properly quoted using {zoi}, {la'o}, or {la'oi}, in which case the best thing would be to switch languages temporarily. I also have some rules in fixup that gets rid of these invalid letters in maybe a slightly more intelligent way. Like "h" can be into either {x" or {'} depending on the situation, or simply droped. I have about 20 regexs that deal with getting rid of this characters in the fixup function. Ideally the fixup should only happen for things not quoted and should be rare. > > 2) dj and tc but not ts and dz has special support in jbo_rules, > The "dj" and "tc" sounds are nearly always considered as single > phonemes ([tS] and [dZ]) in other languages. "ts" and "dz" are often > not (eg. in English). Listen for which sounds better. Yes I'm not sure which is best, I know that in lojban "dj" is considered as two phomemes, I also would need to ask others more experinced in lojban for their opinion. I see an option to write raw phonemes to stdout is available, but I'm not sure hao to get eSpeak to use that directly to create a wav file, if I did I could create a test file that had both pronounciations for some sample text and see which people liked better. Oh well I can always splice files together if needed to things a more difficult way. -x Write phoneme mnemonics to stdout > > 3) l, n , r My earlier patch just made them more consistent. Again I should make a test for that and see what people like best. > > > 4) Give extra pause to lo'u and le'u the error quote stuff and zo and > > zoi the regular quote stuff > I don't understand that one. lo'u and le'u are used to surround a group of lojban words that might otherwise be ungrammatical, so I think it best to slow done around them. if it's ungrammatical it's likely to be something tricky. My test file uses {lo'u} and {le'u} a lot because some of my tests are just words strung together which are nonsense. zo is used to quote one word, no pause mandated but I thought it might be useful. zoi is used to quote foreign text like {da cusku zoi . glibau . hello there this is english . glibau . } zoi needs certain pauses and is surrounded by lojban words which can also often be used as hints as to which language is being quoted. glibau is the lujvo for glico bangu aka english language. > > I had also just ripped out some pausing stuff as the rules didn't > > really require them, and they don't hurt anything AFAIK. > Better to keep pauses if they help listening. Human speakers need to > breath occasionally even if the semantics don't require it. Yes I might even put in a few more pausing stuff, but I think maybe at least two dictionary files might be good. One bare bones and the other with some frills. > > Also I did nothing to change the x and the z, > What did you want to change? The x sometimes sounded odd, but might have been correct, just odd sounding to me. the z sometimes sounded like a n or something. I'm not sure exactly what or how to change anything. ni'o zo fi .ezo lei .ezo kei .ezo da .ezo .a. .ezo du'u .ezo xu .ezo pu valsi ra'a le vomoi djedi ni'o zo fi . e zo lei . e zo kei . e zo da . e zo . a . e zo du'u . = e zo xu . e zo pu . xlA,li xlU,ra . xy ry . xrU,ti xrA,ni . zy by . zbA,su zbE,pi . zy dy . zdA,ni zdI,le . zy gy . zgA,na zgI,ke . zy my . zmA,du zmI,ku . zy vy . zvA,ti . It's been awhile but I think the zo words were among the worst sounding. It's getting too late for me to retest now. Oh also reminded me that some of the {by} stuff sounded too much alike. by ly . boi . by ry . boi . cy fy . boi . cy ky . boi . cy ly . boi . cy my . boi . cy ny . boi . cy py . boi . cy ry . boi . cy ty . boi . dy jy . boi . dy ry . boi . dy zy . boi . fy ly . boi . fy ry . boi That might demonstrate it. It's getting past 2 am though, so I must quit. > > The critical fix is getting rid of the { .a } to { .abu } snafu. > Fixed since eSpeak 1.38 yes seems it was a misunderstanding on my part. mea culpa . i u'u mi srera > > Getting rid of the stressing of some cmavo > Consider how they are spoken in real speech. Again mostly a control issue, I think another voice for switching dictionary would work well. > > and not adding "y" to single consonant cmevla would be nice, > I doubt it, if the consonant can't be a syllable by itself. Sure I'm not too worried about it, invalid input can have undefined or implementation defined outcome. > > but the x and z issue is more important, but sadly I don't think I > > can do anything about it. > I don't know what the problem is. > > You wrote earlier that eSpeak is too fast. sure in jbo_test.sh I use 115 words and like you said is likely because we have no native speakers, and perhaps less than 30 that are really expert and really fluent. Most(including me) have some knowlege but struggle. #! /bin/sh ./lihertadji.pl < jbo_test.txt > jbo_test0.txt ../src/speak -f jbo_test0.txt -v jbo -w jbo_test.wav -s 115 > > add the following line to the end of the file > espeak-data/voices/jbo > words 1 > > That will speak words separately, not merged together. The speech > won't flow as smoothly, but it's probably easier to listen to. You can > use larger values in the range 1 to 4 to give longer gaps between words. Yes that another reason I made the preprocessor, in writing lojban you can merge your words together. {ni'o i coi tirnas dei cu cipra i o'i mu xagji sofybakni cu zvati le purdi}= and {ni'ocoi.tirnas.deicucipra.i.o'imuxAgjisofybAknicuzvAtilepUrdi} mean the same and should be pronounced the same. The condensed version is valid, but most lojbanists will get upset if you use it. More common is stringing cmavo together like {lenu} instead of {le nu} and I did notice that spliting words apart so that there is always space between them definately made it sound better. The rules on splitting words are again to complicated that I didn't want to attempt to pollute your c++ with them. I thank you for your time, and I apologize for my earlier misunderstanding. I also apologize for the quality of this email. It's 2:15 am and I'm getting a bit tired. ------=_Part_3722_19787654.1226485294795 Content-Type: text/plain; name=jbo_test.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fnfth3ys Content-Disposition: attachment; filename=jbo_test.txt bmknbyBpIGNvaSB0aXJuYXMgZGVpIGN1IGNpcHJhIGkgbydpIG11IHhhZ2ppIHNvZnliYWtuaSBj dSB6dmF0aSBsZSBwdXJkaQpuaSdvY29pIHRpcm5hcyBkZWljdSBjaXByYSBpIG8naW11IHhhZ2pp IHNvZnliYWtuaSBjdXp2YXRpIGxlcHVyZGkKbmknb2NvaS50aXJuYXMuZGVpY3VjaXByYS5pLm8n aW11eEFnamlzb2Z5YkFrbmljdXp2QXRpbGVwVXJkaQoKbmknbwpkZWljdUNJUHJhCmltaWN1bmEn ZVhBR2ppc29meUJBS25pLmltaVNVUmxhc29meUJBS25pCmlkb21vc29meUJBS25pZG9pLnN0aXZu LgppZGFkYUNFVm5pLmlkb0NFVm5pLmltYSdhQ0VWbmkKaWRvVENFdGNlUElMbm9sb2lNQVJuYQoK bmknbyB1J3UgbG8ndSAKYSBlIGkgbyB1IHkgCmFpIGF1IGVpIGlhIGllIGlpIGlvIGl1IGl5IG9p IHVhIHVlIHVpIHVvIHV1IHV5IHkKYmFkZ2FpIGpib2JhdSBjYW1nZWkgY2xpbm9pIHkKYmFpIHRh dSBwZWkgaWFuYWkgaWVwZWkgaWluYWkgaW9uYWkgaXVjdSdpIGNvaSB1YW5haSB1ZXBlaSB1aWJ1 IHVvbmFpIHV1bmFpIHkKbWVpaW4gbWVpLGluIG1lLGlpbiBjaSxhaSxhcyBidXl0IGNpeXogeQph J2EgZSdlIGknaSBvJ28gdSd1IHkneSBjbydvIHkgeSBsZSd1ICBuYSBnZW5kcmEKCm5pJ28gdSd1 IGxvJ3UKYWJ1IGdhc251IGNhdHJhIGJ5ICAgYmxhYmkgYmVibmEgY3kgIGNhY3JhIGN1dGNpIGR5 ICBkYW5kdSAgIGR1bmRhCmVidSBiZWJuYSBqYmVuYSBmeSAgIGZhcmx1IGxpZnJpIGd5ICBnbGV0 dSBndWdkZSBpYnUgY2lwbmkgICBwaW5qaQpqeSAgam1hamkgamlqbnUga3kgICBrdWt0ZSBrbGFr dSBseSAgbG9sZGkgbGl2bGEgbXkgIG1ha2ZhICAgbWFtdGEKbnkgIGNuaW5vIHNuYW51IG9idSAg cG9uc2UgYm90cGkgcHkgIHBhbnBpIHBvcnBpIHJ5ICByZW5ybyAgIHJvcmNpCnN5ICBzcmFzdSBz aXNrdSB0eSAgIHRpdGxhIHRhdHJ1IHVidSBiYW5jdSBndXNuaSB2eSAgdmluamkgICBiZXZyaQp4 eSAgeGV4c28geGFsa2EgeS5idSAueS4ga2l0eWJsaSB6eSAgenZhdGkgemFzdGkgeSd5IGZ1J2l2 bGEgYmEnb3J6dSdlIHkgeQogIGxlJ3UgbmEgZ2VuZHJhCgpuaSdvIGxhIGFsZmFzIGJyYXZvcyBj YXJsaXMgZGVsdGFzIGVrb3MgZm9rc3Ryb3QgZ29sZiB4b1RFTCBpbmRpYXMKIGp1bGlldCBraWxv cyBsaW1hcyBtYWlrIG5vdmVtYnIgb3NrYXIgcGFQQVMga2VCRUsgcm9taW9zCiBzaWVyYXMgdGFu Z29zIFVuaWZvcm0gdmlrdGFzIHVpc2tpcyBla3NyZWlzIGlhbmtpcyB6dWx1cyBjdSBjbydlIHkg eQoKbmknbyB1J3UgbG8ndQpieWx5IGJsYWJpIGJsYW51IGJ5cnkgYnJlZGkgYnJpanUgY3lmeSBj ZmFyaSBjZmlwdSBjeWt5IGNrYWZpIGNrYWJ1IGN5bHkgY2xhZHUgY2xhbmkKY3lteSBjbWF2byBj bWVuZSBjeW55IGNuaXRhIGNuaW5vIGN5cHkgY3BhbmEgY3BhY3UgY3lyeSBjcmFkaSBjcmliZSBj eXR5IGN0ZWJpIGN0dWNhCmR5ankgZGppY2EgZGplZGkgZHlyeSBkcmFuaSBkcmF0YSBkeXp5IGR6 aXBvIGR6ZW5hIGZ5bHkgZmxpcmEgZmxhbmkgZnlyeSBmcmFzbyBmcmlsaQpneWx5IGdsZXR1IGds aWNvIGd5cnkgZ3J1c2kgZ3Jha2UganlieSBqYmVuYSBqYmFtYSBqeWR5IGpkaW5pIGpkaWNlIGp5 Z3kgamdhcmkgamdpdGEKanlteSBqbWl2ZSBqbWFqaSBqeXZ5IGp2aW51ICAgICAgIGt5bHkga2xh a3Uga2xhbWEga3lyeSBrcmludSBrcmFzaSBteWx5IG1sYXR1IG1sZWNhCm15cnkgbXJpbHUgbXJ1 bGkgcHlseSBwbGlzZSBwbGFuYSBweXJ5IHByZW51IHByYWxpIHN5Znkgc2Zhbmkgc2ZvZmEgc3lr eSBza2FtaSBza2ljdQpzeWx5IHNsaXJ1IHNsYWJ1IHN5bXkgc21hY3Ugc211Y2kgc3lueSBzbmlm ZSBzbmFkYSBzeXB5IHNwZW5pIHNwYXRpIHN5cnkgc3Jhc3Ugc3JlcmEKc3l0eSBzdHVuYSBzdGFn aSB0eWN5IHRjaWR1IHRjYWR1IHR5cnkgdHJvY2kgdHJhdGkgdHlzeSB0c2FsaSB0c2lqdSB2eWx5 IHZsaXBhIHZsYWdpCnZ5cnkgdnJ1ZGUgdnJhZ2EgeHlseSB4bGFsaSB4bHVyYSB4eXJ5IHhydXRp IHhyYW5pIHp5YnkgemJhc3UgemJlcGkgenlkeSB6ZGFuaSB6ZGlsZQp6eWd5IHpnYW5hIHpnaWtl IHp5bXkgem1hZHUgem1pa3Ugenl2eSB6dmF0aSAgICAgICB5IHkgIGxlJ3UgIG5hIGdlbmRyYQoK bmknbyB1J3UgbG8ndQpraXp2IGJhanYgeSB6dmFwcmUganZpa2VpIHkgdG9zbWFicnUgdG9zbGlu a3UnaSB5Cmx1anZvIGdpc211IGJyaXZsYSBsb2piYW4gamJvYmF1IGJhanlqdmkgY2FneWNlJ3Ug bWFscmFyYmF1IHkKc3BhZ2V0aXMgc3ByYWlsZSBjaWRqLHIsc3BhZ2V0aSBkamEscixzcGFnZXRp ICB4aWtpdmltIGFuZ2VsaSBsZXJsZGphbW8geSB5ICBsZSd1ICBuYSBnZW5kcmEKCm5pJ28gaSBj b2kgdGlybmFzIGEnbyBzbydpIGRhIHhhbWd1IG1hJ2EgbWEnYQpuaSdvIGljb2kgdGlybmFzIGEn b3NvJ2lkYSB4YW1ndSBtYSdhbWEnYQpuaSdvLmljb2kudGlybmFzLmEnb3NvJ2lkYXhBbWd1bWEn YW1hJ2EKCm5pJ28gbGEgY3lmeWwgZSBsYSBzeWt5bCBlIGxhIHp5ZHlsIGUgbGEgZnlieXppbSBl IGxhIGN5eml6YW0gZSBsYSAga3lneWJ5ciBjdSBqZWN0YSBnaXJ6dQoKbmknbyBpIGRvaSBiYW5n dSBjbyBzYXRjaSBqb2kgamknYSBuYSdlIHNhdGNpIGRvJ3UgZHVuZGEgbGUga28gc2Vsa2FpIGNv IHNpZGJvIHZlbGN1c2t1IGxvaSB0ZXJkaSBzZWx2bydhIG5vaSBuaXRjdSBsbyBuaW50YWRqaSBi ZSBMTyBudSBtZW5iZW5qaSBmbyBsb2kgcHJlbnUgY28gc2lteHUKCmkgZG9pIHNlbHBlbnNpIGNv IGNmaXB1IGJlIGxlIHNvJ2ltZWkgcG9pIGRqaWNhIGxlIGthIGppbXBlIGRvJ3UgcGFncmUga28g bGUgY2ZhcmkgZmEgbGVpIHRpcm5hIGkgZSdvIGtvIGtsaW5hIHNlbGN1c2t1IGdpJ2UgamljbGEg ZmUgTEUgbm9yZmFydmkgUEUgbGUgbnUgc2VsamltdGUgbG9pIG1hbGdlcm5hIAoKbmknb25pJ28g bGUgdmFsc2kgcGUgbGUgcGFtb2kgamVmdHUKCm5pJ28gem8gbGUgLmUgem8gbWkgLmUgem8gY3Ug ZSB6byBudSAuZSB6byBkbyAuZSB6byBsYSAuZSB6byBzZQogIHZhbHNpIHJhJ2EgbGUgcGFtb2kg ZGplZGkKLmkgbWkgY3UgdGF2bGEgZG8gbGUgdnJpY2kgbGUgbG9qYmF1IC5pCm1pIGN1c2t1IGxl IHZyaWNpIGRvIGxlIHZpZG5pIC5pCm1pIHp2YXRpIGxhIG1lcmd1Zy4gbWkgenZhdGkgbGEgYW1y aWthbgouaSBsYSBtZXJndWcuIHNlIHp2YXRpIG1pIGkKbWkgY3Uga2xhbWEgbGEgc3RhcmJha3Mu IGxlbWkgemRhbmkgeSBsZSBkYXJndSBsZW1pIGN1dGNpCi5pIGxhIHN0YXJiYWtzLiBtaSBzZSBr bGFtYSAuaQptaSB6dmF0aSBsZW51IHNlIHRpZ25pIC5pIGxlIHRpZ25pIGN1IGNtYWx1IGxla2Eg Y2xhbmkgLmkKbGVudSBzZSB0aWduaSBjdSBuYSBjbWFsdSBsZWthIGNhY3JhIGkKbGUgdGlnbmkg Y3UgbXV0Y2UgbGVrYSBjbGFuaSBrdSBsZSBjbWFsdSAuaQpsZSB0aWduaSBjdSBjbWFsdSBsZWth IGNsYW5pIGtlaSBsbydlIHByZW51IHZhdQouaSBtaSBjdSBjbydlIGRvIHpvJ2UgbGUgYnJvZGEK LmkgbGUgY28nZSBrdSB6bydlIGxlIGNvJ2Uga3UgY3UgY28nZQogaSBsZSBicm9kZSBrdSB6bydl IGN1IGNvJ2UgbGEgYnJvZGkKLmkgbGUgYnJvZGEgY3UgY28nZSBsZXN1J3UgYnJvZG8KLmkgem8n ZSBzZSBjbydlCgpuaSdvIHpvIGxvIGV6byBsdSBlem8gbGkndSBlem8gY29pIGV6byBuYSBlIHpv IGN1c2t1IGV6byBiZSBlem8gZ2knZQogIHZhbHNpIHJhJ2EgbGUgcmVtb2kgZGplZGkKaSBkbyBj dXNrdSBsdSBtaSBuZWxjaSBsbyBudSBjaWxyZSBsbyBsb2pibyBsaSd1IG1pCmkgbGEgYWxla3Mu IHRhdmxhIGx1IC51J2kgbGEgZ3Vuc3BvamFzLiBuZWxjaSBsZW51IHRhdmxhIGZvIGxhIGpib2Jh dSBsaSd1CmkgbGEgYWxla3MuIHRhdmxhIGx1IGdlJ2UgbGEgZ3Vuc3BvamEgY28nZSBsZXN1J3Ug YnJvZGUgbGkndQppIGNvaSAuYWxla3MuCmkgY29pIGxlIHRjaWR1CmkgY29pIGxhIHN0ZWZlbiBl IGxhIHRlbmVuLgppIGxhIGd1bnNwb2phbiBuYSB6dmF0aSBsbyB6ZGFuaSBiZSBtaQppIHpvJ2Ug Y3UgY28nZSBsbyBicm9kaSBiZSBsZSBicm9kYQppIG1pIGd1bmthIGxvIG5vIHBsaWthJ2UgbG8g bnUgdGF2bGEgZm8gbGEgamJvYmF1CmkgbGEgZ3Vuc3BvamEgY3Vza3UgbHUgbGUgbWVuc2kgYmUg bWkgbmEgemFzdGkgbGkndQppIG1pIGtsYW1hIGxlIHNlIHp2YXRpIGJlIGxhIGFsZWtzIGkgbWkg a2xhbWEgbGEgYWxla3MKLmkgbWkgdGF0cGkgbGUgY2t1bGUgZ2knZSBiYXppIHNpcG5hCi5pIG1p IGNhIHp2YXRpIHR1IGdpJ2UgYmF6YSBrbGFtYSB0aQouaSB6bydlIGJyb2RhIHpvJ2UgZ2knZSBi cm9kZSB6bydlCi5pIGxvJ3UgbWkgZ3Vua2EgbGVudSBjaWxyZSBiZSBsbyBqYm92bGEgbGUndSBu YSBkcmFuaQouaSBjb2lkbyBtaSBqbWl2ZSBnaSdlIGthbnJvCi5pIGxhIG51biB5b3JrIHRpbWVz IGN1c2t1IGxlIG51emJhIHkgbGUgdGNpZHUgbGUgcGFwcmkKLmkgbWkgY3UgY28nZSBkbyB6bydl IGxvIGJyb2RhCi5pIGxlIGNvJ2Uga3Ugem8nZSBsbyBjbydlIGt1IGN1IGNvJ2UKLmkgbGUgYnJv ZGUga3Ugem8nZSBjdSBuYSBjbydlIGxhIGJyb2RpCi5pIGNvaSAuYWxla3MuIGRvJ3UgbGUgYnJv ZGEgY3UgY28nZSBsb3N1J3UgYnJvZG8KCm5pJ28gem8gc2VpIC5lem8gY2EgLmV6byBybyAuZXpv IG1hIGUgem8gZ28naSAuZXpvIG5vaSAuZXpvIGt1J2kgLmV6byBuYWkKICAgdmFsc2kgcmEnYSBs ZSBjaW1vaSBkamVkaQouaSAudWluYWkgbWkgY2EgenZhdGkgdHUgLmlrdSdpIG1pIGJhemEga2xh bWEgdGkKLmkgbWkgY2EgenZhdGkgbGEgbWVyZ3VnLiBub2kgZ3VnZGUKLmkgc2VpIGxhIC5hbGVr cy4gY3Vza3Ugc2UndSBjb2kgcm9kbyAuaSBzZWkgbGEgc3Rpdi4gY3Vza3Ugc2UndSBjb2kgbGEg LmFsZWtzLgouaSBzZWkgbGEgLmFsZWtzLiB0ZSBwcmV0aSBzZSd1IG1hIGptaXZlCi5pIHNlaSBs YSBzdGl2LiBjdXNrdSBzZSd1IG1pIGptaXZlIGdpJ2Uga2Fucm8KLmkgc2VpIGxhIC5hbGVrcy4g dGUgcHJldGkgbWEgam1pdmUKLmkgbHUgbWkgZ28naSBnaSdlIGthbnJvIHNlaXNhJ2EgbGEgc3Rp di4gY3Vza3UgbGkndQouaSBzZWkgbGEgLmFsZWtzLiBmbyBsYSBzdGl2LiB0ZSBwcmV0aSBzZSd1 ICBkbyBjYSB6dmF0aSBtYQouaSBtaSBjYSB6dmF0aSBsYSBtZXJndSdlLiBzZWkgbGEgc3Rpdi4g Y3Vza3UKLmkgc2VpIGxhIC5hbGVrcy4gdGUgcHJldGkgc2UndSB4dSByb2RvIGNhIHp2YXRpIGxh IG1lcmd1J2UuCi5pIGxhIC5hbGVrcy4gcG8nbyBuYWkgbmEgenZhdGkgbGEgbWVyZ3VnLgouaSBz ZWkgbGEgYWxla3MuIHRlIHByZXRpIHh1IGxhIHN0aXYuIGNhIHp2YXRpIGxhIG1lcmd1J2UKLmkg c2VpIGxhIGd1bnNwb2phIGN1c2t1IGdvJ2kKLmkgbGEgLmFsZWtzLiBub2kgbmFubXUgY2EgbmEg enZhdGkgbGEgbWVyZ3VnCiAgICAgLmlrdSdpIGxhIC5hbGVrcy4gY2EgenZhdGkgbGEgc3JhbHln dWcuCgpuaSdvIHpvIGZpIC5lem8gbGVpIC5lem8ga2VpIC5lem8gZGEgLmV6byAuYS4gLmV6byBk dSd1IC5lem8geHUgLmV6byBwdQogICB2YWxzaSByYSdhIGxlIHZvbW9pIGRqZWRpCi5pIGxvIG51 IHZpc2thIGRvIGtlaSBsZSBuaW5tdSBjdSBwbHVrYSAuaSBsbyBudSB2aXNrYSBkbyBrZWkgbWkg cGx1a2EKLmkgbG8gbnUgdmlza2EgbGEgLmFsZWtzLiBrZWkgbGEgLmFsaXMuIG5vaSBuaW5tdSBj dSBwbHVrYQouaSBsbyBudSB2aXNrYSBsYSAuYWxpcy4gY3UgcGx1a2Egcm9kYSBpIGxvIG51IHZp c2thIGxlIGthbGNpIGN1IHBsdWthIG5vZGEKLmkgc3UnbyBkYSBwcmFtaSBsbyBudSB2aXNrYSBs byBrYWxjaSAuaSBkYSBrYWxjaSBjYWtjaW5raQouaSBsZWkgcHJlbnUgY3UgY2l0a2EgbGUgY2lk amEgbm9pIG1pIGp1a3BhCi5pIGtvIHRhdmxhIGZpIGxvIGpib2JhdQouaSBsZWkgZ3Vua2EgcHUg emJhc3UgbGUgemRhbmkKLmkgbWkgY2lscmUgbGVkdSd1IHpvIGR1J3UgY3UgY21hdm8ga2VpIGxv IGpib2JhdQouaSBkbyBwdSBjaWxyZSBsZWR1J3UgbGlyZSBsaXBhIGxpcGEgc3VtamkKLmkgc2Vp IGxhIC5hbGlzLiBmaSBsYSAuYWxla3MuIGN1c2t1ICB4dSBtaSBwbHVrYSBkbwouaSBzZWkgbGEg LmFsZWtzLiBjdXNrdSBnbydpCi5pIHNlaSBsYSAuYWxpcy4gY3Vza3UgeHUgZG8ga3VjbGkKLmkg bGEgLmFsZWtzLiBrbGFtYSBsYSBzdGFyYmFrcyBhIGxlbWkgemRhbmkgYSBsZSB6ZGFuaSBiZSBs YSAuYWxpcy4KCm5pJ28gem8ga28gZXpvIGJ1IC5lem8gLmUuIC5lem8ga2EgZSB6byBiYSAuZXpv IGplIC5lem8gbG9pIC5lem8gem8KICAgdmFsc2kgcmEnYSBsZSBtdW1vaSBkamVkaQouaSBrbyBr bGFtYSBsZSB6YXJjaSBnaSdlIGJhIHRlIHZlY251IGxlIGxhZHJ1IGUgbGUgamlwY2kgc292ZGEK Lmkga28gdmlza2EgbGEgLmFsaXMgZSBsYSAuYWxla3MuIC5pIGtvIGthcmJpIGxhIC5hbGlzLiBs YSAuYWxla3MuIGxla2EgdHJpbmEKLmkgbGEgLmFsaXMuIHptYWR1IGxhIC5hbGVrcy4gbGVrYSB0 cmluYQouaSBsbyBudSB2aXNrYSBtZSdvIGRpcmNlIGJ1IGthZGplCi5pIGxhIGRhdCBzaWQgem1h ZHUgbGUnZSBqYm9iYXUgbGVrYSBzZSBwaWxubyBtZSdvIGRlbnBhIGJ1Ci5pIGxhIC5hbGlzLiBu aW5tdSBpamUgbGEgLmFsZWtzLiBuYW5tdQouaSBtaSBqbWl2ZSBqZSBrYW5ybyByZW1uYQouaSBs YSAuYWxla3MuIGNhIHp2YXRpIGxhIHNyYWx5Z3VnLiBpamUgbWkgY2EgenZhdGkgbGEgbWVyZ3Un ZQouaSBtaSBjaWxyZSBsZWR1J3Ugem8gem8gY3UgY21hdm8ga2VpIGxvIGpib2JhdQouaSB6byBj aWxyZSBnaXNtdSAuaWplIHpvIGthIGNtYXZvCi5pIGxhIC5hbGVrcy4gYmEga2xhbWEgbGEgc3Rh cmJha3MgZSBsZW1pIHpkYW5pCiBpIGxhIC5hbGVrcy4gYmEga2xhbWEgbGVtaSB6ZGFuaSBlIGxh IHN0YXJiYWtzIAouaSBsb2kgcHJlbnUgY3UgenZhdGkgbG8gdGVyZGkgYmUgbGUgcmVtbmEKLmkg bG9pIHJlbW5hIGN1IGptaXZlIC5pamUgbG9pIHJlbW5hIGN1IG1vcnNpCgoK ------=_Part_3722_19787654.1226485294795-- To unsubscribe from this list, send mail to lojban-list-request@lojban.org with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, or if you're really stuck, send mail to secretary@lojban.org for help.