カテゴリー : Gadget

スマートスピーカー3種雑感

Google HomeとEchoが国内でも出て揃った感があるので軽く触った感じをメモ。

Google Home mini
不具合でアクションボタン使えなくなったのが地味に痛い。
Ok Google(ねえ、Google)というウェイクワードが呼びにくい印象だが
音声認識精度は悪くないし、合成音声も聞き取りやすい。
Actions on Googleがどれくらい広まるかがキモ。
綺麗に実装してあれば「ねぇ、Google ○○して」でボイスコマンドが収まるので
一番スッキリしている。

Amazon Echo Dot
早くから開発環境を公開していただけあってSkill(出来ること)が充実している。
RoombaもHueも操作出来るし、IRリモコンも各社出揃ってる。
音声認識精度も合成音声も悪くない。スマホのAlexaアプリで認識結果を確認出来て
そこからフィードバックを投げられるので操作のストレスも少ない。
ボイスコマンドの呼び方は「アレクサ ○○(Skill名)で○○(詳細)をして」と、現段階では
Google Assistantより長くなりがちなので、エイリアスが設定できるといいと思う。
特にナビタイム、列車の運行情報を知るのに「アレクサ、ナビタイム運行情報で中央線を教えて」と
かなりコマンドが長くなるので使いづらい。「アレクサ、中央線の状況を教えて」ぐらいで使いたい。
Skillによって終了コマンドが違うので呼び出した後止められなくなることがある。(じゃらんの終了方法がわからない…)
Echo Dotはライン出力がついていてホームオーディオに出力を流せるので既設の環境に組み込みやすいのがよい。

LINE Clova WAVE
日本でのリリースは一番早かったが機能としては最も未成熟。
LINE MUSICのターゲット層でサブスクリプションチケットを買ったら「かなり不便な」Bluetoothスピーカーが着いてきたぐらいの気持ちでいないと多分買ったのを後悔する。している。
音声認識周りが本当に未熟でテレビをつけているとウェイクワードを誤検知してずっと喋っている。
ボイスコマンドの確認もできないのでどうやったら動くか確認できずストレスだけが溜まっていく。
サードパーティの機能実装が現状殆どない(radikoが聴けるくらい)なので何もできない。
LINE MUSIC再生時とBluetooth経由で音楽を再生する時に音質差が結構あり、後者は音がスカスカになる。ワザとやってんのかなコレ。


開発者のスタンスがこんな感じなので、正直今後も期待出来ない。
Google HomeやEchoの発売に焦って正式版として販売しているが、中身は本当に未成熟で
先行する2者に比べて周回遅れになっている。こんなんで店頭販売されても普及を妨げるだけ。

今のところ各社ともボイスコマンドというか、決まった指示言葉を組み合わせて操作する形なので
自然な会話で操作が出来るわけではない。今後の成熟に期待。

Android端末で受信したLINE通知をiOS端末にも通知させる

普段はXperiaでLINEを受信しているのですが、たまに持ち出し忘れたり
するとメッセージに全く気が付かないので、他の端末で新着通知だけでも
飛ばす方法を探しました。
とりあえず動いているので備忘録として書いておきます。

1.処理全体の流れ
1.Androidの通知のうち、LINEのみをより分けてEventを起こす。(Tasker)
2.EventをiOS端末へPush通知する(Pushbullet)

2.セットアップ
1.Pushbulletのインストールと動作確認
Android,iOS端末両方にPushbulletをインストールし、相互にメッセージを送って
Push通知が届く事を確認します。 iOSで通知が来ない時は一度サインアウトしてから
やり直すとうまくいきます。
(Pushbulletには通知ミラーリングという機能がありますが、これはAndroidからPCに通知を送る機能で
iOS端末へは通知が遅れないので今回は使用しません。)

2.TaskerのインストールとEventの設定
(1)Android端末にTaskerをインストールし、初期設定(通知の許可・ユーザ補助の許可)をしておきます。
(2)TASKSの+ボタンを押し、適当に名前をつけた後Actionを追加します。
ActionはPluginのPushbulletを選択します。
(3)Action Editの画面でConfigrationの左にある鉛筆マークを選び、Pushbulletの通知設定をします
Toに対象となるiOS端末を入れ、タイトルに「LINE:%evtprm2 %evtprm3」と入力
メッセージは特に設定せずチェックマークをいれて戻ります。

