アストラルプリズム

PC、スマホ、ゲームなどの備忘録と日記

Amazon Alexaでサイマルラジオ用のスキルを自作した話

おそらくすべてのはまりポイントではまったのでメモしておこう。

Alexsaとは「ok!google」のamazon版のようなものでスピーカーが付いた実機に話しかけると音楽をながしてくれたり、天気を教えてくれたりというものだ。
知人に初期設定を頼まれたまでは良かったのだが、その後のスキル(Alexaへの追加機能の事)自作でドツボにはまって大変だった。
特に自分はAlexaがスマホアプリを操作して何かする機械だと勘違いしてたので、余計に検索に時間がかかってしまった。
(alexaの基本機能はスマホを介してインターネットの情報を取得して話す内容を決めるというような感じ)

具体的には何をするか

・ききたいサイマルラジオ放送局の配信URLを探してAlexaにストリーミング再生させる
・その為のスキルを自作する

ざっくり手順

  1. Alexaアプリセットアップ
  2. ラジオの配信方法かurlを調べる
  3. amazon developerのアカウント取得
  4. voiceflowでスキル作成

Alexaアプリセットアップ

実機の説明書に専用アプリをスマホにインストールするようなことが書いてあるのでインストールする。
実は実機が無くてもスマホ専用アプリだけでAlexaと会話できる。
知人にはとてもじゃないがそんな事言えない。

アマゾンプライムamazon musicと契約しているならアプリのログイン画面にはその契約しているアカウントを入力する。
セットアップ後画面左上「三」→スクロールして下の方の「一般」→「その他」をタップ
以下のようにalexa.amazon.co.jpになっていて
f:id:katsumi3:20200307233107p:plain
「アレクサ、音楽流して」などと話しかけてみて(スマホの場合は「アレクサ」は言わなくていい)普通に音楽が流れればok。

alexa.amazon.com(co.jpではない)音楽が流れなくて「居住国が正しく設定されていません」というような内容の応答が来たら以下の手順が必要

alexa.amazon.co.jpになっていて「居住国が正しく設定されていません」の場合

amazon.co.jpで居住国の確認をする

amazon.co.jpにログイン。
右上の自分の名前のところをクリックしてアカウントサービスを表示させる。
「デジタルコンテンツとデバイス」の「コンテンツと端末の管理」をクリック
設定タブクリックをクリック。
「国/地域設定」をクリックして現在の国/地域が「日本」とか設定されてればok。
特に設定されてなかったら変更クリックして住所を設定する。
住所を入力したら自動的に国/地域設定が設定される。

この後アレクサに音楽を流させてうまく流れたらok。

alexa.amazon.com(co.jpではない)になっていて「居住国が正しく設定されていません」の場合

amazon.comamazon.co.jpと同じメールアドレスで同じパスワードのアカウントあるのでどちらかのパスワードを変える。
スマホアプリのalexaから一度サインアウト(左上「三」→「設定」→下にスクロールして「サインアウト」)してamazon.co.jpのパスワードでサインイン。

「三」→「一般」→「その他」がalexa.amazon.co.jpになってて音楽再生出来たらok

ラジオの配信方法かurlを調べる

聞きたいラジオ局のホームページなどを見てどのアプリで配信してるか調べる。
スマホアプリalexa→「三」→「スキル・ゲーム」→虫眼鏡のところでラジオ局名か配信アプリ名で検索。
運よく検索で見つかったらそのスキルを有効にして終了。おめでとう!!

無い場合は以下のサイトで聞きたい局のurl(http~.m3u8)を調べておく

fsyublog.blog.fc2.com

サイマルラジオ以外でパソコンで聞ける配信は無くてアプリだけでしか配信してなくて、スキルも対応ない場合はちょっと分からない。


amazon developerのアカウント取得

新規作成は絶対しない事。
(新規作成してしまうと勝手にamazon.comの新しいアカウントが作られてしまって、しかもAmazonではアカウントの削除ができない。つまり使えるメールアドレスが減る)

