前にPepper標準搭載の音声合成だけで赤鼻のトナカイをおうたを歌わせてみた時の内容です。
Say boxの中身
歌っているパートは3つのSay boxに分割して実装しています。
\rspd=72\\vct=137\マッッカぁ菜\rspd=84\\vct=125\オォッ\vct=182\ハァッ\vct=140\ナァァッッ\rspd=60\\vct=138\ノォーーーーーォっっ、
\rspd=70\\vct=144\とぉ仲ぁいサぁぁ\rspd=95\\vct=180\ンーーー\rspd=70\\vct=160\ワァーーーーーぁぁッッ、
\rspd=76\\vct=115\いッッ\vct=120\ツーーもみーーィ\vct=164\ンンッ\vct=145\なーーぁ\vct=127\のーーーーーぉォッっ、\rspd=79\\vct=125\ワーぁァ\vct=149\ラーぁァ\vct=136\イーぃィ\vct=145\モーぉォ\vct=110\のーーーーーーぉォッッ、、
\rspd=80\\vct=170\メリーーぃぃぃクリ酢魔ーーーーーーァス、
完成品
※ノリでSoftBank Robot World 2017の出展コンテンツに忍ばせた時のものです。
Sayで歌わせる時のポイントとか
選曲は音域狭めのもので
Pepperには声の高さを調整するタグ「vct」がありますが、パラメータが50~200の間でしか使えません。
感覚的にはだいたい1オクターブちょっとの音域に収まるくらいの曲であればPepperでも歌える印象です。
ただしPepperの音域で出せる音に合わせてあげる必要があるため、実際の曲の音程に合わせるのは難しい場合が多いです。
音声調整用タグの詳細については公式ドキュメントを参照してみてください。
boxはワンフレーズずつboxを分ける
Pepperの声は前後の文字が変わるとイントネーションが変わったり、想定していない間が出現したりします。
文字数・調整タグ数が増えるほどSayが不安定で調整が難しくなるため、可能な限りboxは小分けにして、1box内の文字数を減らすと前後の文字に影響されにくくいい感じに調整できます。
長音調整は長音符と小さい文字と「、」で
長音調整はPepperの音声調整で一番クリエイティブかつ経験値が出やすい作業です。
「お鼻の〜♪」の「の〜」とか、「トナカイさんは〜♪」の「は〜」とか、この辺を色々組み合わせることで微妙な長短や音の下がり具合を調整することができます。
・長音符「ー」
・小さい「ぁぃぅぇぉゃゅょ」「ァィゥェォャュョ」
・小さい「っ」「ッ」
プラス最後は絶対「、」。
私の鉄板パターンはこれです。
長音府「ー」+ひらがなの小さい文字+カタカナの小さい文字+カタカナの「ッ」(2つ以上)+「、」
例)のーーーーーーぉォッッ、
これの組み合わせがいちばん一定の音程を保っていつまででも伸ばせるので
これを基本形にしてちょっとずつ「ッ」と「っ」の組み合わせやカタカナひらがなの比率を変えて調整することが多いです。
ちなみに最後が「。」でも「!」でもないのは、「、」が一番イントネーションや前後の発音に影響を与えないためです。
歌でなく普通に喋らせる場合も、同様の理由で「、」以外の句読点は使用しないことオススメします。
※短いものであれば調整タグvctを使いまくる手もありますが、使いすぎると変な間ができて不安定になったり、1個vctの値を変えると他のvctタグも全て調整し直したりする必要があるため、個人的にはオススメしません。
それでは素敵なX'masを。