[[
✎ SSML
]]
ja.nishimotz.com
現在位置:
自己紹介と技術情報
»
SSML
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== SSML ====== since 2010-11-19 Speech Synthesis Markup Language (SSML)は W3C が標準化を進めている音声合成マークアップ言語。 W3C は 2010年9月に [[http://www.w3.org/TR/speech-synthesis11/|Speech Synthesis Markup Language (SSML) Version 1.1]] を Recommendation にした。 ===== Amazon Polly ===== since 2018-07-31 クラウドサービスによる(日本語対応の)音声合成。 * https://docs.aws.amazon.com/ja_jp/polly/latest/dg/what-is.html Polly で使える SSML タグ * https://docs.aws.amazon.com/ja_jp/polly/latest/dg/supported-ssml.html * prosody range の紹介 http://blog.serverworks.co.jp/tech/2017/02/20/customize_polly_talk/ レキシコン(辞書カスタマイズ)も W3C Pronunciation Lexicon Specification (PLS) バージョン 1.0 準拠とのこと。 * https://www.w3.org/TR/pronunciation-lexicon/ 以下、AWS Polly のコンソールで確認。 ==== エイリアス ==== 日本語のテキストに PLS でユーザ辞書を適用して読み上げられる ja.pls <code xml> <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="ja-JP"> <lexeme> <grapheme>( ^)o(^ )</grapheme> <alias>顔文字</alias> </lexeme> </lexicon> </code> プレーンテキスト <code> こんにちは ( ^)o(^ ) </code> 日本語で実行すると「こんにちは、かおもじ」と読み上げる。 alphabet に ipa と指定していても、alias 要素には関係ないようだ。 ==== 発音の指定 ==== since 2018-07-31 日本語でも ipa や x-sampa で発音を指定できそうだが、あまり正しく再現されないようだ SSML(PLSは使用せず phoneme タグで指定) <code xml> <speak><phoneme alphabet="ipa" ph='käkikɯkeko'>( ^)o(^ )</phoneme></speak> </code> 日本語で実行すると「コーキクーケーコ」と読み上げているように聞こえる。 カナ文字で読みを指定できなさそう。 x-jeida は実装されていないようだ。 使用できる音素のリスト * https://docs.aws.amazon.com/polly/latest/dg/ph-table-japanese.html PLS ファイルの記述例(英語の例) * https://docs.aws.amazon.com/ja_jp/polly/latest/dg/gs-put-lexicon.html ==== aiopolly ==== since 2019-11-20 SSML を python でラップするとこんな感じになるのか https://github.com/MrMrRobat/aiopolly ===== 日本語TTSの実装 ===== 以下 2010年から2011年にかけて書いていた記事です。 [[http://www.w3.org/TR/pronunciation-lexicon/|Pronunciation Lexicon Specification]] (PLS) は [[daisy]] でも利用される。 電子書籍変換ツール [[http://code.google.com/p/daisy-pipeline/wiki/TTSProductionWorkflow|daisy-pipeline]] で利用可能な PLS 対応エンジンが求められている。 DAISY4はEPUB3と協調しつつ標準化を進めている。 * [[http://accessibility.mitsue.co.jp/archives/000059.html|音声合成記述言語 SSML 1.1]] ミツエーリンクスのBLOG * [[http://mainichi.jp/universalon/report/archive/news/2011/20110401mog00m040027000c.html|《電子書籍》肉声とのハイブリッド読み上げなどを検討--TTS推進協の第5回テキスト…]] ユニバーサロンリポート (毎日JP) 以下、オープンソース音声合成エンジンである [[galateatalk]] および [[open-jtalk]] に基づいた PLS 実装について検討する。 スクリーンリーダー [[nvdajp]] の実装に使っている [[project:libopenjtalk]] および [[project:ojt-python]] をベースに、 仕様を確認して、プロトタイプ実装をして、 daisy-pipeline に役立ててもらえる実装に発展させたい。 ==== 現状 ==== TODO: 商用の日本語音声合成エンジンにおける SSML1.1 のサポート状況は? === GalateaTalk === GalateaTalk は JEIDA-62-2000 [[http://galatea.sourceforge.jp/galatea-doc/main_p2_c8_ja.html|日本語テキスト音声合成用記号]] を実装している。 読み表記に関して JEIDA-62-2000 は [[http://www.itscj.ipsj.or.jp/ipsj-ts/02-04/main.htm|音声認識のための読み表記]] 情報処理学会 試行標準 IPSJ-TS 0004:2003 ([[http://www.itscj.ipsj.or.jp/ipsj-ts/02-04/tutr.htm|解説]]) とほぼ同一とされている。 [[http://sourceforge.jp/projects/galatea/wiki/JapaneseGalateaTalk|GalateaTalkのテキスト解析処理の詳細]] (sf.jp) [[dialogstudio|Galatea Dialog Studio]] のVoiceXML実装では、SSML 1.0 の一部の要素を JEIDA (JEITA) マークアップに変換して GalateaTalk に送っている。 === Open JTalk === Open JTalk はマークアップを実装していない。 ==== 要求仕様とテストケース ==== 誰かが作り始めているのだと思うが。。 ==== sub要素 ==== <code xml> <?xml version="1.0" encoding='utf-8' ?> <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang="ja"> 荒川区<sub alias="にっぽり">日暮里</sub> </speak> </code> ==== w要素 ==== サンプルを考えてみる。 <code xml> <?xml version="1.0" encoding='utf-8' ?> <speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis11/synthesis.xsd" xml:lang="ja"> <token>東京都</token><token>文京区</token> 茨城県<w>かすみがうら市</w> </speak> </code> ==== phoneme要素 ==== 要確認:JEITA-2000 の発音表記文字セットの定義と、本当に下記のようにつかってもいいのかどうか。 下記ではアクセント記号「’」を使っている。 <code xml> <?xml version="1.0" encoding='utf-8' ?> <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang="ja"> <phoneme alphabet="x-JEITA-2000" ph="と’まと"> トマト </phoneme> </speak> </code>
ssml.txt
· 最終更新: 2019/11/20 21:27 by
Takuya Nishimoto