hogehoge, world.

米国カリフォルニアから日本に一時帰国中のソフトウェアエンジニアがIT・自転車・音楽・天体写真・語学などについて書く予定。

Google Homeでドローンを飛ばしてみた


Google Home Miniをゲットした。別にスマートスピーカーが欲しかったわけではないのだけれど、ビックカメラの半額祭りで3000円になっていたので、この値段ならまぁ触ってみるかとぽちったものである。

世のガジェット仲間たちは早速いろいろハックしているようなので、自分もとりあえず何かやらなければ、ということで OK, Google でドローンを飛ばしてみることにした。テッテッテー♪テッテッテテー♪

というわけで、これが完成品。"OK, Google, take off drone" や "OK, Google, take drone to the land" といった音声で、ドローンの離着陸・上昇下降・フリップといった操作ができる。ただ見ての通りドローンの音がうるさくスマートスピーカーには過酷な条件であり、コマンドを正しく認識させるのはそこそこ難儀である。

youtu.be

システム構成

システム構成はこんな感じである。非常によく似たことをやられていた先人がいたので大いに参考にさせていただいた。
IFTTTとBeebotteを使ってGoogleHomeからRaspberryPiを操作する - Qiita

Pythonからのドローンの制御にはpymamboというライブラリをベースとして使わせてもらった。ただ、最低限の動作はするが、Bluetooth接続が不安定でどうも困る。突然接続が切れて制御が効かなくなってドローンを手ではたき落とす*1羽目に何度も陥った。メインループのかたちを試行錯誤して少しはましになったが完全解決には至らず。そのうちちゃんと追求したい。

スマートスピーカーは危険だッ!

本記事冒頭のデモ動画の撮影中、スマートスピーカーの危険性を証明する事件が起こったことに言及せずにはいられまい。撮影した動画を確認のために再生したところ、Google Homeがその音を拾って反応してしまい、動画の中のドローンと一緒に現実のドローンも飛んでしまったのである!(笑)

下の動画がその再現実験だが、私は一切しゃべっていないし、Google Homeの声にエコーをかけているわけでもない。動画に現実のGoogle Homeが反応しているのである。

youtu.be

こういうの体験するとスマートスピーカーをONにしっぱなしとか怖くてできないなあ。テレビや周辺の音を拾って勝手なことをやられたらたまったものではない。これを逆手にとって何かおもしろいこともできるかもしれないけどね。

参考: MQTT subscribe & ドローン制御Pythonスクリプト

gist.github.com

 

*1:ドローンは衝撃を感じるとモーターが緊急停止するようにできているので文字通りはたいて止めるのである。

POWERUP DARTが届いた

KickstarterでbackしていたPOWERUP DARTが届いた。スマフォで操作できる紙飛行機、という謳い文句である。

POWERUP DART - App Controlled Paper Airplane. With Tricks. by Shai Goitein — Kickstarter

www.kickstarter.com

曲がりなりにも試験飛行までしてみたのでレポート書いてみよう。

続きを読む

Heroku上でPython & OpenCVを動かす

Heroku上でOpenCVを動かすというのをやってみた。HerokuのDocker機能を使う必要があるらしいのだが、これがどうも最近アップデートされていて、最新版でやってみた系の記事が少ない。

Container Registry GA - Deploy Docker images to Heroku | Heroku Dev Center

というわけで自分でやってみた。意外と簡単だった。

続きを読む

アメリカ英語の発音ノウハウ (5) ~ 舌の筋肉の使い方・Quick American Glide編

前回に続き、同じく舌の使い方というテーマで Quick American Glide の話をします。これは前回の "r" に比べたら全然簡単なはずなので楽に臨んでください。

Quick American Glideとは、二重母音[ai][ɔi][ei][au][ou]を出す際の舌の動きです。これらの二重母音は我々日本人には母音を並べただけにしか見えなかったり、「ペーパー」「コート」のように単なる長音として認識されちゃったりするので存在感薄いと思いますが、実はかなり頻繁に登場します。例えば "I'm fine right now." とか "My name's Jane." とか "I'd like my coat." とか、これらの二重母音だけで結構文章書けたりもするわけで、これを英語流のやり方で発音できるかは発音全体の英語っぽさに十分に効いてきます。

まずは "I'm fine." に登場する[ai]が最もわかりやすいので、これを例にとって説明しましょう。

まず音の出だしは[α]で始めます。(厳密には[α]と[a]は違うらしいのですが、ここでは舌の動きを掴みたいのでとりあえず気にしなくて結構です。) そして[α]の音を「ア~」と出したまま、下図のように舌の奥だけを上にゆっくり持ち上げて、普段[i]の音を出す位置まで持ってきてください。このとき舌の奥の動きに意識を集中し、口の周りなど顔の他の部分に余計な力を入れない(イの口のかたちを作ったりしない)ようにします。