(4)Taskditの画面に戻ったら通知をプッシュという表題でActionが追加されていると思いますので
左下の再生ボタンを押し、iOSへ通知が飛ぶかを確認します。
(スクショは2件表示されていますが、これは2台設定しているので1台だけならば1件表示されます)

この時点で以下のような通知がiOSへ飛べばOKです。

(5)PROFILESの+ボタンを押し、EventのUIにあるNotificationを選択します。
(6)Event Edit画面でOwner ApplicationとしてLINEを選択します。他は空欄でOKです。

(7)矢印で戻るとTASKを紐付けろと言われますので、先程作ったタスクを指定します。

(8)ハンバーガーメニューからExitを選びTaskerを一度閉じて再度開きます。
(これを行わないとTaskが反映されない事があるようです。)

3.動作確認
Android端末をスリープにして、他の端末からメッセージを送ってみます。
以下のような形でiOS端末に通知が飛べば成功です。

Androidの柔軟性に全力で助けられる形で機能を実現しています。
こういう細かい所に手が届くのをみるとやっぱりAndroid端末便利だなぁと思います。
iOSは逆に何もさせないことで安定性を担保しているので、こちらはこちらで運用が楽ですね。

・補足
%evtprmはNotificationの内容が変数として入ります。%evtprm2がタイトル、%evtprm3が内容です。
・以下試して駄目だったこと
IFTTTをトリガして通知をとばす。
両端末にIFTTTをインストールし、ifにAndroid Notication、thenにIFTTT Notificationを設定して
通知を飛ばす方法。これは個別の通知を選べないのでAndroidの通知が全て飛んでしまい綺麗ではありませんでした。
LINEもIFTTTに対応しているので細かく設定出来るかなと思ったら、ifには一切設定出来ないので意味がありませんでした。

GPD WIN/Pocketの英語環境を(APIから見て)日本語環境化する

GPD WIN/GPD Pocketでは標準でインストールされているOSが純粋な日本語版ではなく
英語(en_US)版に、お好みで日本語言語パックを入れるという形になっています。

日本語化については、ログオン後のUnicodeなUI部分の表示は
コンパネ->時計、言語、および地域->言語を追加するを選び、日本語を選択してダウンロードして
規定の言語にすることで設定できます。

また、Welcomeスクリーン、非Unicode、環境の日本語表示は上記設定後
コンパネ->時計、言語、及び地域->地域を選び、場所に日本、管理で
「ようこそ画面と新しいユーザアカウント」の設定のコピー及び
その下の「Unicode対応でないプログラム言語」のシステムロケールの変更で日本語を選ぶことで設定できます。

ここまでやると大部分の場所が日本語化されるのですが、完全に日本語OSとなる訳ではありません。
この時点でAPIで言語関係の関数を叩くと
GetSystemDefaultLCID()
GetUserDefaultLCID()
GetSystemDefaultLangID()
GetUserDefaultLangID()
GetUserDefaultUILanguage()
についてはロケール ID (LCID)が0x0411(ja_JP)で帰ってきますが

GetSystemDefaultUILanguage()
に関しては0x0409(en_US)が帰ってきます。

GetSystemDefaultUILanguage()に関してはMSのリファレンス

>This function never returns a language identifier for a Language Interface Pack (LIP).

とありますので、言語パックの影響を受けず、インストール時に設定された初期言語が返されます。
このため、一部の日本製アプリケーションでは、主にDRM的な観点からこの関数を用いて
ユーザのOS言語を検出し動作しないことがあります。(逆もしかり)
上記理由から具体的にどれが該当するかは書きませんが主にゲーム系のアプリケーションで多い様です。

