* Newbie question about punctuation @ Bill Cox ` Chris Brannon 0 siblings, 1 reply; 6+ messages in thread From: Bill Cox @ UTC (permalink / raw) To: Speakup is a screen review system for Linux. Sorry for this newbie question. I use espeakup and speechd-up, and no external devices. What is the difference between punctuation and reading punctuation? I find that changing "reading punctuation" does what I expect, and I can adjust to hear more or fewer punctuation characters. But changing "punctuation level" doesn't seem to do anything. I'm using Ubuntu Lucid (actually Vinux), speakup version speakup-3.1.3+git20100110. I see that for both espeakup and speechd-up, a punctuation command is sent only once (the 'b' command), and it seems to ask the software synth to punctuation to "0", which is interpreted by speechd-up as "all", but espeakup as "some". No further punctuation commands are sent when I use SpeakupKey+F9/SpeakupKey+F10. Is this a bug? Thanks, Bill ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Newbie question about punctuation Newbie question about punctuation Bill Cox @ ` Chris Brannon ` Bill Cox ` Sina Bahram 0 siblings, 2 replies; 6+ messages in thread From: Chris Brannon @ UTC (permalink / raw) To: Speakup is a screen review system for Linux. Bill Cox wrote: > Sorry for this newbie question. I use espeakup and speechd-up, and no > external devices. What is the difference between punctuation and > reading punctuation? Hello, Here's the difference. The "punctuation level" setting that you control with the speakup + f9 and speakup + f10 keys affects the punctuations that Speakup reads when the application is writing text to the screen. On the other hand, the "reading punctuation" level affects the punctuations spoken when you read using the screen review commands. Maybe an example will be useful. First, get to a shell prompt. Hit speakup + f10 until the punctuation level is at its maximum of 4. Now, press speakup + f11 until reading punctuation is at its minimum of 0. Echo something to the screen: echo 'Hello, world!' You should hear Speakup say Hello comma world bang Now, read the line just above your shell prompt with the review keys. speakup + numpad 3, followed by numpad 7 should do it. You won't hear the punctuations comma and bang. There's a third punctuation setting, and this one is synth specific. It can't be controlled by function keys. You have to set it by echoing a number from 0 to 3 to /sys/accessibility/speakup/soft/punct. When you change this setting, Speakup sends the "set punctuation" command to the software synthesizer. The two settings described in the last paragraph determine how much punctuation is read by Speakup. This third setting tells the synthesizer how to interpret raw punctuation characters that it receives. Hope this helps, -- Chris ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Newbie question about punctuation ` Chris Brannon @ ` Bill Cox ` Sina Bahram 1 sibling, 0 replies; 6+ messages in thread From: Bill Cox @ UTC (permalink / raw) To: Speakup is a screen review system for Linux. Thanks, Chris! I would recommend that a sentence about the difference be added to the user guide. I see the default soft/punct level is 0, and it's range is 0 to 2. ospeakup (previously speechd-up) interprets this as "all", but I'm pretty sure espeakup considers this "none". I think we should have 0 mean "none", 1 mean "some", and 2 mean "all" in ospeakup. Bill On Wed, Apr 21, 2010 at 11:00 AM, Chris Brannon <cmbrannon79@gmail.com> wrote: > Bill Cox wrote: >> Sorry for this newbie question. I use espeakup and speechd-up, and no >> external devices. What is the difference between punctuation and >> reading punctuation? > > Hello, > Here's the difference. The "punctuation level" setting that you control > with the speakup + f9 and speakup + f10 keys affects the punctuations > that Speakup reads when the application is writing text to the screen. > On the other hand, the "reading punctuation" level affects the punctuations > spoken when you read using the screen review commands. > Maybe an example will be useful. > > First, get to a shell prompt. > Hit speakup + f10 until the punctuation level is at its maximum of 4. > Now, press speakup + f11 until reading punctuation is at its minimum of 0. > Echo something to the screen: > echo 'Hello, world!' > You should hear Speakup say > Hello comma world bang > Now, read the line just above your shell prompt with the review keys. > speakup + numpad 3, followed by numpad 7 should do it. > You won't hear the punctuations comma and bang. > > There's a third punctuation setting, and this one is synth specific. > It can't be controlled by function keys. You have to > set it by echoing a number from 0 to 3 to > /sys/accessibility/speakup/soft/punct. > When you change this setting, Speakup sends the "set punctuation" command > to the software synthesizer. > The two settings described in the last paragraph determine how much > punctuation is read by Speakup. > This third setting tells the synthesizer how to interpret raw punctuation > characters that it receives. > > Hope this helps, > -- Chris > _______________________________________________ > Speakup mailing list > Speakup@braille.uwo.ca > http://speech.braille.uwo.ca/mailman/listinfo/speakup > ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: Newbie question about punctuation ` Chris Brannon ` Bill Cox @ ` Sina Bahram ` Bill Cox 1 sibling, 1 reply; 6+ messages in thread From: Sina Bahram @ UTC (permalink / raw) To: 'Speakup is a screen review system for Linux.' The way other screen readers solve this problem is to just let the synthesizer announce punctuation and call it a day. Take care, Sina -----Original Message----- From: speakup-bounces@braille.uwo.ca [mailto:speakup-bounces@braille.uwo.ca] On Behalf Of Chris Brannon Sent: Wednesday, April 21, 2010 11:01 AM To: Speakup is a screen review system for Linux. Subject: Re: Newbie question about punctuation Bill Cox wrote: > Sorry for this newbie question. I use espeakup and speechd-up, and no > external devices. What is the difference between punctuation and > reading punctuation? Hello, Here's the difference. The "punctuation level" setting that you control with the speakup + f9 and speakup + f10 keys affects the punctuations that Speakup reads when the application is writing text to the screen. On the other hand, the "reading punctuation" level affects the punctuations spoken when you read using the screen review commands. Maybe an example will be useful. First, get to a shell prompt. Hit speakup + f10 until the punctuation level is at its maximum of 4. Now, press speakup + f11 until reading punctuation is at its minimum of 0. Echo something to the screen: echo 'Hello, world!' You should hear Speakup say Hello comma world bang Now, read the line just above your shell prompt with the review keys. speakup + numpad 3, followed by numpad 7 should do it. You won't hear the punctuations comma and bang. There's a third punctuation setting, and this one is synth specific. It can't be controlled by function keys. You have to set it by echoing a number from 0 to 3 to /sys/accessibility/speakup/soft/punct. When you change this setting, Speakup sends the "set punctuation" command to the software synthesizer. The two settings described in the last paragraph determine how much punctuation is read by Speakup. This third setting tells the synthesizer how to interpret raw punctuation characters that it receives. Hope this helps, -- Chris _______________________________________________ Speakup mailing list Speakup@braille.uwo.ca http://speech.braille.uwo.ca/mailman/listinfo/speakup ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Newbie question about punctuation ` Sina Bahram @ ` Bill Cox ` Chris Brannon 0 siblings, 1 reply; 6+ messages in thread From: Bill Cox @ UTC (permalink / raw) To: Speakup is a screen review system for Linux. [-- Attachment #1: Type: text/plain, Size: 1499 bytes --] Hi, Chris. I'm replying on this list rather than opentts-dev, since my e-mails seem not to be coming through on opentts-dev today. I've tracked down three issues in ospeakup.c, and I've attached the output of "git diff". With these changes, ospeakup acts like espeakup, saying capital letters in a higher voice, not saying 'capital', and not reading all punctuation unless reviewing by character. This seems to be how espeakup works, and speakup users on the Vinux list have stated they prefer how espeakup works. These changes makes espeakup and ospeakup nearly equivalent. The first change in the diff is a bugfix, IMO. When ospeakup writes chartab values, it uses ALPHA for upper case letters, overwriting the default of A_CAP. I've changed it to A_CAP for uppercase characters, which enables uppercase letters to be spoken in a higher pitch. The second change causes 0 to mean no punctuation, 1 to mean some, and 2 to mean all. This seems to be the intent of the speakup code, and it makes ospeakup easier to listen to, IMO. Certainly there was a mismatch between speakup and ospeakup in that the valid range in speakup is defined to be 0-2, not 0-4. The final change is to detect that we're trying to speak a capital letter, and to call speak_string rather than say_single_character. This causes speech-dispatcher to avoid saying "capital". Alternatively, we could track down the bug that causes capital to be spoken instead of changing pitch. I'm still looking into this. Bill [-- Attachment #2: ospeakup.patch --] [-- Type: text/x-patch, Size: 1570 bytes --] diff --git a/ospeakup.c b/ospeakup.c index 2c81023..f2ac119 100644 --- a/ospeakup.c +++ b/ospeakup.c @@ -129,7 +129,7 @@ int init_speakup_tables() fprintf(fp_char, "%d\tALPHA\n", i); } for (i = 'A'; i <= 'Z'; i++) { - fprintf(fp_char, "%d\tALPHA\n", i); + fprintf(fp_char, "%d\tA_CAP\n", i); } for (i = 128; i < 256; i++) { fprintf(fp_char, "%d\tALPHA\n", i); @@ -160,17 +160,16 @@ void process_command(char command, unsigned int param, int pm) case 'b': /* set punctuation level */ switch (param) { case 0: - LOG(5, "[punctuation all]"); - ret = spd_set_punctuation(conn, SPD_PUNCT_ALL); + LOG(5, "[punctuation none]"); + ret = spd_set_punctuation(conn, SPD_PUNCT_NONE); break; case 1: - case 2: LOG(5, "[punctuation some]"); ret = spd_set_punctuation(conn, SPD_PUNCT_SOME); break; - case 3: - LOG(5, "[punctuation none]"); - ret = spd_set_punctuation(conn, SPD_PUNCT_NONE); + case 2: + LOG(5, "[punctuation all]"); + ret = spd_set_punctuation(conn, SPD_PUNCT_ALL); break; default: LOG(1, "ERROR: Invalid punctuation mode!"); @@ -424,11 +423,11 @@ int speak(char *text) LOG(5, "Text before recoding: |%s|", text); - if (printables == 1) { + if (printables == 1 && !isupper(*character)) { utf8_text = recode_text(character); LOG(5, "Sending to speechd as character: |%s|", utf8_text); spd_ret = say_single_character(utf8_text); - } else if (printables > 1) { + } else if (printables >= 1) { spd_ret = speak_string(text); } /* Else printables is 0, nothing to do. */ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Newbie question about punctuation ` Bill Cox @ ` Chris Brannon 0 siblings, 0 replies; 6+ messages in thread From: Chris Brannon @ UTC (permalink / raw) To: Speakup is a screen review system for Linux. Bill Cox wrote: > This seems to be how espeakup works, and speakup users on > the Vinux list have stated they prefer how espeakup works. These > changes makes espeakup and ospeakup nearly equivalent. Hi Bill, These changes seem good. I'll try to commit them in the morning. You're right about the punctuation setting. It's reversed in ospeakup and speechd-up. I have no idea why that was done. The lowest level, zero, should correspond to the "no punctuation" setting. Thanks, -- Chris ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~ UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
Newbie question about punctuation Bill Cox
` Chris Brannon
` Bill Cox
` Sina Bahram
` Bill Cox
` Chris Brannon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).