Opened 8 years ago

Closed 8 years ago

#3453 closed defect (fixed)

Clock does not speak in olpc build 12.1.0

Reported by: manuq Owned by: garycmartin
Priority: Unspecified by Maintainer Milestone: Unspecified
Component: Clock Version: 0.95.x
Severity: Unspecified Keywords: 12.1.0
Cc: tonyforster, cjl Distribution/OS: OLPC
Bug Status: Unconfirmed

Description

After toggling Talking clock, I can't hear the speak. Log attached.

Attachments (1)

tv.alterna.Clock-1.log (2.4 KB) - added by manuq 8 years ago.

Download all attachments as: .zip

Change History (13)

Changed 8 years ago by manuq

comment:1 Changed 8 years ago by manuq

  • Component changed from untriaged to Clock
  • Distribution/OS changed from Unspecified to OLPC
  • Version changed from Unspecified to 0.95.x

comment:2 follow-up: Changed 8 years ago by garycmartin

FWIW: Clock expects the builds espeak to work, you should be able to go to the terminal and type...

espeak hello world

...and have it speak to you, build 12.1.0 fails with an "wave_pulse.cpp: Assertion 'stream' failed." (11.3.1 and most past builds work OK). Happy to move to streamer-espeak if this is an elegant way to avoid an ever occurring bug in espeak, though it's a shame if espeak from the terminal can't be used as shipped.

comment:3 in reply to: ↑ 2 Changed 8 years ago by humitos

Replying to garycmartin:

...and have it speak to you, build 12.1.0 fails with an "wave_pulse.cpp: Assertion 'stream' failed."

I have the same problem in XO 1.75 os8. Same happens in XO 1.5 os8

comment:4 Changed 8 years ago by manuq

The speak functionality should be ported to the gst python API. The global text to speech implementation can be a good reference, sugar/src/jarabe/model/speech.py .

comment:5 follow-up: Changed 8 years ago by garycmartin

Fixed in Clock-8. Now defaults to gstreamer espeak plugin, with a fallback mode to the espeak command for older Sugar builds. However note that there seems to be an activity translation build issue in 12.1.0 so the only time text spoken is the default "What Time Is It" (this happens when translations are not found). The translations work fine in 11.x.x and an very early 802 build, but not in 12.1.0 build 8 (please re-test if you can!).

comment:6 in reply to: ↑ 5 Changed 8 years ago by tonyforster

  • Cc tonyforster added

Replying to garycmartin:

... in 12.1.0 so the only time text spoken is the default "What Time Is It" (this happens when translations are not found). The translations work fine in 11.x.x and an very early 802 build, but not in 12.1.0 build 8 (please re-test if you can!).

Confirmed this bug in OS9, Clock8, says "What Time Is It"

comment:7 Changed 8 years ago by cjl

The i18n has been changed.

"What Time is It" used to be msgctxt, now i tis the msgid itself.

See several similar changes that caused the POT to be different. These need to be fixed in the code t ogettext picks up the real strings.

http://lists.sugarlabs.org/archive/sugar-devel/2012-May/037583.html

Can't say for sure this will solve it, but if the msgid is "What time is it", that is all that will get translated.

comment:8 Changed 8 years ago by cjl

  • Cc cjl added

comment:9 Changed 8 years ago by cjl

For reference, Pootle's local copy of the POT was pushed back to Gitorious in December:

http://git.sugarlabs.org/clock/mainline/commit/30726bdba87892aa4a7a6e81dee2f199d0153e49

but the code changes that the potupdater script would have picked up happened earlier. Judging from the revised POT creation date in Nov, I guess.

"POT-Creation-Date: 2011-11-09 00:33-0500\n"

comment:10 Changed 8 years ago by RafaelOrtiz

Ariel and me, found that there is a gst issue..

452 try:
453 pipe = gst.parse_launch(pipeline)
454 bus = pipe.get_bus()
455 bus.add_signal_watch()
456 bus.connect('message', gstmessage_cb, pipe)
457 pipe.set_state(gst.STATE_PLAYING)

commenting this code seems to fix the problem, but the code needs to be changed, as we saw it gst is being run inside a thread to use espeak, and this call to espeak in the thread doesn't have all the needed configuration for espeak that is in speaker.py.

comment:11 Changed 8 years ago by manuq

I separated the POT issue in a new ticket: #3668

comment:12 Changed 8 years ago by garycmartin

  • Resolution set to fixed
  • Status changed from new to closed

Fixed (speaks, and uses the correct spoken accent and other voice settings) in Clock-9 release.

Note: See TracTickets for help on using tickets.