2017年11月24日

3週間ほどGoogle Homeを使ったまとめ 小技編

サードパーティアプリの強制終了は「キャンセル」

サードパーティアプリそのものは玉石混交でまあどんどん変わっていくと思うので詳細には触れない。音声対話をしているときにサードパーティアプリが想定しているコマンドがわからなくなると「すみません、もう一回言ってください」「最後のコマンドを言い替えてください」などのループに簡単に陥って脱出の方法がわからなくなる。そんなときは「キャンセル」と言えば強制終了できる。

https://developers.google.com/actions/assistant/app-exits Actions on Googleのドキュメントを見ていると、英語では以下5コマンドで止められるらしい。僕は日本語で「終了」「終わり」「もういいです」「ストップ」「さようなら」くらいをためしたが全滅だった。困ったら「キャンセル」を覚えておくだけで全然違うとおもう。
  • "exit"
  • "cancel"
  • "stop"
  • "nevermind"
  • "goodbye"

ショートカット作成はアクティビティログを見ながら

Google homeへのコマンド入力は、音声も含めてアクティビティログ  に記録されている。
Google homeアプリの「マイ アクティビティ」のほうが省略されないので見易い。

ショートカットを作成するときは、このマイアクティビティを見ると、どう認識したか、ショートカットをどう展開したか、その反応は何かがわかる。

たとえば「リアを再生」→「Liaを再生」というショートカットを作ってテストをすると以下のようなログが残ってちゃんと期待通り展開されていることがわかる。



3週間ほどGoogle Homeを使ったまとめ ラジオ・podcast編

radiko

まんまradikoです。
http://radiko.jp で自分の地域で聞けるラジオ局を確認して、「ねえGoogle、○○を聞きたい」というとかけてくれます。プレミアム会員じゃないけどアカウント関連の何もないのでプレミアムの機能はたぶん使えない。

  • やりたくてできてないこと1: 特定の時間や番組を予約して再生をはじめさせること。「毎週火曜午前1:00から午前3:00までTBSラジオを聞きたい」とか指定したい。
  • やりたくてできてないこと2: 「あと2時間で終了」みたいにタイマーを設定して再生を終了させること。「2時間後に停止」と言うと「2時間後にリビングを消します」というような若干物騒なメッセージとともにスリープタイマーを設定できる。

まあ言うほど困ってないんですが、コンピュータなら余裕でできるやろというところができていないので惜しい感がある。

「ねえGoogle TBSラジオ」だと通じないのでよく使う局はショートカットを作るといいかな。

ニュースのpodcast

これも普通の「ニュース」コマンド。「ねえGoogle、ニュース」と言うとあらかじめGoogle Homeアプリで指定したPodcastを再生してくれます。任意の音声読みあげとかカスタムURLとかは今のところなさげ。あればいいのに。
Google Play MusicがPodcast対応してるからか海外のPodcastはびっくりするくらい数がありますね。

「Google Homeアプリ」→「その他の設定」→「ニュース」→「ニュース提供元」→「ニュース提供元を追加」で出てくるところで言語をEnglish (United States)にするともう十分やろというくらいどっさりでてきます。

tuneinの再生

あんまり使っていないので謎が多い。そしてあまりうまく使えてもいない。でもISC Stormcast(セキュリティネタで平日に5-6分くらいやってるpodcast)とか聞きたい。
とりあえずわかっていること:
  • 現状、日本語モードで英語タイトルの認識はびっくりするくらいできない。jazz fmは「じゃずえふえむ」ではまったく通じず「じぇーえーぜっとぜっとえふえむ」なら通じる。ショートカット設定して、文字列で「jazzfm」と書けば認識してくれるのでgoogle homeが素直に音声認識してくれる「ねえGoogle、ジャズ」とかのワードで呼びだすようにする。
  • Google homeを英語モードにさえすれば"Play ISC stormcast podcast"であっさり再生できる。なのでリージョンの問題とかではなく日本語音声認識を使っているときのコマンド入力の問題っぽい
  • ショートカットのコマンドで「tuneinでjazzfmを再生」は使えるのに「tuneinでISC stormcastを再生」は失敗する。何が失敗する原因かは不明。
  • ショートカットのコマンドに他の言語は使えない。つまり「セキュリティ」とかで認識させて「play ISC stormcast podcast」を英語で評価してもらうということはできない。その結果、なんとか日本語モードで実行が成功できるコマンドをみつけないといけないという謎のゲームになっている。。
  • 日本のローカルFMのストリーミングを再生させることにまだ一回も成功していない。ひょっとして地域か言語絞られてるのかな??

