今回は10月15日、16日に行われたイベント「信州マッシュアップアワード12 in 塩尻」のレポートです。
イベント名に12と入っているように、マッシュアップアワードは今回で12回目になります。マッシュアップとは、様々なAPIを組み合わせて面白いサービスを作るものですが、数年前から無理にAPIを使わなくてもよくなりました。
これにより制限がゆるくなって、発表できる作品のバリエーションが広がりました。特にハードウェア単体でもコンテストに応募できるようになったのは、その影響が大きいのではないかと思います。
さて、今回も長野県塩尻市の会場(塩尻インキュベーションプラザ)で開催されることになりました。
・塩尻インキュベーションプラザ(SIP)
http://sip.shiojiri.com/
前々回は審査員でしたが、今回は開発者として普通に参加することになりました。目当てはソフトバンクのロボットであるペッパー君です。ロボットに何かやらせるというのは面白そうなので、ペッパー君を使って何かするグループにしました。
グループは四人ですが、誰もロボットのプログラミング、開発を行ったことがありません。他のロボットと比べても巨大な、ペッパー君に触れること自体が初めてという人もいました。
問題は、素人しかいないグループで何を作るかです。マッシュアップアワードは二日間なので、その間に作成できるプログラムでないといけません。初心者がペッパー君を使って何か面白いことをするには、どうしたらよいか? 考えた結果こうなりました。
修造ペッパー2016
要するに、松岡修造のような動きと喋りをするペッパー君を作成しようというものです。もともとは、ペッパー君に落語をやらせようと考えていました。長屋の花見か寿限無とか。芝浜は長いので無理(時間による制約とは違う熱の問題で、芝浜のような長いのは無理みたいです)。
アイデア出しの時点で、何を血迷ったか紙に誰かが「松岡修造」と書いてました(今回のチームリーダー)。その瞬間にもう「松岡修造ペッパーしかない」ということになってしまいました。家で空しく運動(ジョギング/ランニング等)する人を応援しようという試みです。
早い段階で作成するものが決まりましたので、これから先は実際にペッパー君は何ができて何ができないか、調べないといけません。マッシュアップアワードは二日目の午後4時からプレゼンをしないといけないので、時間を逆算して作業などを分担することになりました。
まず、開発ツール/アプリのインストールが必要になります。都合よいことに、初心者でも手軽に開発できるChoregrapheというアプリケーションが用意されています。Mac/Windows/UNIX用があります。
https://developer.softbankrobotics.com/jp-ja/downloads
https://developer.softbankrobotics.com/jp-ja/downloads/pepper
https://developer.softbankrobotics.com/jp-ja/documents/developing-our-robots
Choregrapheを使えば、ペッパー君を簡単に制御することができます。Choregrapheの使い方は以下の書籍が参考になりました。
・Pepperプログラミング
https://www.amazon.co.jp/dp/4797384492
ペッパー君の開発をいろいろアドバイスしてもらって、下準備はできました。できた、と言っても私のマシンはOSが古くて、インストールできませんでした。他にもWindows 10だと、開発補助のプログラムを追加したりするとうまくいかない部分(音声まわり)がありました。
結局のところ、三台のマシンで開発を行うことになりました。音声組とモーション組の二手に分かれました。別々に開発しても最後に統合できるそうなので、このように分担することになりました。
まず、ペッパー君に言葉を発してもらうところからです。Choregrapheは処理したいボックスをドラッグ&ドロップし、それぞれ対応するボックス同士を線でつなげていきます。何か言葉をしゃべってもらうには、以下のようになります。基本となる言語を設定(日本語)してから、Sayのボックスにしゃべらせる文章を入力します。
https://twitter.com/openspc/status/787197194130513920
このSayボックスがなぜかサイズが大きくならず、長文をしゃべらせるには、すごく面倒でした。ペッパー君は長文の方が得意なのか、割と普通に聞こえます。こんな感じです。
・「君の名は。」の映画予告みたいなもの
https://twitter.com/openspc/status/787232127439867904/video/1
・「名探偵コナン」っぽいもの
https://twitter.com/openspc/status/787250026250510336
ペッパー君はどんな文章でも、こちらの期待通りに読むとは限りません。特に漢字の読みですが、手直ししないといけないことがあります。例えば、
「孫正義」を読ませると「まごせいぎ」になってしまいます。こういう場合は「損まさよし」のように修正します。
ペッパー君は文章を読む場合は、まあ普通に聞けなくはありません。問題は松岡修造のように叫ぶ・シャウトすることができない、ということです。
「Pepperプログラミング」の書籍内には、より普通に話すためのテクニックが一部書かれていますが、やはりそれだけでは駄目です。
読み上げで調整できるのはrspd、vct、pauタグだけです。音量の調整はできない感じですが、一年前の記事を見るとvolでできるようです。この三つは、それぞれ以下の意味になります。
rsdp 読み上げ速度
vct 声の高さ
pau ウエイト
このタグはそれぞれ一文字ずつ設定できます。一文字ずつ設定できるのは便利です。タグは\を使って以下のようにSayボックス内に記述します。
\vct=200\\rspd=120\どうしてそこで諦めるんだ.
\rspd=110\\vct=120\今日も\vct=190\\rspd=150\ガンバレェェェーーッ\pau=200\
ちなみに平仮名と片仮名では発音が異なります。さらに、音声読み上げソフトで使える伝統的な技として、期待する発音に近い漢字を割り当てるというのがあります。例えば
「おはよう〜」という言葉をしゃべらせると、イマイチ期待と違うイントネーションになってしまうことがあります。そこで、「おは世ォ〜」のように「よ」の文字を「世」にし、さらに母音を変更し、拗音にします。
このような作業を納得するまで繰り返します。実は、この作業は試行錯誤なので、非常に時間がかかります。どのくらいの長音記号を入れればいいのか、拗音を何個重ねればいいのか。実際にイベントでしゃべらせたデータは、以下のようになっています。
\vct=200\\rspd=120\頑張れ\pau=100\頑張れ\pau=100\頑張れ\pau=100\頑張れ\pau=100\ガンバレェェェェェェェェェェェェーーッ
こんな簡単な台詞でも、試行錯誤で一時間ほど消費してしまいました。開発マシンで音声合成できればいいのですが、そのような処理をできるサービスだったかアプリがうまく動かず(最初だけ動いたみたいですが)、ペッパー本体にデータを送信して確認するという、手間のかかることをしなければいけませんでした。
松岡修造っぽい台詞を言わせるだけで、初日が終わってしまいました。それでも、最後は実験として寿限無を早口(vct=200)で喋らせてみました。(Wikiに掲載したものを利用)
じゅげむ じゅげむ ごこうのすりきれ かいじゃりすいぎょの すいぎょうまつ うんらいまつ ふうらいまつ くうねるところにすむところ やぶらこうじのぶらこうじ ぱいぽ ぱいぽ ぱいぽのしゅーりんがん しゅーりんがんのぐーりんだい ぐーりんだいのぽんぽこぴーの ぽんぽこなーの ちょうきゅうめいのちょうすけ
全部平仮名なので、期待通りに読み上げてくれます。よどみなく読み上げるペッパー君はなかなかいいロボットでした。
・ロボット【Pepper(ペッパー)】イントネーション
http://systrabot.com/?p=165
・ロボット発話調整ソフト「Citrus Rams」が無料で使えるので試してみました。
http://robotstart.info/2015/09/04/isana-citrus-rams.html
長くなったので、続きは次回。
【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/
ペッパー君は肩が弱いそうな。小学校5年生の快活な男の子らしいけど、11歳
くらいで、もう四十肩とは可哀想。
・みんなのIchigoJam入門 BASICで楽しむゲーム作りと電子工作
http://www.amazon.co.jp/dp/4865940332/
・Premiere Pro & Media Encoder自動化サンプル集
http://www.amazon.co.jp/dp/4802090471/
・JavaScriptによるデータビジュアライゼーション入門
http://www.amazon.co.jp/dp/4873117461/
・Photoshop自動化基本編
http://www.amazon.co.jp/dp/B00W952JQW/
・Illustrator自動化基本編
http://www.amazon.co.jp/dp/B00R5MZ1PA/
・Adobe JavaScriptリファレンス
http://www.amazon.co.jp/dp/B00FZEK6J6/
・4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/
・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/