「Alexa」カテゴリーアーカイブ

【ALEXAスキル開発】テレビスキルを作成開始

前回で大体の仕組みがつかめてきました。

この画面に設定した内容は、スキルの呼び出し名を設定します。

上の設定では、「テレビを開いて」と言えばスキルが起動します。

次にインテント。

「テレビ」スキルに対する命令のようなもの、ですね。

ここでは、VolumeUpIntentを作成して、これに対応するセリフを設定します。

上の場合は「ボリュームを上げて」「ボリュームアップ」と言えば、このインテントが作動します。

次にコード。

const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
    },
    handle(handlerInput) {
        const speakOutput = 'テレビをどうしますか?';

        return handlerInput.responseBuilder
            .speak(speakOutput)
            .reprompt(speakOutput)
            .getResponse();
    }
};

const VolumeUpIntentHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
            && Alexa.getIntentName(handlerInput.requestEnvelope) === 'VolumeUpIntent';
    },
    handle(handlerInput) {
        const speakOutput = 'ボリュームを上げました';

        return handlerInput.responseBuilder
            .speak(speakOutput)
            //.reprompt('add a reprompt if you want to keep the session open for the user to respond')
            .getResponse();
    }
};

exports.handler = Alexa.SkillBuilders.custom()
    .addRequestHandlers(
        LaunchRequestHandler,
        VolumeUpIntentHandler,
        HelpIntentHandler,
        CancelAndStopIntentHandler,
        FallbackIntentHandler,
        SessionEndedRequestHandler,
        IntentReflectorHandler)
    .addErrorHandlers(
        ErrorHandler)
    .withCustomUserAgent('sample/hello-world/v1.2')
    .lambda();

まず上のLaunchRequestHandlerはスキル起動時の動作。

ここではスキル起動後、「テレビをどうしますか?」と応答がでます。

そして、VolumeUpIntentHandler。インテントがVolumeUpIntentならば「ボリュームを上げました」を返ります。

そして、最後のexports.handlerに追加したVolumeUpIntentHandlerを追加します。

動作はこんな感じになります。

「テレビ」を起動して「ボリュームを上げて」で設定した内容が返ってきました。

しかし、「テレビのボリュームを上げて」ではダメで、「テレビを開いてボリュームを上げて」と言わなければならないようです。

でも、これで一文でコントロールできそうです。

あとは、どうやってWebAPIを叩くか、ですね。

次回までに調べておきます。

【Alexaスキル開発】チュートリアルを始める

さて、最終目標はAlexaとの連携です。

なので、Alexaスキルの開発に着手していこうと思います。

しかしながら、スキル開発は全くの初めてなので、チュートリアルから始めていこうと思います。

こちらの記事に従って進めていきました。

https://developer.amazon.com/ja/blogs/alexa/post/31c9fd71-f34f-49fc-901f-d74f4f20e28d/alexatraining-firstskill

まぁ、初めはこんなもんでしょ。

次回以降もチュートリアルを進めていきます。

【Alexa】次のバスの時刻を教えてくれる。バス通勤とかに便利。

このスキルが意外と便利だったりする。

使い方は簡単。

Alexaアプリで、よく使うバス停(乗るバス停と降りるバス停)を登録するだけ。

設定が終わったら「アレクサ、次のバスは?」と話しかけるだけ。

そうすると、次のバスが何分後の何時何分に来るか、その次のバスは何分後か、というのを教えてくれます。

これ、自宅の近所、よく使うバス停と、降りるバス停を登録しておくと、家を出るタイミングが分かるので、非常に便利なんです。

Alexaさんで遊ぼう Fire TVと連携させる

fire tv stickを買いました。

これを買おうと思ったポイントは、Amazon Echoと連携できることもそうですが、利用できるコンテンツとして、AbemaTVとDアニメストアが使用できる点です。

やっぱりテレビの大画面で見たいです。

開封

スティック側をテレビのHDMIポートに挿し、USBから電源を供給すればセットアップが始まります。

このとき、Amazon Echoがあれば自動的にリンクしてくれます。

セットアップ完了。

DアニメストアやAbemaTVは、アプリという形で提供されています。

なので、視聴したいときは

「アレクサ、アベマTVを開いて」

「アレクサ、Dアニメストアを開いて」

という感じで使用します。

コンテンツの名前を指定した場合はプライムビデオを検索しにいきます。

つまり、Dアニメストア内のコンテンツを声で指定することはできないのです。

まぁ、それは仕方が無いか。

残念なのはDアニメストアのマイページ。

続きから見る、という項目がないのです。

不便。

視聴履歴は引き継がれているので、そこから折っていくしかありません。

YouTubeはブラウザ経由での視聴ですが、使用感覚はPS4のYouTubeとほぼ同じでした。

Alexaで遊ぼう、時間になるとしゃべってくれるようにする

この機能って最初からあったっけ??

指定した時間になると自動的にAlexaさんが動くように指定することができます。

例えば、朝8時になるとその日のゴミを教えてくれるように設定する

あらかじめグーグルカレンダーにゴミのスケジュールを入力しておき、Alexaアプリからグーグルカレンダーに連携させる。

そして、朝8時になったらその日のスケジュールをしゃべるように設定する。

これが意外と便利。

ゴミの日スキルもありますが、それはいちいちAlexaに話しかけないと作動しないので、なにもしなくても知らせてくれるのは便利です。

時間になったら特定のメッセージを話すこともできます。

例えば、13時になったら薬を飲むようにしゃべってくれる、とかもできます。

とにもかくにも、Alexaさんから動いてくれるのが便利なんですよ!

工夫次第ではもっと便利な使用方法があるのかも!