今のところ「海外のラジオやpodcastをききたかったら英語モードにすればtuneinが普通に使えるよ」というところまでしか知見がない。

3週間ほどGoogle Homeを使ったまとめ 音楽再生編

音楽再生をお金を使わずにやる


各種音楽サービスの課金をめっちゃ勧められるけどお金つかいたくないよね……。

自分でアーカイブをもっていない場合は、Spotifyの無料プランくらいしかないかも。
僕はアーカイブをもっているので以下におちつきました。

Google Play Musicの無料プランを使う
  • Google Homeアプリの表示とかを見ると有料プランの購読が必須のように見えるけど別にそんなことない。(2017年11月時点)単に音楽のプロバイダにGoogle Play Musicを選択するだけ。
  • 無料プランで最大50000曲保存できるロッカー機能があるのでそれを利用して自分のアーカイブを登録(PCでGoogle play musicのページにドラッグ&ドロップするだけ。アップロートにはめっちゃ時間がかかる)

音楽再生関連のコマンド

いろいろ受けつけてくれるけど、以下におちつきました
  • ねえGoogle、BGM → ライブラリからランダム(?)に再生。「ねえGoogle、何か音楽を再生」と同様だけど短いのでこれにしてる
  • ねえGoogle、次 → 再生中に次の曲へスキップ。
  • ねえGoogle、この曲好き → google play musicでThumb upプレイリストに登録。
  • ねえGoogle、シャッフル → 次の曲からシャッフル再生
  • ねえGoogle、お気に入りを再生 → google play musicで"Thumb upプレイリスト"を再生
  • ねえGoogle、<プレイリスト名>を再生 → google play musicで指定したプレイリストを再生
  • ねえGoogle、この曲何? → 再生中の曲のアーティストと曲名を答えてくれる
  • ねえGoogle、停止 → 曲の再生を停止
  • ねえGoogle、再開 → 停止していた曲再生を再開。停止したあと他のchromecastに関連するコマンド(?)をつかっているとだめ
これにおちつくまでちょっとしたトラブルあり。「ねえGoogle、音楽を再生」って言うとKalafinaの「音楽」という曲が再生されるという……。

プレイリストや曲、アーティストの名前にアルファベットが使われていると検索に失敗することがよくある。「Liaを再生」のつもりで「りあを再生」と言っても受けつけず。「える、あい、えーを再生」ならコマンドが通る。そのとき「リアを再生します」と回答してくれてるのでgoogleが頑張れば逆変換もそのうちできるようになりそう。

環境音

Alexaのスキルみてて滝の音とかあったので試したらあったという……。
  • ねえGoogle、環境音 → 「リラックスできる音を再生します」といって波の音や暖炉の音を再生してくれます
  • ねえGoogle、<名前>の音 → 「海の音」「風の音(扇風機の音)」「雷雨の音」「雨の音」川の音」「森の音」「暖炉の音」 で個別指定できる。環境音のほうで再生されるけど名前があたらないものがあるのでもうすこしコマンドありそう。
  • ねえGoogle、ホワイトノイズ → ホワイトノイズを再生。寝るときに良いといわれるピンクノイズはなかった。

ちょっとだけ工夫

Google homeアプリのショートカットを使ってプレイリスト再生 

ラジオ体操をしたいのでこんなことしました
  • ラジオ体操動画をダウンロード
  • mp3に変換してGoogle Play Musicに登録。「ラジオ体操」プレイリストを作って登録
  • 「Google homeアプリ」→「その他の設定」→「ショートカット」でショートカットを追加。「ラジオ体操」で「ラジオ体操を再生」とする。
  • 「ねえGoogle、ラジオ体操」というとラジオ体操ができる(‥)v

