kun432's blog

Alexaなどスマートスピーカーの話題中心に、Voiceflowの日本語情報を発信してます。たまにAWSやkubernetesなど。

〜スマートスピーカーやVoiceflowの記事は右メニューのカテゴリからどうぞ。〜

#AAJUG京都 スキル企画・開発アドバンスド でLTしてきた

f:id:kun432:20191110012111j:plain

ちょっと前になりますがAAJUG京都のまとめです。今回はガッツリ開発寄りの非常に濃い話を非常に濃いメンバーでやるということで楽しみにしてました。諸般の事情によりこの記事をやや寝かせていたのですが解禁ということでエモめでお届けします!

そしてそんな猛者の中で空気を読まずに小ネタでLTしてきたアカウントのブログがこちらになります😆

発表内容

今回は「発話とBGMの並列再生」をテーマに話してきました。詳細は資料を御覧いただきたいのですが、GoogleのSSMLにあるタグ、案外知られていないみたいですが、SSMLだけで発話とサウンドの並列再生ができる強力なものです。Googleデベロッパーの方によるデモが以下のサイトにありますので、いくつかご紹介します。

ほんとすごいですよねー。で、これをなんとかAlexaでも実現したいなーと前々からずっと思っていて、とあるところで以下を教えてもらったのがきっかけでした。

Lambda上でSoXというサウンド処理コマンドのバイナリを動かして、Pollyで生成した発話とサウンドをミックスするという、なかなか面白いことをやっていて、これをやってみた、というのが今回のメインの話になります。

なお、実際にやってみると、

  • 日本語、というか、Polly日本リージョンで使う場合には少し修正が必要
  • コメントアウトしないといけない箇所がある
  • AWS側の設定も少し追加が必要

というところがあったので、日本語で動かせるようにfolkして修正や解説を加えたものを以下に用意してます。

LamdbaのNode.js 10.Xランタイムでは動かない、Node.js8.Xランタイムも終わりが見えている、ということもあって、とりあえず試せるように変更したって感じなので、もし動かないとかあればissue立ててもらえればと思います。

で、帰りに色々調べていると、どうやらNode10.Xランタイムで動くSoXがあるので、これに置き換えるだけでまだ使えそうな気がします。Lambda Layer化する、OSS版のask-cliつかってIAM設定も入れ込む、とかやれば、もっと手軽に試してもらえるかなと思いますので、そのうち試してみたいと思います。

※issue参照

で、ここまでは技術的な話で、本当に言いたかったことは以下の3点。

要望あげよう!

今回、オチのようにつかって申し訳なかったのですが、 要望をあげることはとても重要だと思っています。特に日本語の要望が少ない現状では日本のユーザの意見なんて聞いてもらえるわけないです。Twitterとかでつぶやけばいいじゃないかという方もいると思いますが、多分そんなのいちいち見てないだろうし自分がその立場だったら見てられませんよね(炎上するぐらいになれば見られるかもですが)。要望は正規のルートがあるならまずはそこで上げていくべきだと思ってます。

ということで、日本語の要望はこちら。(要Amazonアカウントでログイン)

英語の要望はこちら。

alexa.uservoice.com

要望の登録をするのは・・・という人も、他の人の要望に投票することもできるので、気軽に上げていけばいいと思います。今回のparタグについても要望上げてますのでPlease Vote!

Received
Alexa スキル開発に関わる機能リクエストや改善アイディアをお知らせください。
  • 5 votes
  • 0 comments

発話とオーディオ再生を同時に行いたい

SSMLを使って、Alexaからの応答にオーディオファイルを含めることができますが、現状はシーケンシャルにしか処理されません。

例)
発話   →→   →→→
オーディオ  →→→   →→→
※発話中は音楽等が流れない、無音状態

発話している最中にもBGM的にオーディオ再生できるようにしてほしいです。

例)
発話   →→   →→→
オーディオ→→→→→→→→

これにより、TVやラジオ番組のような豊かな表現が可能になることが期待できますが、現状は発話・オーディオを両方含めたオーディオファイルを作って再生させるしかなく、発話を動的にやりたい等の場合に...

Received
How can we improve Alexa Skill development services and tools?
  • 89 votes
  • 13 comments

The possibility to add background music with the help of SSML

See this example
https://gist.github.com/silvolu/63074e8fac76c615746f534f59f28e5f#file-media-example2-xml

他のプラットフォームもさわってみよう

Alexaだけをやっている人にとってはSSMLで発話とサウンドの並列再生はできない、というのは当たり前かもしれませんが、Googleではできる、ということを知ると意味は変わってきますよね。そこが要望につながっていく。そういう意味でも、他のプラットフォームとの違いを見て気づきを得ることは大事だと思います。逆に、AlexaではできるけどGoogleではできないことなどもあるわけでそうなると改めてAlexaの良さもわかるわけですし、そういう違いをどういうふうに吸収するか?を考えるのはマルチプラットフォームにスキル、アクションを提供する上ではとても重要でチャレンジングだと思ってます。

ぜひ、Google HomeやClovaも触ってみましょう!それぞれの良さもしれるし、Alexaの良さも改めてわかります。

サウンドの可能性

今回一番言いたかったのはこれです。その前に当日の参加者だけに先行でデモしていただいたVoice App Labさんの新作スキル「こびとのせかい」の話をします。(これに期待してる人も多いでしょうしね!)

