* 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).