f:id:tomoto335:20170213004100p:plain

どうでしょう、この舌の奥の動きだけで音が「ア~」から「~イ」へと勝手に変化するのがわかりましたか?ハイ、これがアメリカ英語流の[ai]の出し方、Quick American Glideです。

続きを読む

アメリカ英語の発音ノウハウ (4) ~ 舌の筋肉の使い方・"r"編

前回は顎の周りをがしがし動かすという筋トレ話でしたが、今回は舌の奥の筋トレです。

舌のホームポジションを下げ、顔の後ろ側の筋肉を主に使うという時点で、必然的に舌の奥の筋肉が動くようになるのを既に感じている(舌の奥に疲労を覚える)方もいるかと思います。今回はその動きをより激しく使う "r" の音、続いて Quick American Glide と呼ばれる舌の動きを通して、「いかにもアメリカ英語らしい舌の使い方」を掴みましょう。

それでは早速 "r" のやり方です。結論から言うと、下図のように舌の奥を後頭部の方向(もしくは口蓋の後ろの壁)に向かってえいやっと引き上げるのが "r" の動きです。(なおこの図は舌をどう意識的にコントロールするかを伝えるためのものであり、実際の舌のかたちを正確に表しているとは限りません。)

 f:id:tomoto335:20170212121449p:plain

図の矢印のあたりに意識を集中して動かし、舌先の方は勝手についてくるのに任せます。学校で「"r" は巻き舌で云々」と習った人もいるかと思いますが、それは完全に忘れてください。「巻く」という余計な力を加えずに、舌の奥だけを動かしてください。

続きを読む

アメリカ英語の発音ノウハウ (3) ~ 顔の筋肉の使い方

前回の舌のホームポジションに続き、今回は顔の筋肉の使い方の話をします。ポイントは、唇の周りの筋肉を緩め、頬の後ろ側・顎の付け根のあたりの筋肉を使うことです。*1 

最初にちょっと実験をしてみましょう。アナウンサーになる訓練のつもりで、「口をはっきり動かしながらしゃべる」というのを日本語でやってみてください。大きな声である必要はなく、早口言葉を頑張ってはっきり発音するような感じです。そして自分が口のどこを動かしているか、よくみてください。おそらく唇の周辺をムキになって動かしているのではないでしょうか?そのあたりが普段日本語をしゃべるときに使われる(力が入って緊張した状態になる)筋肉です。

英語をしゃべるときには、その唇周辺の筋肉を緩めて、代わりに頬や顎の後ろの方の筋肉をがしがし動かします。(さらに舌の奥の筋肉もがしがし動かすのですが、そちらは次回扱うので今は忘れておきましょう。) 下図で言うと、我々が普段使っている赤いエリアを緩めて、青いエリア(咬筋と呼ばれる筋肉とその周り)を意識的に使います。口の前の方のかたちはその後ろ側の動きの押し引きによりつられて変わるようなイメージです。(この図は私が「こんな感じと思うと習得の役に立とう」と考えるものであって、学術的に正確だとは限りません。)

f:id:tomoto335:20170204112822j:plain

Designed by kjpargeter / Freepik

*1:なお、これはアメリカ英語の特に特徴的なところだと思います。イギリス英語はもっと唇も使ってるはずです。しかしイントロで述べたように、ここではアメリカ英語の話しかしませんし、英語という言葉はアメリカ英語の意味で用いています。念の為。

続きを読む

アメリカ英語の発音ノウハウ (2) ~ 舌のホームポジション

イントロに続いては3つのノウハウのうち最重要項目、舌のホームポジションの話をします。

言葉をしゃべっているとき、無意識に舌はある所定の位置を基準に動き、しゃべるのを休んでいる間はその所定の位置に戻っていきます。タイプライターにおける手のホームポジション(左右人差し指をfとjに置く)と似たようなものです。これを舌のホームポジションと呼んでみましょう。

我々日本語スピーカーの舌のホームポジションをよく見てみると、これが実は結構高い位置にあることがわかります。人によって個人差はあるのだと思いますが、私の場合、口蓋(口腔の上の面)すれすれか、上歯茎のあたりに触れていることも多いです。

これが英語スピーカーの場合は全然違う位置になります。下図のように舌の奥が下がっており、口を開けたらのどちんこが見えるくらいです(日本語の場合は舌が邪魔で見えません)。この位置を基準に舌を動かせることが重要です。

f:id:tomoto335:20170131002017p:plain

続きを読む