Web Speech API で SSML を含むテキストの読み上げを試みました。しかし現状ではサポートされていないようです。
"test" を「ハロー」と読み上げる例です。(うまくいきません)
See the Pen Web Speech APIでSSMLのテスト by 七誌 (@7shi) on CodePen.
↑ エラーになる場合は一度 CodePen を開いてから、この記事をリロードしてください。
以下の記事のサンプルを改造しました。
Chromium 系
Chrome と Edge では次の挙動を示しました。
- ローカルエンジン (Windows): タグが無視され「テスト」と読み上げ
- オンラインエンジン: タグもテキストとして読み上げ
オンラインエンジンはブラウザの開発元のサービスに紐付いており、日本語は以下の通りです。
- Chrome: Google 日本語
- Edge: Microsoft Nanami Online (Natural) - Japanese (Japan)
※ もしかして Nanami は窓辺ななみと関係があるのでしょうか?(アニメ声ではないですが)
Firefox
Firefox ではオンラインエンジンはなく、ローカルエンジンのみです。
- ローカルエンジン (Windows): タグもテキストとして読み上げ
同じローカルエンジンを使用しても Chromium 系と挙動が違います。
SAPI
Windows ローカルのエンジンを SAPI で使用すると、SSML が認識され「ハロー」と読み上げます。
wintts -i test.ssml
挙動が違うことから、ブラウザはローカルエンジンに SSML を含むテキストを直接渡しているわけではないようです。
使用している wintts は以下の記事で作成したコマンドです。
SAPI での SSML の使用については以下の記事を参照してください。