Alexaさんで遊ぼう。ラジコでの再生について

よく、Alexaのradiko.jpアプリで

「ラジコで○○を再生しますか?」

と聞かれるの、なんとかしてくれ、「はい」って言っても聞き取ってくれない、

というレビューをよく目にしますが。

自分、気がつきました。

正しい放送局名を言わないと、Alexaさんは聞き返します。

例えば、

「アレクサ、STVを再生して」

では、Alexaさんは

「radikoでSTVラジオを再生しますか?」

と聞かれます。

しかし、

「アレクサ、STVラジオを再生して」

と言えば、すぐにradiko.jpでSTVラジオを流してくれます。

radikoで再生する場合は、放送局名を正式名称で呼びましょう。

Alexaさんで遊ぼう。フラッシュニュースを追加する。

Alexaさんには

「アレクサ、今日のニュースは?」

と話しかけると、フラッシュニュースを読み上げてくれます。

しかし、初期状態では、日テレニュース、NHKニュース、天気予報しか読み上げてくれません。

このフラッシュニュースにもスキルを追加して読み上げてくれるニュースを増やすことができます。

ニューススキルも沢山ありますが、中にはしょーもないようなニュースばかりのスキルもあるので、いろいろ試しながら都度カスタマイズして、自分好みのAlexa設定に調整する必要があります。

ニューススキル自体は本当に沢山あるので、いろいろ試して、自分好みに構築するのがいいですね。

ALEXAさんで遊ぼう。手持ちの音楽をECHOで流す方法、その2

前回の投稿で、手持ちの音楽は基本的にAmazon Echoで再生できない、と書きました。

しかし、次のような方法を使用すれば、 Amazon Echoでも再生できます。

その方法とは、

Amazon Musicストアで音楽を購入する。

そうすれば、Amazon EchoをBluetoothスピーカー化しなくてもAmazon Echoで再生できます。

ただし、AlexaはAmazon Musicストアの曲を認識することはできないようです。

Alexaさんは、あくまでも連携した音楽ストリーミングサービスの楽曲しか認識できないようです。

再生するには、スマートフォンなどのAlexaアプリ経由でリストから楽曲を選択し、再生指示を出すしかありません。

この程度だったら、Amazon Musicストアを利用しなくてもいいかも。

なぜなら、

オイラのデスクトップ環境はハイレゾ再生できる環境にあるからです。

ハイレゾ対応ポータブルアンプ&ハイレゾ対応ヘッドホンがあるのです。

だとすれば、moraで購入して聞いた方が良いのかな、って思いました。

Alexaさんで遊ぼう。手持ちの音楽をEchoで流す方法

Amazon Echoでは、基本的に他音楽ストリーミングサービスと連携して音楽を再生するしかありません。

それでも、無理矢理手持ちの音楽も流してしまおう、という話。

早い話が、Amazon EchoをBluetoothスピーカーにしてしまうのです。

Alexaアプリからデバイス一覧のEcho・Alexaをタップ。

この画面でPC・スマホなどのデバイスとペアリングを行います。

Echo側でペアリングした後、PC・スマホの側でもEchoデバイスをペアリングします。

これでBluetoothで繋がります。PC・スマホの音がそのままEchoで再生されます。

ただ、この方法は完全にAlexaさんを殺していることになります。

Alexaさんをうまく生かすには、やはりAmazon Music Unlimitedを使用するしか無いでしょう。

さあ、みんな叫ぶんだ。

「アレクサ、 Amazon Music Unlimited に登録して」

Alexaさんで遊ぼう2 音楽を聴くには?

Alexaで音楽を聴こうと思っても、実は自前で持っている音楽は聴くことができないのです。

ではどうするかというと、他の音楽配信サービスを介して、こちらが要求した音楽をAlexaが探してくれる、という形になります。

対応している音楽配信サービスは、

  • Amazon music
  • Spotifyプレミアム
  • Tuneln

のみ。

Spotifyはプレミアム登録者じゃないと利用できないのが地雷です。

まぁ、Amazon musicも有料サービスなので、どちらにしてもお金がかかるのですが。

でも幸い、オイラはAmazon Prime登録者なので、いまのままでも100万曲の音楽再生はできるのですが、でも、せっかくAlexaさんがいるんですもの、もっと音楽を楽しみたいじゃないですか。

そこで調べてみると、こんな物を見つけました。

Amazon music Unlimitedに登録すると、6500万曲から音楽を再生できます。

しかし、 Amazon music Unlimitedに普通に登録すると、さらに月額780円かかります。

ところが、一番右、Echoプランというのがあり、これを使用すれば 月額380円で Amazon music Unlimitedの曲数がEchoで再生できるのです。

Echoでしか再生しないのであれば絶対このプランの方がお得。

登録方法はAlexaに

「Alexa、 Amazon music Unlimitedに登録して」

と言えば登録完了。

実際に使ってみた。

が、

滑舌が悪いせいか、Alexaさんが正しくアーティスト名や曲名を認識してくれません。

こういうときは、アプリからリストを選択して、再生指示を出すこともできます。

PCなどでストア内を検索し、あらかじめリストに登録することで、Alexaアプリから再生する曲を指示することができます。

特定の曲を聴きたいときは、こちらの方が都合が良いかもしれません。

ちなみに、ストアで検索して見ましたが、自分好みの曲は、Amazon music Unlimitedが一番揃ってるという感じでした。

これはSpotify、YouTubeミュージックと比較して感じたことなので、間違いないです。

ここにはない曲が Amazon music Unlimited にはあることが多かったです。

ただし、あくまでも個人的な見解です。好みは人それぞれですから。

無料期間を利用して比較するのが一番だと思います。