2017年8月30日

Ansible 2.3.2のモジュール サポート状況

(2017年9月11日追記)http://docs.ansible.com/ansible/latest/modules_support.html 内のモジュールの分類にNetworkとCertifiedが追加された。あとcoreモジュールの一覧へのリンクも追加された。この記事じゃなくて更新された上記ページをみるといいです。

http://docs.ansible.com/ansible/latest/modules_support.html を見ると、AnsibleのモジュールにはCore, Curated, Community の3種類がある。Coreは core ansible team(= Red Hat内のエンジニア)がサポート、Curatedはパートナーに依頼を投げる(=投げる先がある)、Community は基本的に能動的にサポートされなくてコミュニティ次第。

ということでどれがcoreでどれがcommunityなのかを把握しておくのはサポートをうけるときには大事。

ワンライナーで以下みたいにすると、metadataハッシュの'supported_by' キーにひもづいてサポートの状態が入っているのでモジュールのサポート状況が一覧できる。

$ grep supported_by `rpm -ql ansible|grep py$` |grep core

というわけで適当にパスとか削ってつくったcoreモジュールの一覧が以下。

commands/command
commands/raw
commands/script
commands/shell
files/acl
files/assemble
files/blockinfile
files/copy
files/fetch
files/file
files/find
files/iso_extract
files/lineinfile
files/stat
files/synchronize
files/template
files/unarchive
inventory/add_host
inventory/group_by
network/basics/get_url
network/basics/slurp
network/basics/uri
network/eos/eos_command
network/eos/eos_config
network/eos/eos_eapi
network/eos/eos_facts
network/eos/eos_system
network/ios/ios_command
network/ios/ios_config
network/ios/ios_facts
network/ios/ios_system
network/ios/ios_vrf
network/iosxr/iosxr_command
network/iosxr/iosxr_config
network/iosxr/iosxr_facts
network/iosxr/iosxr_system
network/junos/junos_command
network/junos/junos_config
network/junos/junos_facts
network/junos/junos_netconf
network/junos/junos_rpc
network/junos/junos_user
network/nxos/nxos_system
network/nxos/nxos_command
network/nxos/nxos_config
network/nxos/nxos_user
network/nxos/nxos_nxapi
network/vyos/vyos_config
network/vyos/vyos_facts
packaging/os/apt
packaging/os/apt_key
packaging/os/apt_repository
packaging/os/dnf
packaging/os/package
packaging/os/rhn_channel
packaging/os/rhn_register
packaging/os/rpm_key
packaging/os/yum
packaging/os/yum_repository
source_control/git
source_control/subversion
system/at
system/authorized_key
system/debconf
system/getent
system/group
system/iptables
system/mount
system/ping
system/seboolean
system/selinux
system/service
system/setup
system/sysctl
system/systemd
system/user
utilities/helper/meta
utilities/logic/assert
utilities/logic/async_status
utilities/logic/debug
utilities/logic/fail
utilities/logic/include
utilities/logic/include_role
utilities/logic/include_vars
utilities/logic/pause
utilities/logic/set_fact
utilities/logic/wait_for
utilities/logic/wait_for_connection
windows/win_reboot
windows/win_template
windows/win_acl
windows/win_acl_inheritance
windows/win_regedit
windows/win_command
windows/win_copy
windows/win_disk_image
windows/win_dns_client
windows/win_domain
windows/win_domain_controller
windows/win_owner
windows/win_domain_membership
windows/win_service
windows/win_updates
windows/win_file
windows/win_share
windows/win_shell
windows/win_get_url
windows/win_user
windows/win_group
windows/win_package
windows/win_path
windows/win_ping
windows/win_stat

2017年3月29日

RHEL 5 ELS inclusion listでてた

Red Hat Enterprise Linux 5 ELS Inclusion List https://access.redhat.com/articles/2901071  が公開されてた。
なかなか範囲が狭くて厳しい。あとインターネットに直接晒されるようなプログラムがのきなみ無いように見える(http, bind, sendmail, squid, openssh-server)。厳しい……。