これはレジストリの
HKLM\System\CurrentControlSet\Control\Nls\Language\InstallLanguageキー
en_USである0409からja_JPである0411に変更することで解決することができます。
ここを変更後再起動すると、GetSystemDefaultUILanguage()の値も0x0411となり、上記の様なアプリケーションでの動作が改善されます。
#ちなみに、日本語言語を既定にしてProにアップグレードするとここの値は0x411となるようです。

軽く確認しただけなので他の関数ではまた違う値が出るかもうしれませんし
WinRTに関しては触ってもいないので一緒に変わるかは全く不明ですが
日本製のゲームが動かない、という方は一度試してみてはいかがでしょうか。

添付に上記で挙げた関数の値をベタ出力するコピペプログラムを貼り付けておきます。
現在のOS設定値を確認する参考としてどうぞ。
#Defenderだと”Trojan:Win32/Sprisky.C!cl”と出る場合がありますが誤検知です。MSに解除申請が通ったのでそのうち表示されなくなるはずです。

#6月に買ったものの、セットアップで蹴られて積んでいた某ゲームがこれでやっと出来る. やったー

Fossil Q Marshalを買いました。

Fossil Q Marshalを購入しました。
Moto360のバッテリーが消耗して電源が入らなくなったので買い替え。
本当はAndroid wear2.0プリイン機を待ちたかったのですが、wearを結構便利に
使っていたので不便さに耐えきれず、セールで割り引かれていたのもあって、つい。
Fossilの時計はWrist PDA以来なので、大分久しぶりですね。

Android wearとしての使い勝手は、SoCが新しくなっているので動作が速くなっているのと
腕を振る動作での操作の精度がかなり良くなっています。
バッテリーも第一世代に比べてかなり持つ印象で、丸24時間ぐらいは普通に使える様に見えます。
Moto360と比較するとパルスセンサーがありませんが、そちらはPULSENSEに任せているので問題なし。
それよりもディスプレイが有機ELでなく液晶なので、ウォッチフェイスを画像にしていると軒並み白浮きするのが気になります。
背景が暗い画像だとよくわかるので、ここは有機ELの方が良かったですね。
購入後すぐにwear2.0が降ってきましたが、写真では龍頭に見えるものが実際には押しボタンなので、
龍頭をダイヤルとして使うことが前提の2.0のUIはちょっと慣れていません。

写真でみるとMoto360とあまり変わらないように見えますが、本体の重量がかなりあります。
例としてあげると
G-SHOCK(MTG0910DJ-2JF):118g
Moto360+ pebble steel スチールバンド:81g
iPhone SE:132g
に比べて
Q Marshal:152g
となり、iPhoneよりも重いです。ガワが厚いのもありますが、ベルト部も分厚くて重いです。
腕に152gは結構ずっしりきます。タイピングしている時にはちょっと手首が痛くなりますね。

Fossilは2年保証なのが嬉しいですね。Moto360の様にバッテリーが消耗してもカバー出来ます。
重さとディスプレイ品質以外はとても満足しているので、これから2年頑張ってもらおうと思います。

iPhone SEを買いました。

2月ぐらいにiPhone SEを買いました。
年初にあんしんGPS用に持っていたiPod Touchを割ってしまったのと
目覚ましに使っていた5Sのバッテリー妊娠。
それにZ5Cへの色々な不満が重なって、物欲が爆発。

iPhoneを0円以外で買うのはゴミクズだったiPhone3G以来ですが
SEの今となっては小柄なサイズと、ローズゴールドの上品な色合いはとても気にっています。
久しぶりのiOS機なので何かにつけて無駄な制限があるのは変わってないなぁという感じですが
ハイエンドのはずのZ5Cよりも圧倒的に快適な速度で動くので満足度は高いです。
iOS機だけというのも辛いので、しばらくはZ5Cと併用して使っていこうと思います。

#5インチ以上は携帯ではなくタブレットだよ教徒なので最近の大型化した携帯には全く興味がなく
#Appleが4インチを5Sで廃盤にせずSEを出してくれたことにはとても感謝しています。

(GPD WIN)JoyToKeyがスタンバイ復帰時に暴走するのをなんとかする

#2017/01/14:電源OFFからの起動時に上手く動作してなかったのを修正

