LotosLabo

プログラミング技術とか気になった情報を載せていきます

ユニティちゃんを自由に喋らせた

はじめに

こんなの作りました。




昨年12月に提供が開始された「VOCALOID SDK for Unity」を使用して作ってみました。

テキストボックスに入力された文字列を取得して、リアルタイムで合成して発声させています。
また、文字列の母音を取得して、SDユニティちゃんにリップシンクさせるようにしています。

開発にあたって

まず公式で公開されているSampleProjectを参考に、自分で発声させたい音声を決めて、
Playback合成RealTime合成を行ってみました。
そこからリファレンスを眺めたり、試しに卑猥な言葉も喋らせたりもしてみました。

また、声高を変えて歌わせてもみた(うまくいってはいない


そしてこれを使って何かゲームを作れないかと考えてみたのですが……



思いつかない。。




とりあえず音ゲーかなと思ったのですが、リアルタイムの魅力をどこに引き出すのか?
と疑問に思って考えるのをやめました。

で、そんなときにとあるリプライを頂きました。



これだ!!
Unityちゃんをデスクトップに置いて、
言葉(卑猥な言葉)を自由に喋らせるようにできれば…


開発開始!


とりあえずSDUnityちゃんを用意して、アニメーション、リップシンク、瞬きを行うようにしました。

次にテキストの入力部分についてですが、ユニティちゃんが喋れるのはひらがなだけです。
例えば、漢字、英語、記号といった文字はうまく発音してくれません。


その対策としてまずは根本から、uguiのテキストボックス(Input Field)でContent Typeを「Name」に設定しました。
これで日本語とアルファベットしか入力できなくなりました。


次に漢字に関してですが、こちらについては別途記事にて紹介させていただきました。


lo25131.hatenablog.com


このAPIを使うことでひらがなに変換することが可能になりました。


もちろんこれだけではうまく発音してくれません。

「きゃきゅきょ」のような文字は、文字数として、6文字ですが
実際に発音するときは「き」と「ゃ」を一緒に含めて発音するため、発音数は3文字となります。
その影響で合成発音時にズレが生じて最後に余って発音されてしまいました。

また同様に「っ」のような文字も実際に発音しないので、これも発音カウントに含めてはなりません。


このような対策も含めて3日(1日2時間)ぐらいで完成しました。



まとめ

YoutubeではUnityの環境から撮影したものですが、DeskTopMascotMakerを使用することで、
DeskTopにSDUnityちゃんを配置して、入力した言葉を喋れるようにすることに成功しました。

しかしまだ当然満足はいっていません
夢はAIアバターの作成…


とりあえずこの2週間ほどVOCALOID SDK for Unityをずっと触ってましたが、
実際にUnityで曲を作るとなると、やはりVocaloidDTMの知識が必要となってきます。
また現時点では歌詞のノートへの追加がすべてプログラムで行うので、かなり手間がかかります。

もういっそのことUnity内でVocaloid Editor作ろうかなとも考えたのですが、それは時間があったときに作れればいいなと

ライセンス


f:id:lo25131:20140607195201p:plain

このコンテンツは、『ユニティちゃんライセンス』で提供されています。


本コンテンツにはヤマハ株式会社の
VOCALOID SDK for Unity」が使用されています。
VOCALOID(ボーカロイド)」ならびに「ボカロ」はヤマハ株式会社の登録商標です。



supported by goo