頑張るズボラママ

楽するためなら頑張れる

【Alexaスキル作成】CDをAmazon Echoから音声操作のみで流す方法は?参考ページを初心者向けに解説

こんにちは、ゆゆまい(@yuyumai2022)です。

CDをAmazon Echoから流したい!アレクサに呼びかけるだけで流せる方法はないの?

といった疑問にお答えします。

 

我が家は中古のDWE(ディズニー英語システム)を購入しまして。「英語のかけ流し」のために、毎日CDを再生しています。

 

できるだけ楽に再生できるように、我が家のデバイスを駆使して下記の2つの方法を試しました。

 

方法1:スマホAmazon Echoを使う

スマホにCDデータを入れ、スマホAmazon EchoBluetoothで繋ぎ、スマホの操作でEchoから音楽を流す。

 

方法2:Fire TV Stickを使う

Youtube musicにCDをアップロードし、それをFire TV StickのYoutubeアプリから流す。

 

どちらも簡単操作で実現できますが、スマホやリモコン操作が発生するので、毎日のこととなると面倒くさいんですよね。

 

そこで行ったのが今回紹介する方法です。

この方法は、音声操作に頼るため、Amazon Echoが必要になります。しかし、スマホやリモコンを触ることなく、音声操作のみでCDを流すことができます。

 

現状、Amazon Echoのスキルには、CDを音声操作のみで流す方法がありません。そこで、今回新たにその操作を可能にするスキルを作成します。

 

プログラミング言語等出てきて一見難しく感じますが、プログラミング超初心者の私でもできました。コピペ&手順通りやると快適なCD生活が待っているので、ぜひ挑戦してみてください!

 

 

CDをAmazon Echoから音声操作のみで流す手順を参考にしたページ

前述したとおり、Alexaスキルを作成します。

こちらの一連の3ページを全面的に参考にさせていただきました。丁寧な記事をありがとうございます!

 

Amazon Echo で Google Drive 上の mp3 を 再生する (その1) - Qiita

Amazon Echo で Google Drive 上の mp3 を 再生する (その2) - Qiita

Amazon Echo で Google Drive 上の mp3 を 再生する (その3) - Qiita

 

リンク先の手順に沿って進めば問題ないですが、プログラミング超初心者の私がつまづいた箇所を補足します。補足には、リンク先の項目番号を記載しているので、参考ページと照らし合わせながら読んでみてくださいね。

 

参考ページの補足

補足①:JSONファイルの作成方法は?

>>>1.2. プレイリストを作成してアップロードする

 

JSONファイルの作成方法を解説します。

 

JSONとは、データのやり取りをするときに決められた書き方のルールのことです。JSONファイルは、中身がJSONのルールに従って書かれたテキスト形式のファイルです。テキスト形式なので、メモ帳で中身を見ることができます。

 

JSONファイルの拡張子は「.json」です。メモ帳で通常作成されるテキストファイルの拡張子は、「.txt」です。

 

一般的に、JSONファイルはプログラミングを利用して作成しますが、txtファイルをjsonファイルに変換できる便利な変換サイトがあります。私はこちらの変換サイトを利用しました。

>>>JSONオンラインの編集とフォーマット

 

変換サイトでは下記の手順でメモ帳→JSONファイルに変換できます。

手順1:Windows11に標準搭載されているメモ帳に必要な情報を記載し、保存する

手順2:変換サイトの「JSONファイルを読み込む」の[ファイルを選択]をクリックし、メモ帳のファイルをアップロードする

手順3:「コードモード」でJSONファイルが作成されたことを確認し、[現在のJSONファイルを保存する]をクリックする。

ここで作成されたJSONファイルを、Google Driveの任意の場所にアップロードしてくださいね。

 

補足②:favorite.jsonとroot.jsonの違いは?

>>>1.3. プレイリストを管理する root.json を作成してアップロードする

 

favorite.jsonとroot.jsonの関係がいまいち理解できませんでしたので、解説します。

 

root.jsonは、プレイリストを取りまとめるJSONァイルです。前項1.2. で作成したfavorite.jsonは、プレイリストのJSONファイルです。

 

Alexaスキルでは、下記の流れでプレイリスト「favorite」の曲を再生します。

Amazon Echoに「アレクサ、favoriteのプレイリストを再生して」と呼びかけ

②AlexaスキルからGoogle Drive上のroot.jsonにアクセスする

③root.jsonの内容からhappy.jsonへのリンクを探し、アクセスする

④happy.jsonの内容から各曲へのリンクを探し、アクセスすることで、曲を再生する

favorite.jsonのようなプレイリストのファイルを複数作成すると、複数のプレイリストを作成できます。曲へのリンクをプレイリストファイルに記載し、さらにそのプレイリストのリンクをroot.jsonに記載することで階層構造ができ、root.jsonにアクセスするだけで曲を呼び出すことができます。

補足③:インテント、スロットタイプ、スロット…それぞれの意味は?

>>>2.3. スキルの設定を行う

用語の理解が難しかったため、補足します。

 

例えば、y=x+3 という関数があるとします。x=5のとき、y=8になりますよね。この式にインテント、スロットタイプ、スロットを当てはめると下記のようになります。

y=x+3 ←インテント

x ←スロットタイプ

5 ←スロット

 

今回のスキルの場合は下記のようになります。

[{プレイリスト}を再生する]機能 ←インテント

{プレイリスト} ←スロットタイプ

favorite ←スロット

「{プレイリスト}を再生して」 ←サンプル発話①

「{プレイリスト}を流して」 ←サンプル発話②

インテントは、スロットタイプにスロットを代入することで機能します。インテントを実行するには、サンプル発話(実際にEchoに呼びかける言葉)を設定し、サンプル発話のとおりに呼びかけます。1つのインテントを実行するために、複数のサンプル発話を設定できます。

 

補足④:実際のコードはどこにある?

>>>2.4. 再生機能を実装する

 

補足するようなことでもないですが、参考ページをサーっと見ていて、「実際のコードはどこだ?」となったので補足します。

「2.4. 再生機能を実装する」の項目に「index.js の全文(折り畳み)」と記載があり、そこを開くとコードがでてきます(笑)

 

終わりに

慣れない作業と、意味不明な用語に、地味な設定に苦労しましたが、Echoから再生できた時には感動を覚えました。一度スキルを作り終えればあとは放置できるので、お時間があるときにぜひやってみてださい。