先ほど書いたようにamazon.comにアカウントがあった場合はamazon.comのメールアドレスを別のモノに変える。
変えた後でamazon.developerにamazon.co.jpと同じアカウントでログイン。
名前とか色々入力する画面になる。
名前が漢字ではなくてローマ字表記になってたらamazon.comでログインしてしまっている。
メールアドレスを変えたあとログインする時に「このメールアドレスの情報はありません」みたいなことを言われたらamazon.co.jpのほうのメールアドレスを変更。
amazon.deveroperに変更後のamazon.co.jpでログインして漢字で入力欄に名前が表示されたらOK。

voiceflowでスキル作成

簡単にスキルを作れるサイトvoiceflowでアカウントを取得する

あと6分程度の公式動画があって英語だけど、見てるだけでだいったい使い方が分かる。
www.youtube.com

googlefacebookでログインも出来る
facebookに日本語のコミュニティがあるのでfacebookで活動してる人はそっちで分からないところとか聞いてもいいかもしれない。


以下googleさんに翻訳してもらった画面

プロジェクト作成をクリック
f:id:katsumi3:20200308124106p:plain

言語とかプログラミングのレベルとか聞かれる
簡単にしてほしくて「プログラミング初めて」みたいなのを選択した気がする

設計をクリック
画面の左端からパーツを持ってきて真ん中にドラッグ&ドロップする感じ。

f:id:katsumi3:20200308123257p:plain

設計は英語だとdesin
f:id:katsumi3:20200308035813p:plain

google翻訳さんでこんな感じ
f:id:katsumi3:20200308040056p:plain

「ストリーム」に先ほど調べたurlの「http」のところを「https」にして入力
「意図」に「後退する」(fullback)を選択
「ホーム」→「ストリーム」→「出口」と矢印でつなげる。
「意図」にはなにも繋げなくてよい

建てるをクリックしてひとつづつ質問に答えていく。「レビューを送る」は押さない。
設計のタブに移動して右上の「Alexaにアップロードする」をクリック。
アカウントは何か聞いてくるので送りたいアカウントにログイン。
f:id:katsumi3:20200308120329p:plain

アカウントあるのに「開発にアカウントがありません」出た場合、何回かアップロードし直してみる。それでも出る場合は、amazon.comのアカウントとamazon.co.jpのアカウント名とパスワードを実際にログインしてみて調べる。
「リソースにアクセス権がありません」と出て何回かやっても同じ答えで送信されない場合はvoiceflowのアカウントをべつのメールアドレスで作り直して送信したらうまくいった。
もしかして一度voiceflowもamazon Deveroperログアウトしてまたログインしたらうまくいくのかも????

無事アップロードされたらスマホアプリのalexaで「三」→「スキル・ゲーム」→「有効なスキル」→横にスライドして「開発」をタップしたら自作のスキルが出てくる。

Alexaシュミレーターやvoiceflowのプロトタイプで作ったスキルをテストできるが、PC内ではラジオ再生できない。
一応、何を話しかけたらスキルが起動するかぐらいは確認できる。

GoogleChromでマイクデバイスをPCに刺したときに「マイクのなんとかかんとか許可?」みたいなのでうっかり「許可しない」にしてしまった場合
Chrom左上の「f:id:katsumi3:20200308122028p:plain」→「設定」→「プライバシーとセキュリティ」→「サイトの設定]」→「マイク」で設定できる。

配布については自分だけで無期限に使いたい場合は自分のamazon developerのアカウントを作って自分ので作る必要がある。
(知り合いだけに配るならベータテスト公開かなと思ったけど三か月ぐらいしか使えなかった)

voiceflowで作ったものはAlexaだけでなくgoogleさんでも使えるみたいなので便利っぽい。

ここに書いてあることすべてにはまってしまった・・・アカウントが勝手に作られてたり、amzon.co.jp用のアカウントではなかったり・・・もうホントamazonさん勘弁してほしい・・・!!