これほんと衝撃的でした。サウンドやビジュアルの作り込みはさすがのVoice App Labさんクオリティなんですけど、個人的にすごいと思ったのはそこではなくて(すいません!いや、普段からものすごいんですけど、今日は別のすごさを語りたい・・・)。

  • 今のAlexaスキルで人気があるのは、音楽を聞いたり、環境音を聞いたりといった、あまり対話モデルを必要としないものという現実。
  • 開発者からするとVUIの観点では物足りないが、その現実を踏まえた上で、ユーザが魅力的なサウンドを聞く・聞きたくなるためのスキルを、Labさんならではのストーリー性やゲーム性をもたせて提供している。
  • 技術的には難しいことをやっていない(と思われる)。以前からあるSSMLオーディオやAudio Player、APLを普通に使っているだけに見える。
  • ただし、それらをうまくスキル内課金と組み合わせることで、音楽を聞きたくなる⇒お金を払いたくなる、ような魅力的なスキルにしている。かつ、スキル内課金の商品は、買い切り型・消費型の両方に対応。

スキルアワード最優秀作品にもなった「どうぶつびより」は技術を駆使した感があったんですが、こちらは逆に難しいことはしてないと思ってて、「聞いていて心地よいサウンド」というところを突き詰めて考えた結果を、既存の機能の組み合わせや見せ方で実現しつつ、かつスキル内課金をうまく組み込んでいる、なんていうか「普通」であるからこそ逆にすごい!みたいなものを感じてしまったのでした、、、

また、私のスライドの中でも紹介した以下の記事の中でも、「ユーザごとにカスタマイズされた音声コンテンツ」ということがVoice系スタートアップの成功の条件だと書かれていて、音声コンテンツ=サウンドと考えると、もっとユーザが好む・望むサウンドを提供することがとても重要なのではないかなと。GoogleのSSMLで実現できる発話とサウンドの並列再生も、個人的にはこの方向性ともあっていると思っています。

techcrunch.com

スキル開発をやっていてなかなかスキルが使われない、という場合に、機能が足りない、とか、国内のスマートスピーカー市場が成熟していない、みたいな理由をつけがちだと思うんですけど(自戒も込めて)、どういうものをユーザが求めているのか、どういう「サウンド」ならユーザが聞きたいと思うのか、お金を払っても良いと思うのか?ということをもっと考えないといけないんだろうなということを改めて考えてしまいました。そして、新しい機能を求めがちだけど、サウンドだってまだまだ可能性がある、ということを突きつけられて気がします。

]

動画をサウンドに置き換えても同じことですよね。もっと突っ込んでやれば面白いものができるはず、、、!

他の発表

他の発表も今回は濃いですw

Daichi Moritaさん

  • AVSキットの話、結構お高いのね、流石にためらうところをイッたのがすごい。
  • 特に「謎」が高い、笑ったw
  • とりあえずはRPiでUSBマイクとスピーカーだけで始めるのがお手軽でいいんじゃないかなと思ったりしますね。

Alexaで作るゲームスキル。GameOn SDKの紹介とその使い方(Hidetaka Okamotoさん)

  • 多分Game Onネタは国内初
  • DynamoDBはユーザ情報を管理するにはいいけど、複数のユーザのスコアなどを横断的にやるのはどうするのかなと思っていたら、やっぱり別立て。めんどくさい。
  • Game Onを使うと、ゲームによくあるユースケースにかんたんに対応できるのでとてもよさげ。
  • ただ、VoiceflowとかだとSDK使えないのでけっこう大変なんだよね・・・もう一枚噛まさないと難しい。

Alexa Gadgets Toolkitから広がるVUIの可能性(山手政実さん)

  • Gadget Toolkitの話なのにGadget使わないw
  • Alexaにおけるセッション時間というのは、技術的にはそうなんだけど、人間らしさからすると非常に辛いのはそのとおり。いちいちAlexaっていうのも微妙だし。
  • 動いてるのはこんな感じ。Gadgetからスキルに定期的にイベントを送ることで、セッションを永続化しつつ、Alexaから能動的なアクションが起きているように見える。すごい!
  • Echo Flexとモーションセンサーを試した後で改めて考えると、これいろいろ用途ありますねぇ・・・

スクリプトも公開されてます。

qiita.com

スキルアワードグランプリ受賞スキル「どうぶつびより」の話やらなんやら(仮)(コバヤシトールさん)

  • ついに公開されました、ぜひお試しを!
  • ちなみにどうぶつびよりの話はちょびっとだけw
  • 発表終わったあとは全員やや放心状態・・・これに全部持っていかれた感が強いwww でもほんといいものを見れたしいい話を聞けたしで満足度高かったです!
  • スキルチャレンジ、マジで期待できるんじゃないかと思ってます。

今回はちょっと刺激的で楽しすぎましたねー、ガッツリ開発寄りの話は少し人が集まりにくい感はあるけど、自分的には超満足でした!とにかくこの日の雰囲気が少しでも伝われば幸いです。やっぱりスキル作って公開しないとなーと改めて思う今日この頃。

ということで告知です。12月の#AAJUGはオンラインで、re:Invent&今年のAlexa振り返り&大トーク大会となってます。今年最後の#AAJUG、ぜひお気軽にご参加ください!