\ PayPayポイント最大23.5%! /

アレクサに呼びかけて自分で録音した音声を流す方法 

Amazonで購入したecho dot

スキルを自作して、アレクサに話しかけるだけで手持ちの音源(mp3)を流せるようになりました!

例えば我が家では「アレクサ、おはよう」と話しかけるとiPhoneで録画したアンパンマンの声で「おはよう」と答えてくれます。

応用すれば、

  • 推しのボイスを流す
  • 子どもが好きなキャラクターの声を流す

なんて使い方ができますね

ソフトも不要で簡単に設定できるので、ぜひ挑戦してみてください。

管理人みゆき

頑張れば、PCを使わずに外付けキーボードとマウスを使ってiPadだけでできます

この記事では、

  1. iPhone/iPadで録画した音声をmp3に変換し
  2. Alexaスキルに組み込む

方法を紹介します。

では、手順を紹介します。

目次

準備:音声をAlexa対応フォーマットに変換する

この記事で流せる音源は以下の制約があります。

  • MP3ファイル(MPEGバージョン2)
  • 240秒以内
  • ビットレートは48 kbps
  • サンプルレートは22050Hz、24000Hz、16000Hzのいずれか

SSMLリファレンスより

FFmpegソフトで変換する方法が主流のようですが、とても便利なツールを公開されているサイトがあったので今回はそちらで音源をAlexa用に変換します。

音源を用意する

まず、流したい音声をiPhoneで録画(録音)します。

iPhoneの「ビデオ」で撮影するか画面録画を使ってください。

Alexa対応フォーマットのmp3に変換する

保存したムービーから音源を取り出し、Alexaに対応した形式のmp3ファイルに変換します。

こちらのサイトのツールを使わせていただきました。

<BR>3
【Alexaスキル開発者向け】 Audioタグ用に音声ファイルを変換するツール |
3
最近はAlexaのスキル開発をしているのですが、効果音として使用する音源をいちいちffmpeg使ってフォーマット変換して、Audacityで音量調整してってやるのがだる過ぎるため...

ツールの使い方

「ファイルを選択」→「写真ライブラリ」からムービーを選びます。

アップロード、変換が完了すると画面が切り替わります。

真ん中下の「共有」ボタンをタップします。

MP3再生画面で共有ボタンを押す

「ファイルに保存」をタップし、わかりやすいフォルダに保存します。

FullSizeRender」というファイル名で保存されています。

ダウンロードしたMP3ファイルが「FullSizeRender」という名前で保存された

ファイルを長押しし、「名称変更」で好きな名前に変更します。

名称変更でファイル名を変更する

(日本語は使わず、アルファベットまたは数字名にしてください)

これで音源の準備は完了です。

音源ができたら、Alexaのスキルを作っていきます。

開発者アカウントを作成

Alexaのスキルを作るために、開発者アカウントを作成します。

Amazonのアカウントを持っていれば、ここからログインするだけで開発者アカウントも簡単に作れます。

Amazon Alexa
Amazon Alexa Voice AI | Alexa Developer Official Site Alexa is Amazon's cloud-based voice service that allows voice developers to create and manage their voice apps and integrate them with Alexa-related smart devic...

ログインに使うアカウントは、echoと連携しているアカウントを使うとこの後の作業が楽になります。

画面に従って登録を進めます。

Amazon開発者ポータル登録画面

登録が済んだらこの画面に変わります。

Amazon開発者登録完了画面

これで登録は完了です。

新しくAlexaスキルを作る

Alexa Skills Kitをクリックし、「スキルの作成」をクリックします。

Alexa Skills Kitを選択
スキルの作成を選択
スキル名を好きな名前に設定し、カスタム、Node.jsでスキルを作成
  • スキル名:おはよう
  • スキルに追加するモデル:カスタム
  • スキルのバックエンドリソースをホスティングする方法を選択:Alexa-hostedNode.js

を選択し、「スキルを作成」をクリックします。