GPD WINについているスティック類を有効活用出来るのがJoyToKeyですが
これを起動したままスリープや休止状態にした後、ある程度時間が経ってから
復帰させるとポインタの速度がしばらく高速になり操作が難しくなります。

原因はどうやらJoyToKeyの側にあるっぽく、プロセスを再起動すると直ります。
毎回手で再起動するのも面倒くさいので、コピペでスクリプトを書いて
ロック解除時に実行する様にタスクスケジューラに組み込みました。

しばらく使ってみて問題無さそうなので貼り付けておきます。

設定
1.このzipファイルをダウンロードして解凍します。

2.JoyToKeyを以下のディレクトリに配置。
C:\Programs\JoyToKey\JoyToKey\JoyToKey.exe

3.「restartjoytokey.vbs」を以下のディレクトリに配置
C:\Programs\JoyToKey\restartjoytokey.vbs

4.この上でタスクスケジューラに「JoyToKey Logon statup.xml」をインポートすると
任意のユーザでロックを解除した際にJoyToKeyを強制的に再起動します。

中身も簡単なのでもし動かなかったら適当に直してみてください。

代理店としての仕事をしない緑屋電気

Makuake(緑屋電気)経由で入手したGPD WINですが
付属しているWindowsのライセンスが怪しいという話があり
手元のプロダクトキーについてMSに問い合わせてみたところ
MSDN向けのライセンス、つまり非正規品でした。
電話口でプロダクトキーをロックするとも言われたので、使用も出来ません。
緑屋電気には12/10に確認のメールを送っているのですが、未だ返答がありません。

Makuake経由のGPD WINには緑屋が入れた1年保証の紙が入っていますが
この分だと他の件でも対応されるかどうか。
本件で問題があるのはもちろん非正規なライセンスを添付しているGPD社ですが、緑屋電気も
Makuakeで国内において必要な手続きを請け負うといううたい文句で出資を集めています。
国内総代理店を自称しておきながら必要な仕事が全く出来ておらず、呆れてしまいます。

とりあえず手持ち分はロックされてしまったので、余っていたリテール版ライセンスに入れ替えていますが
これもPCの買い換えで剥がしたいと思っているので、緑屋電気には早急な対応をしてもらいたいものです。

2017/01/20:追記
何度かといあわせた所、やっと新しいプロダクトキーが送られてきました。
正規品かどうかという問い合わせについては「メーカーが正規品と言ってるから正規品です」という回答。
子供のおつかいじゃないんだからさぁ…
一応チャネルはリテールからOEMに変わったものの、どうも怪しいので正規の10 Proを買ってインストールしました。
突然使えなくなったりしたら嫌ですからね。

FiiO X7のケースと3.xβ

FiiO X7と同時に購入した純正のケース、本革のLC-X7Bを使用していましたが
約半年の利用で各部ともボロボロになってきたので買い直しました。

X7は重量があり、鞄に入れておくと各部とも擦れて駄目になっていくのが早い気がします。
今度購入したのは合皮のLC-X7A、本革とは$2違いでAliexpressで売られています。
1週間ほどで届きましたが、合皮だからなのか本革のX7Bよりも伸びが少なく
ケースだけ持っても本体がすっぽ抜けないので良い感じです。
ケースの質感については本革の方が良い気もしますが、この辺りは好みかと。
X7自体が1年前の機種(といってもFiiO的にはまだ最新フラッグシップですが)なので
純正以外のケースの選択肢がなくなっていきています。
本体重量があることもあり、結構簡単に傷が入ってしまうので、ケースはあるうちに
確保しておいた方が良いかもしれません。

昨年10月くらいから、FiiO X7のFirmware3.xβが始まりました。
元々X7のAndroidはSoCの都合上4.4までしか対応しないという話でしたが、
FiiOの方でドライバから書き起こすという大プロジェクトで5.1に上がることとなりました。
Androidのバージョンアップだけでなく、各種ブラッシュアップや、ViPER4Android、apt-Xの搭載
新機能のオンパレードで、中国企業らしい勢いの良さを感じさせます。
βも週一回のアップデートを何度も経て、3.10では大分完成度も高くなりました。
まだバグが残っている場所もありますが、安定すれば素晴らしいプレイヤーになると思います。

