Bug 12367 - SSML and Macintalk transformations
Summary: SSML and Macintalk transformations
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-22 11:11 PST by Nicholas Shanks
Modified: 2013-09-30 11:08 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas Shanks 2007-01-22 11:11:51 PST
I thought I had submitted these ages ago, but I can't find them anymore so maybe I never did. Anyway, at the following URLs are an XHTML to SSML transformation for passing to Ceptral's speech synthesiser ‘Swift’, and an SSML to AppleTalk transformation for passing to Macintalk if Swift is unavailable or the user prefers Macintalk. Neither transformations are complete and feedback is strongly welcome.

http://web.nickshanks.com/stylesheets/xhtml2ssml.xslt
http://web.nickshanks.com/stylesheets/ssml2macintalk.xslt

Notable features:
• Preservation of xml:lang
• Title attribute of abbreviations and acronyms read out
• Omission of "http://www." at the start of web links.
• Pauses, emphasis and de-emphasis for tags like <br>, <em> and <small>
• Assuming you declare the ssml namespace, "http://www.w3.org/2001/10/synthesis", you can encode pronunciations directly into your XHTML:

The place where I live is called <ssml:phoneme alphabet="x-apple-macintalk" ph="hAXrtfIXdSIXr"><ssml:phoneme ph="h a1 r t f ah0 d sh ah0 r"><!-- alphabet="x-cepstral-swift" -->Hertfordshire</ssml:phoneme></ssml:phoneme>

To demonstrate the difference, select the following text and have the speech engine read it out:
[[PHON]] hAXrtfIXdSIXr [[TEXT]] Hertfordshire

n.b: In its current version Swift ignores phoneme elements with an alphabet attribute. I reported this and suggest they use x-cepstral-swift. It also reads out DOCTYPES, which is why the SSML transformation doesn't output one.

Notable bugs:
• I don't know how to return pitch, volume and emphasis values back to their pre-adjustment state in Macintalk (which uses a state machine rather than a tree), e.g:
<em> fe <em> fi </em> fo </em> fum
would become:
[[EMPH +]] fe [[EMPH +]] fi fo fum
not
[[EMPH +]] fe [[EMPH +]] fi [[EMPH -]] fo [[EMPH -]] fum
Comment 1 Nicholas Shanks 2007-01-22 11:32:31 PST
Sorry, that example should have read:
[[inpt PHON]] hAXrtfIXdSIXr . [[inpt TEXT]] Hertfordshire
Comment 2 Alexey Proskuryakov 2007-01-22 12:39:37 PST
What is the WebKit bug here?
Comment 3 Nicholas Shanks 2007-01-22 17:47:10 PST
It's a feature request, well, you could call it a bug that WebKit support for speech sucks :-)
Obviously CSS is ignored too.
Comment 4 James Craig 2013-09-30 11:08:23 PDT
File web standard enhancement requests like this against the W3C specs for CSS Speech or the Web Speech API, both of which WebKit supports to some degree.

Reopen if there is already a spec covering this phoneme pronunciation.