「スキルに追加するテンプレートを選択」では「スクラッチで作成」を選び、「テンプレートで続ける」をクリックします。

スクラッチで作成

これで、新しいスキルが作られました。

音源をアップロードする

音源をアップロードします。

上部ツールバーの「コードエディタ」をクリックし、「S3 Storage」をクリックします。

コードエディタ画面でS3storageを選ぶ

すると、別のタブで「S3 storage」の管理画面が開きます。

「アップロード」をクリックします。

S3ストレージ画面でアップロードをクリック

この画面で「ファイルを追加」をクリックし、ファイルを選択します。

iPhone/iPadからアクセスしているなら「ファイルを選択」をタップします。

ファイルを選択

この記事の最初で用意した音源ファイルを選択します。

MP3ファイルを選択

ファイル名を確認し、「アップロード」をクリックします。

ファイル名を確認してアップロードする

この画面が表示されたらアップロード完了です

S3ストレージにファイルをアップロードできた

名前(ohayo.mp3)を控えてください。
この画面は閉じてしまって大丈夫です。

Alexaスキルのコードを編集する

再度このタブに戻ります。

コードを2箇所編集します。

Alexaスキルのコードを編集する

7行目に

const Util = require('./util.js');

を追記します。

1217行目を

async handle(handlerInput){
  const audioUrl = Util.getS3PreSignedUrl("Media/ohayo.mp3").replace(/&/g,'&');
  return handlerInput.responseBuilder
    .speak(`<audio src="${audioUrl}"/>`)
    .getResponse();
}

に書き換えます。

ohayo.mp3の部分は先程S3バケットにアップロードした際に控えた名前にして下さい

右上の「保存」をクリックし、続いて「デプロイ」をクリックします。

コードを編集後、保存とデプロイボタンを押す

これでコードの書き換えは終了です。

echoでスキルを使えるようにする

これでスキルが完成しました。echoに呼びかけて再生できるように設定します。

「テスト」タブをクリックし、ステータスを「開発中」にします。

テスト画面でステータスを開発中にする

「開発中」にしておけば自分のアカウントのみで動作します。

これで完了です!

このまま「テスト」画面でテストしても音声が流れない時があります。

アプリかecho本体でテストしてみてください。

Amazon Alexa

Amazon Alexa

AMZN Mobile LLC無料posted withアプリーチ

無事に録音した音が流れました!

呼び出し名を変えたり柔軟性をもたすには

今回は「おはよう」と言って応答するスキルを作りました。

「おやすみ」や「○○、励まして」のような呼びかけに反応してもらうには、スキル名を変えるのではなく「ビルド」から変更します。

スキルを呼び出す時の名前を変えるには

「ビルド」画面で変更する名前を入力し、「保存」、「ビルド」をクリックして変更します。

呼びかけの言葉に柔軟性をもたせるには

「おはよう」意外にも「おはようってば」や「朝の挨拶して」と言った他の呼びかけにも答えてもらうには、

「テスト」画面で応えてほしい言葉を入力し「+」ボタンを押します。

まとめ

Alexaのスキルを自作することで、echoに話しかけると自分で録音した音源を再生してくれるようになりました♪

1つのスキルで1種類の音声を流してくれるという単純なものですが、色々な使い方ができそうで楽しみです。

著作物から録音した音源を作ってスキルを作成し公開すると、著作権侵害になる恐れがあります。

あくまで「開発中」のまま個人利用の範囲でお楽しみください

参考

以下の記事を参考にさせていただきました。

<BR>3
【Alexaスキル開発者向け】 Audioタグ用に音声ファイルを変換するツール |
3
最近はAlexaのスキル開発をしているのですが、効果音として使用する音源をいちいちffmpeg使ってフォーマット変換して、Audacityで音量調整してってやるのがだる過ぎるため...
https://www.bridge-book.tokyo/echo-mp3-no2/

ありがとうございます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次