GPD WINでデバイスの暗号化を使う話。

#この記事はGPD WIN Advent Calendar 2016 3日目の記事です。
#自分のBlogがないので知人のblogをお借りしています。
dsc09851
今話題のUMPC GPD WINは3DSLLサイズということもあり、持ち運んで利用することが想定されます。
もし持ち出し先で盗難や紛失にあった場合、例え個人のデータしか保存されていないとしても
デバイスストレージの暗号化がされていれば紛失時の情報漏洩リスクを低減することが出来ます。

ここで有用なのが、Windows10に備わっている「デバイスの暗号化」と呼ばれる機能です。

デバイスの暗号化とは、Windows10Homeにおいて、以下の要件を満たす場合に
利用出来るストレージ暗号化機能です。

1.デバイスがTPM2.0に対応すること。
2.デバイスがInstantGoに対応すること。
3.デバイスがSecure Bootで構成されていること。
4.使用するアカウントがMSアカウントもしくはAzure ADに参加していること

Proエディション以上で利用出来る暗号化機能のBitLockerの機能限定版といった位置づけとなり
BitLockerと比較して主な点では以下が異なります。

1.冒頭の3つに示した様に、特定のハードウェア要件を満たす必要があります。
(BitLockerは構成方法にもよりますが、殆どハードウェア要件はありません。)

2.回復キーの保存方法がMSアカウント/Azure AD+ローカルに限定されます。
(BitLockerはクラウドに回復キーを保存する要件は必須ではありません。)

3.外部ドライブ(USBメモリー)等に対しては設定出来ません。
(BitLockerはBitLocker to Goという機能でUSBメモリーに対しても暗号化が出来ます。)

詳しくは「Windows 10 でデータの暗号化」にて詳細な説明がされています。

さて、GPD WINにおいてデバイスの暗号化をするには、ちょっとした設定が必要です。
冒頭で述べた4要件のうち
3.デバイスがSecure Bootで構成されていること。
を満たしていないため、標準の状態では使用することが出来ないのです。

対応デバイスでは設定のバージョン情報に設定の為のスイッチが表示されますが、本機では表示されていません。
設定のバージョン情報 実施前

本エントリではGPD WINの設定を変更してデバイスの暗号化を有効にする手段を述べます。
なお、この記事で想定している環境はBIOSが20161025版リリースまでのデバイスです。
最近リリースされた20161118版のBIOSでは、設定に必要な該当項目が削除されており、実施出来ません。※後述

まず前提として、現在のユーザがMSアカウントかAzure ADのどちらかであることを確認しておきます。
次にSecure Bootを有効にするために、BIOSの設定を変更します。

アクションセンターのすべての設定を開き、「更新とセキュリティ」を開きます。
回復に「PCの起動をカスタマイズする」という項目がありますので、「今すぐ再起動する」を選択します。

デバイスが再起動後、青い画面に切り替わります。
「トラブルシューティング」、「詳細オプション」、「UEFIファームウェアの設定」に進み、「再起動」を選択します。

再起動後、BIOSの設定画面(Aptio Setup Utility)に入りますので、Securityタブの「Secure Boot menu」を選びます。
UEFI menu
Secure Boot Modeを「Custom」から「Standard」に変更します。
UEFI menu2
「Press ‘Yes’ to install factory default keys」というダイアログが出ますので、Yesを選択。
UEFI menu3
Secure Bootを「Enable」に変更します。
UEFI menu4
Escで戻ってSave & ExitタブのS「ave Changes and Exit」を選択。
「Save Configuration and exit?」というダイアログが出ますのでYesを選択。
UEFI menu5

デバイスが再起動され、Windowsが立ち上がってくれば設定変更完了です。
早速確認してみましょう。
アクションセンターの全ての設定を開き、「システム」を開きます。
バージョン情報の項目の下の方をスクロールすると、「デバイスの暗号化」という項目が出現しています。
設定のバージョン情報 実施後
これを「オンにする」にすれば、デバイスの暗号化が始まります。
これでもしデバイスを紛失しても、データ漏洩から情報を保護することが出来ます。

