0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pepper SDK入門(20) PepperにSay(API)でsay(発言機会)を与える

Last updated at Posted at 2020-12-16

【Pepper】首だけ.png
また会いましたね。

#今回の目標
Pepperに喋ってもらいます。

//フレーズを決める
Phrase phrase = new Phrase("Hello");

//アクションをビルドする
Say say = SayBuilder.with(qiContext)
                    .withPhrase(phrase)
                    .build();

//アクションを同期実行する
say.run();

これが今回の学習内容です。
あらかじめ決めておいたフレーズは絶対的です。アドリブは出来ません。

#Pepperのために短い台本を用意しよう
Pepperの発言を決めましょう。helloでもhaloでもharrowでもそれ以外でも、なんでも構いません。

Phrase phrase = new Phrase("はろー");
Say say = SayBuilder.with(qiContext)
                    .withPhrase(phrase)
                    .build();

say.run();

Phraseを使ってビルドします。

#Pepperは動(きながら喋る)物である
Pepperはジェスチャーしながらお話をします。
その身振り手振りをキープするのも、BodyLanguageOptionで止めるのもユーザーの自由です。
後者を選ぶ場合は前回と前々回に倣い、BodyLanguageOption.DISABLEDを使いましょう。

Say say = SayBuilder.with(qiContext)
                    .withPhrase(phrase)
                    .withBodyLanguageOption(BodyLanguageOption.DISABLED)
                    .build();

say.run();

#Pepperはトリリンガルである
前回のListenでそうしたように、Localeで使用言語を変更することが出来ます。今回は英語です。It’s a breeze!

Locale locale = new Locale(Language.ENGLISH, Region.UNITED_STATES);
Say say = SayBuilder.with(qiContext)
                    .withPhrase(phrase)
                    .withLocale(locale)
                    .build();

say.run();

#Sayの存在意義を体験しよう
例えば気になるカクテル名をタブレットのボタンで選び、それにどんな酒類が混ざっているか教えてくれるようにしてみましょう。

String cocktailName = ...;
String materialDescription = ...;

Phrase namePhrase = new Phrase("今夜は " + cocktailName + "を飲みませんか");
Say sayName = SayBuilder.with(qiContext)
                        .withPhrase(namePhrase)
                        .build();

Phrase descriptionPhrase = new Phrase(materialDescription);
Say sayDescription = SayBuilder.with(qiContext)
                               .withPhrase(descriptionPhrase)
                               .build();

sayName.run();
sayDescription.run();

これの"Hello human"のボタン名と台詞を変えればすぐにでも体験できます。
スクリーンショット 2020-12-14 12.45.03.png
飲めなくても知識は持てるのです。

#Sayにおける諸性質
SayもListen同様に短い対話に向いています。
SayやListenを実行している時にChatが機能しないように、ChatやListenを実行している時にSayは機能しないので注意してください。会話するか聞くか喋るかは常に択一なのです。

APIドキュメントを見ると、もっとSayを知ることができます。

#あとがき
今回もPepper SDK for Androidを参考に書かせていただきました。
DiscussはChatで代用するよう記載されているため、次回はPhraseとPhraseSetについて学習したいと思います。名言や楽句の登場はありません。
それでは次回〜

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?