https://d226lax1qjow5r.cloudfront.net/blog/blogposts/christmas-poetry-reading-using-text-to-speech-dr/Christmas-Poetry-Reading-Using-Text-To-Speech.png

音声合成とSSMLを使ったクリスマスの詩の朗読

最終更新日 May 10, 2021

所要時間:1 分

ネクスモでは 音声合成しかし、テキストはただ話すだけではありません。NexmoのVoice APIは以下をサポートしています。 SSML(音声合成マークアップ言語)(音声合成マークアップ言語)をサポートしています。

クリスマスなので、クリスマス・ポエムに挑戦してみようと思った!コンマやフルストップなどの句読点だけの音声合成は、実際にはかなりうまく機能するので、最初の試みでも、メーターがあるはずだとなんとなくわかる。

小さなジャック・ホーナーは、隅に座ってクリスマス・パイを食べていた:"僕はなんていい子なんだろう!"

強調すべき単語をマークアップすることで、これを改善することができる。私は <prosody>タグを使い、韻の中の強い単語にボリュームを与え、緩急をつけた。例えば、"Horner"、"corner"、"plum"、"thumb "には、話し方のリズムを良くするために <prosody rate="x-slow">を付けて、スピーチのリズムを助けている。

音声合成は "Horner "という単語を知らなかったので、"Horner "という単語の発音を音声的に綴るために <phoneme>タグを使って、その単語の発音を音声的に綴りました(少なくとも次の行の "corner "とは韻を踏んでいます。)これは音声合成コンテンツをキュレーションするときにとても便利なトリックで、特に固有名詞はパーサーにとって馴染みのない単語であることが多い。その他、発音が思ったように出てこない単語にも使えます。

最後に、面白半分に、最後の行の "good "という単語を消去した。 <say-as>タグを使い、この単語を "expletive "にしました。このタグは、アプリケーションでユーザー提供の未知のコンテンツを話す必要がある場合に非常に便利です!

これが完成したSSMLだ:

<speak>
    <lang xml:lang="en-GB">
        Little Jack <prosody rate="x-slow"><phoneme alphabet="ipa" ph="ˈhɔːnə">Horner</phoneme></prosody>,
        Sat in the<prosody rate="x-slow">corner</prosody>,
        Eating of <prosody volume="x-loud">Christmas</prosody> <prosody rate="x-slow">pie:</prosody>
        He put in his <prosody rate="x-slow">thumb</prosody>,
        And pulled out a <prosody rate="x-slow">plum</prosody>,
        And said, “What a <say-as interpret-as="expletive">good</say-as> boy am <prosody rate="x-slow">I</prosody>!”
    </lang>
</speak>

このXMLを textフィールドとして talkアクションを追加した。 recordアクションも追加することで、ロボットの詩を取り込むことができた:

https://soundcloud.com/user-872225766-984610678/conference-31696a4f-983f-40ea-b81a-ab942fc33782


SSMLを追加することで、ユーザーとの会話にさらなる表現を加えることができます。今年のクリスマスに何か詩的なものを作ったら教えてください!

シェア:

https://a.storyblok.com/f/270183/250x250/e3d3b71060/lornajane.png
Lorna Mitchellヴォネージの卒業生

ローナはブログ癖のあるソフトウェア・エンジニアだ。彼女は言葉とコードを同等に扱おうとしている。