ストレージの暗号化で気になるのがI/Oの速度低下です。 CrystalDiskMarkを実行してみましょう。
暗号化前のベンチマーク結果
before_disk
暗号化後のベンチマーク結果
after_disk
速度低下がみられる項目もありますが、通常使用では気にならないレベルに押さえられています。
GPD WINに搭載されているAtomはAES-NIをサポートしていますので、CPU使用率も殆ど上がりません。

この「デバイスの暗号化」もしもの時に為に、設定しておくと安心ではないでしょうか。


※と、ここまで書いてから、この設定に関わる重大な変更がGPDから降ってきましたので記載します。
GPD WINのBIOSで今の所最新の20161118版では、Secure Bootの設定項目、というよりもSecurityタブそのものが削除されています。
このため、Secure Bootを有効に出来ず、「デバイスの暗号化」を有効にすることは出来ません。
既に暗号化されているデバイスについては、詳しい検証はしていませんがアップデートすることにより以下の挙動が予測されます。

アップデートされることで設定値がメーカー初期値に戻るので、Secure Bootの設定が無効になります。
よって、次回起動時に暗号化の回復キーの入力が必要になります。(MSアカウントに保存されていますのでオンラインで確認出来ます。)
一度回復キーを入力した後は通常通り利用出来るはずですが、一度でも「デバイスの暗号化」をオフにして再起動すると以降は要件を満たさなくなるため、「デバイスの暗号化」が利用出来なくなります。

○お願い
このBIOSからSecure Boot項目が削除された問題について、GPDさんのレスポンスが早いIndiegogoのコメント欄で復活の要望を出してくれる方を募集しております。
私はMakuake組なので緑屋さんが間に入っており、かつ緑屋さんは現在Windowsライセンスの問題でバタバタしているのでレスポンスが期待出来そうにありません。
持ち運ぶデバイスとして追加ライセンスなしに暗号化出来る本機能は有用かと思うので、どなたか助けてください。

Xperia Z5 Compactの「Xperiaバックアップと復元」で一時ファイルが解放されないバグについてのメモ

表題長いですが、結構苦しめられたのでメモしておきます。

グローバル版のXperia(国内版不明)には設定に「バックアップとリセット」という
項目があり、その中にはXperia独自の「Xperiaバックアップと復元」という項目があります。

このバックアップ機能にはバグがあり、バックアップ前に事前に内蔵ストレージの空き容量を
チェックしないため、本体の空き容量が少ない状態(恐らく使用量>空き容量)でバックアップを実行すると
内部で使用する一時ファイルが作成仕切れず、動作が失敗します。

そこまではまあ理解できるのですが、このバックアップ機能はバックアップが失敗した後
内部で作成した一時ファイルを削除しません。
よってこの機能が失敗した後は内部ストレージが満杯になり、手動でファイルを削除する必要があります。
また、このバックアップ機能は、その画面から一時ファイルを削除する機能を提供しておらず、
また、システム扱いでOS標準のアプリケーション一覧にもパッケージが出てこないので、一時ファイルが削除できません。

特に自動バックアップを有効にしていると、1週間毎に内蔵ストレージが満杯になる上
原因が分かりづらく、他のファイルを消しても改善しないので、延々とストレージが消費されるという悪循環に陥ります。

これを解決するには、3rd Partyのシステムアプリを表示できるアプリ(例えば、マイパッケージなど)
を使用して、パッケージ名「com.sonymobile.snychub」、アプリ名「バックアップと復元」を呼び出し
ストレージのデータを削除することで解消できます。

私の場合はこれで18GB程消費されていました。

7月の頭ぐらいに自動バックアップを有効にしてから覚えのない容量消費に悩まされていましたが
やっと解決することができました。

このバックアップ機能にはバックアップした先のファイルを消去する機能もあるのですが、それも
正常に動作しておらず、全体的にテストがなされていない様に思います。