2018年12月17日(月)<< 前の日記 | 次の日記 >>
この日の詳細

■1 Echo Dotがやってきた[https://www.amazon.co.jp/gp/product/B0792PG3S9/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B0792PG3S9&linkCode=as2&tag=keisdiary-22&linkId=f8d95ebdc4f22a5bedf67a492116cbfe][alexa]次の記事 >> このエントリーをはてなブックマークに追加

本当に久しぶりに日記を書いて、書き方を忘れていたりもしたのですが、Echo Dotを導入して、色々いじっていくつもりなので、備忘録に使うことにしました。

色々買ったもの:

最初にいじれるものが欲しかったので、ラトックシステムのスマート家電コントローラ RS-WFIREX3を購入した。
設定して、テレビのOn/Off、照明のOn/Offはできる様になって、意外に快適だったので、調子が悪くなっていた、他のシーリングライトも取り換えることにして、アイリスオーヤマから発売されたばかりの、アレクサ対応シーリングライトを購入して設置した。
音声だけで、明かりのOn/Offができる様になって、便利だけれども、例えば、常夜灯にするとか、狙った明るさにするといったことはできなくて不便も感じ始めたので、おいおい対応の予定。
cover
ブランド:アイリスオーヤマ(IRIS OHYAMA)
生産者:アイリスオーヤマ
商品情報:
商品サイズ(cm):直径約60.0×高さ約12.7
定格電圧:AC100V(50/60Hz)
セット内容:LEDシーリングライト本体、リモコン、取扱説明書、保証書
器具光束:4,299lm/調光:10段階/常夜灯/タイマー:おやすみタイマー
適用畳数:~8畳用 演色性:Ra85
【スマートスピーカー対応】Amazon Echo(エコー)やGoogle HomeなどのAIスピーカーと連動して使えるスマートLED照明。
【音声認識】Amazon Alexaなら「アレクサ、電気をつけて」、Google Homeなら「OK Google、電気をつけて」と話しかけるだけ。
【スマホで遠隔操作も】アプリをダウンロードしてWi-Fi環境を整えるだけで、外出先でも使用可能。
【家中の照明で活躍】洋室・和室を問わず、リビングやダイニング、寝室などのお部屋ライトとしても使える。
発売日:2018-12-06
ASIN:B07J5VTMS2

■ 関連記事

■2Amazon Product Advertising API<< 前の記事 このエントリーをはてなブックマークに追加

古すぎて使えなくなっていたので、これも対応しなきゃ。

2019-01-24追記:

対応完了。どうも一定期間に、リンク経由で何らかの売り上げが発生しないと、アクセス権がなくなっちゃう様になった模様。

■ 関連記事

詳細はこの日の詳細から

2018年12月18日(火)<< 前の日記 | 次の日記 >>
この日の詳細

■1 続・Echo Dotがやってきた[https://www.nantoka.com/~kei/diary/?20181217S1][alexa] このエントリーをはてなブックマークに追加

半額以上の割引キャンペーンで、2台買わなきゃ損という状況だったので、2台購入して、リビングと仕事部屋に導入して、リビングではリモコン・タイマー・BGM再生。仕事部屋では主にBGM再生機として使っている感じになっています。
こんなBGMをかけて欲しいというリクエストに関しては、Prime Musicで十分なのだけど、「そういえばこの曲をききたい」と思った時にリクエストをしても入っていないことが多くて、unlimitedだったら入っているかというと、今のところ入っていないとか、将来的にも入らないんじゃないかなっていう曲だったりする。
もちろん、iPhoneをペアリングしてやれば、そっちから再生できる訳ですけれど、これが音声でそのまま聞けたらよいなというのが、今のところの課題。
やりたいことがいくつかできました。
  1. 二つの部屋の照明を、一声でお好みの状態にしたい(適度な明るさとか、常夜灯とか)
  2. テレビを確実にOn/Offしたい(リモコン経由なので、交互になってしまい、消してと言ったのに、ついたりする)
  3. iTunesのライブラリに入っている楽曲を、alexaに指示を出して、Echoから再生したい(ペアリングではなく)
といったところ。冬休みの自由工作に良さそうな課題です。

■ 関連記事

詳細はこの日の詳細から

2018年12月19日(水)<< 前の日記 | 次の日記 >>
この日の詳細

■1 続・Echo Dotがやってきた[https://www.nantoka.com/~kei/diary/?20181217S1][alexa] このエントリーをはてなブックマークに追加

半額以上の割引キャンペーンで、2台買わなきゃ損という状況だったので、2台購入して、リビングと仕事部屋に導入して、リビングではリモコン・タイマー・BGM再生。仕事部屋では主にBGM再生機として使っている感じになっています。
こんなBGMをかけて欲しいというリクエストに関しては、Prime Musicで十分なのだけど、「そういえばこの曲をききたい」と思った時にリクエストをしても入っていないことが多くて、unlimitedだったら入っているかというと、今のところ入っていないとか、将来的にも入らないんじゃないかなっていう曲だったりする。
もちろん、iPhoneをペアリングしてやれば、そっちから再生できる訳ですけれど、これが音声でそのまま聞けたらよいなというのが、今のところの課題。
やりたいことがいくつかできました。
  1. 二つの部屋の照明を、一声でお好みの状態にしたい(適度な明るさとか、常夜灯とか)
  2. テレビを確実にOn/Offしたい(リモコン経由なので、交互になってしまい、消してと言ったのに、ついたりする)
  3. iTunesのライブラリに入っている楽曲を、alexaに指示を出して、Echoから再生したい(ペアリングではなく)
といったところ。冬休みの自由工作に良さそうな課題です。

開発環境構築:

メモ
sudo apt install -y nodejs npm
sudo npm install -g ask-cli
ask init --no-browser
ask init で--no-browser を指定しているのは、WSL + Firefox でうまく行かなかったから。表示されるURLをブラウザのアドレスバーに自分でコピペして、開発者アカウントにログインして、表示されるAuthorization CodeをコピペすればOK。

英語→カタカナ変換:

とりあえず、MeCabと mecab-ipadic-neologd[https://github.com/neologd/mecab-ipadic-neologd] をインストール。

■ 関連記事

詳細はこの日の詳細から

2018年12月23日()<< 前の日記 | 次の日記 >>
この日の詳細

■1 シリーズ3: Echo Dotがやってきた[https://www.nantoka.com/~kei/diary/?20181219S1][alexa] このエントリーをはてなブックマークに追加

前回「iTunesのライブラリに入っている楽曲を、alexaに指示を出して、Echoから再生したい」という課題を掲げていて、色々やってみているところ。
iTunesライブラリにある楽曲は、元々CDからリッピングしたものなので、おうちサーバーには全てが保存されていて、alexaからストリーミングすること自体は、 AudioPlayerインターフェース[https://developer.amazon.com/ja/docs/custom-skills/audioplayer-interface-reference.html] を使えば、それほど難しい事ではなくて、 Let's Encrypt[https://letsencrypt.org/] を使った証明書を仕込んだローカル向けhttpdサーバを起動するだけでOK。指定した楽曲を再生させるのはlambdaでURLを返すだけです。
問題は、*alexaに指示を出して*の部分で、楽曲のメタデータを用意してあげないといけません。
幸いなことに、iTunesに入っている楽曲の大半は、タグが付けてあって、できる範囲では、 MusicBrainz[https://musicbrainz.org/] でもタグ付けしてあるので、表記の上ではメタデータを用意できました。
これを Beets[http://beets.io/] で読み取ってごにょごにょしてJSON化して、リストタイプのslotを作ってskillに入れてやれば、うまいこと曲が特定できるかな…
と、思ったのですが、残念ながらそううまくはいきませんでした。
重要: 標準スロットタイプは、列挙型と同じではありません。リストにない値でも、音声言語理解システムに認識されれば、返されます。スロットタイプへの入力はリストの値に重み付けされますが、リストの項目だけに限られるわけではありません。コードで検証とエラーチェックを実行するか、スロット検証ルールを定義して、Dialog.Delegateを使用してユーザーに使用できる値を入力するようプロンプトを表示するか、いずれかを実行できます。
にある通り、「Hey! Say! JUMPの曲をかけて」とか、「Sexz-ZoneのSexy Summerに雪が降るをかけて」と言っても、「ヘイセイジャンプ」とか「セクシーゾーン」「セクシーサマーに雪が降る」とかが降ってきます。
これは、洋楽ではさらに致命的で、発音する側も「アンドリアボッチェリのタイムトゥセイグッバイをかけて」とか言っている訳ですから、ロケールも影響して、「アンドリアボッチェリ」「タイムトゥセイグッバイ」と降っててきます。
米国では、 Music Skill API[https://developer.amazon.com/ja/blogs/alexa/post/870491c3-0e95-4ea9-9e2e-ce1ae0cf0a79/now-available-use-the-ask-music-skill-api-to-stream-from-your-music-service-to-alexa-customers] の提供が開始されていて、楽曲のカタログをアップロードしておけば、狙った楽曲がかけられそうな雰囲気なのですが、日本でサービスされるまでは、何か別の手段を考える方法がありそうです。

【課題設定】英語の楽曲・アルバム・アーティスト名をカタカナに直す:

一旦、カタカナに直してしまえば、図書検索システムでおなじみのカタカナ正規化でそこそこマッチできそうな感触はあるので、なんとかしてみましょう。
beets2skil.pl
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Encode qw/encode decode/;
use Encode::UTF8Mac;
use Unicode::Normalize;
use Digest::SHA;
use JSON;

while (<>) {
 chomp;
 my ($path, $artist, $album, $title, $artist_id, $album_id, $title_id) = split(/\t/);
 $path = decode('utf-8-mac', $path);
 $artist = decode('utf-8', $artist);
 $album = decode('utf-8', $album);
 $title = decode('utf-8', $title);
 if ($title) {
  print encode('utf-8', join("\t", $path, $artist, $album, $title, $artist_id, $album_id, $title_id)), "\n";
 }
}
とか作ってやって、
bash-3.2$ beet remove -a
bash-3.2$ beet import -A ~/Music/iTunes/iTunes\ Media/Music/
bash-3.2$ beet list -f '$path  $artist $album  $title $mb_artistid $mb_albumid $mb_trackid' | ./beets2skil.pl > iTunes_list.txt
bash-3.2$ sed -ne '2000,2003p' iTunes_list.txt
/Users/kei/Music/iTunes/iTunes Media/Music/Carpenters/Twenty-Two Hits of the Carpenters/03 Superstar.m4a        Carpenters      Superstar       4580d83b-093e-4241-91fb-2dd71f5f1f3f    b75c4d4d-fdc5-46f8-a795-b4e348e1c35d    5c0fba7b-5b16-402f-bf77-c8d37dc41d3e
/Users/kei/Music/iTunes/iTunes Media/Music/Carpenters/Twenty-Two Hits of the Carpenters/04 Rainy Days and Mondays.m4a   Carpenters      Rainy Days and Mondays 4580d83b-093e-4241-91fb-2dd71f5f1f3f     b75c4d4d-fdc5-46f8-a795-b4e348e1c35d   5198ebd9-1fb4-4fd3-9e5b-bdd0922ce3a5
/Users/kei/Music/iTunes/iTunes Media/Music/Carpenters/Twenty-Two Hits of the Carpenters/05 Top of the World.m4a Carpenters      Top of the World        4580d83b-093e-4241-91fb-2dd71f5f1f3f    b75c4d4d-fdc5-46f8-a795-b4e348e1c35d    37eccc1e-a551-47a4-a969-6379dd0d240a
/Users/kei/Music/iTunes/iTunes Media/Music/Carpenters/Twenty-Two Hits of the Carpenters/06 Sing.m4a     Carpenters      Sing    4580d83b-093e-4241-91fb-2dd71f5f1f3f    b75c4d4d-fdc5-46f8-a795-b4e348e1c35d    f9b6d29d-be81-473b-8719-f84240b64e1c
って感じのやつを、「カーペンターズのトップオブザワールドをかけて」で再生できる様にしたい訳ですね…

■ 関連記事

詳細はこの日の詳細から

2018年12月25日(火)<< 前の日記 | 次の日記 >>
この日の詳細

■1 シリーズ4・英語の楽曲・アルバム・アーティスト名をカタカナに直す[https://www.nantoka.com/~kei/diary/?20181223S1][alexa][機械学習] このエントリーをはてなブックマークに追加

英単語っぽいものを抜き出してみたら、約1万件くらいありました。
英語固有名詞の片カナ変換[https://ci.nii.ac.jp/naid/110002722636] という研究があって、簡単な辞書でもそこそこ読んでくれる様なのですが、その辞書を手作業で作るのはしんどそうです。
ここは、力業で押すことにして、 UniDic[https://unidic.ninjal.ac.jp/]Neologism dictionary for MeCab[https://github.com/neologd/mecab-ipadic-neologd] のコーパスから、英単語-カタカナのペアを抜き出して、 Amazon sagemakerのseq2seq[https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/seq-2-seq.html] で学習して、翻訳させてみることにしました。
    "Cecile Licad; Claudio Abbado: Chicago Symphony Orchestra": {
        "id": "ART00000183",
        "yomi": "セシール リカッド クラウディオ アバド シカゴ シンフォニー オーケストラ"
    },
    "Cecile Ousset; Neville Marriner: London Symphony Orchestra": {
        "id": "ART00000184",
        "yomi": "セシール アウスシ ネヴィル マリナー ロンドン シンフォニー オーケストラ"
    },
    "Celia Nicklin; Neville Marriner: Academy Of St. Martin In The Fields": {
        "id": "ART00000185",
        "yomi": "セリア ニックリン ネヴィル マリナー アカデミー オブ エスティ マーティン イン ザ フィールズ"
    },
    "Celine Dion": {
        "id": "ART00000187",
        "yomi": "セリーヌ ディオン"
    },
    "Celine Dion & Andrea Bocelli": {
        "id": "ART00000188",
        "yomi": "セリーヌ ディオン & アンドレア ボチェリ"
    },
    "Celine Dion duet with Andrea Bocelli": {
        "id": "ART00000189",
        "yomi": "セリーヌ ディオン デュエット ウィズ アンドレア ボチェリ"
    },
ニワトリ割くのに牛刀使う感じではありますけれど、まぁそれなりに。
使用したものは、 GitHub[https://github.com/keikuma/word2kana] にまとめておきました。

■ 関連記事

詳細はこの日の詳細から

以上、12 日分です。

指定日の日記を表示

前月 2018年12月 翌月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

最近の日記

2019年04月01日

新元号「令和」について

2019年03月23日

DXアンテナ ワイヤレスチューナー メディアコンセント DMC10F1

2019年02月17日

#例のグラボを活用する

2019年01月03日

シリーズ5・myHomeAlexaで自分のCDをかける

2018年12月25日

シリーズ4・英語の楽曲・アルバム・アーティスト名をカタカナに直す

2018年12月23日

シリーズ3: Echo Dotがやってきた

2018年12月19日

続・Echo Dotがやってきた

分野別タイトル一覧


全て
CLIP
SYA!nikki
book
freebsd
hns
magic
おさけ
おしごと
お買いもの
ぐる
ごはん
アクセシビリティ
オープンソース
セキュリティ
音楽
地域情報化
電子自治体
日記

keikuma on Twitter

keikuma Name:前田勝之
Location:長崎市
Web:http://www.nantok...
Bio:前田勝之(まえだかつゆき)。長崎在住。コンサル、SE、プログラマー、 なんとか株式会社代表、非常勤講師(情報セキュリティ)。 セキュアド、テクニカルエンジニア(SV,NW)。サーバ管理とWeb日記を10年ほど。 ネットとリアルの接点に関心あり。食べること・歌うこと・愛すること・作ること・飲むこと。おいしいものがぜんぶすき。

サイト内検索

Google AdSense

Powered by hns-2.19.9, HyperNikkiSystem Project