2019-06-18

Kinesis Ergo Elan を MacBook につないだ時に Cmd キーを使うようにする

自宅では USB キーボード Kinesis Ergo Elan を愛用している。Kinesis のキーボードとしてはいささか古いけれど、まだまだ現役で活躍している。

Ergo Elan は Mac 用のキー配置が用意されていない。最新の Advantage 2 などには、Mac/Windows/Linux のキー配置が用意されていて、Mac モードにすれば Command キー、Windows モードにすれば Windows キーが打てる。けれど、Ergo Elan にはそういう設定がない。Ergo Elan を買った時は Linux をメインに使っていたので困らなかったのだけど、MacBook の外付けキーボードとして使うには不便。今までは、Command キーが必要な時だけ、MacBook 側のキーボードに手を伸ばしていた。

解決方法

MacBook の修飾キー変更と Ergo Elan のリマップ機能を使えば、Home ボタン・Page Up ボタンを Command キーに変えることができた。

以下、その設定方法。

修飾キー変更
  1. 「システム環境設定」を開き、「キーボード」を選択する
  2. 「キーボード」タブを選んで、右下にある「修飾キー...」ボタンをクリックする
  3. 使っているキーボードを選んで、「Caps Lock ⇪ キー」を「⌘ Command」キーに変更する
Ergo Elan のリマップ

Ergo Elan のリマップのやり方は次の通り:

  • Program + F12 を押す (ライトが早く明滅する)
  • リマップ元のキーをクリックする (ライトがゆっくり明滅する)
  • リマップ先のキーをクリックする (ライトが再び早く明滅する)

2. と 3. の操作をくり返すと連続してリマップを行なえる。全てのリマップが終わったら、Frogram + F12 をもう一度押して終了する。

このリマップ機能を使って Caps Lock を Home キーと Page Up キーに移す。あと、せっかくなので、本来 Caps Lock の位置を Esc に変えてしまう。具体的な作業は次の通り:

  • Program + F12
  • → Caps Lock → Home
  • → Caps Lock → Page Up
  • → Esc → Caps Lock
  • Program + F12

以上。これで Cmd キーを親指で押せるようになった。

最後に、Ergo Elan は Caps Lock キーを押すとビッビッうるさいので、Program + - キーを押して Caps Lock のビープ音を消しておく。

⌘ + Tab を Kinesis から打てるようになって、Mac 生活がとんでもなく楽になった。なんで今まで気がつかなかったのか。

2019-06-17

Sonos x PHILE WEB「Sonos Amp」スペシャル・イベントに参加した

2019-06-15 (土) に Sonos と PHILE WEB による「Sonos Amp」のスペシャル・イベントがあったので参加した。

  • 日時: 2019-06-15 (土) 13:00-14:30
  • 会場: EDGEof 8F (東京都渋谷区)
  • 参加費: 無料 (抽選)

イベントの内容

イベントは 4 部構成。

  1. Sonos Japan 瀬戸和信氏による Sonos 社の説明
  2. Sonos Patrick "PG" Gall 氏による Sonos Amp の技術的な説明
  3. オーディオ評論家 土方久明氏による Sonos Amp 及び Sonos App の説明
  4. 質疑応答 及び フリー視聴

瀬戸氏の説明では、Sonos 社の沿革や同社の initiative である「Listen Better」の説明があった。Sonos 社は 2002 年開始の比較的新しいオーディオ・メーカーで、2018 年 10 月に日本参入。ストリーミング音楽との親和性・音楽を身近に楽しんでもらう体験を通じてファンを増やしてきた。Sonos はソフトウェアにも力を入れていて、製品のファームウェアはアップデートを通じて常に最新に近い状態を保つようになっている。アプリを使ってスピーカーを操作することが可能で、複数のスピーカーをグループでまとめて音楽を再したり、複数のグループに対して別々の曲を再生するデモが行なわれた。

PG はアムステルダムで働いている Sonos の技術者。ヨーロッパ及びアジア・パシフィックの Install Solution の担当。Sonos Amp の技術開発者でもある。Sonos Amp の特長を 3 つに絞って説明してくれた。各項目は次の通り:

  1. 各チャンネル 125W のハイパワー
  2. TV との連携
  3. Look & Feel

TV との連携については、HDMI (ARC) を搭載すること、IR リモコンに対応していることを上げていた。見た目に関しては、Sonos Amp の上にある円形の、ちょっと CD とか LD の再生器にも見える部分がスタイリッシュな排熱スリットになっていることが言及された。

オーディオ評論家の土方氏は、今回のイベントに先がけて 4 か月間 Sonos Amp を試用した体験を交えて、Sonos Amp と Sonos App の説明をしてくれた。3 曲の試聴と Sonos App の初心者向けの説明が多かった。ぼくは Sonos のスピーカーを一台も持っていないので、Sonos のアプリで何ができるのか具体的に知らなくって、意外とこのアプリの説明は助かった。特に複数のストリーミング・サービスをアプリに登録して、楽曲の串刺し検索ができる、というのは凄いと思った。惜しむらくは土方氏の持ち時間が 20 分だったこと。インターナショナル・オーディオ・ショーなんかでも大体そうなんだけど、オーディオ評論家は 1 時間から 1.5 時間を 1 枠に話を構成する。20 分では全く話し切れないし、試聴に時間を割くことができない。そんな残念さが滲み出ていた。会場の時間制限があったのかもしれないけれど、次回やるなら、もう少し大きい時間枠が取れると良いなと思った。

質疑応答では、4〜5 人が質問を出した。NAS からデジタル音源再生しているらしき人の質問がかなり突っこんでいて面白かった。答えとしては、Sonos は DLNA に対応しているので、NAS からの音楽再生も大丈夫ですよ、という所で落ちついていた。

ぼくは Apple TV や Chromecast と Sonos Amp をどう繋ぐのか? という質問をした。というのも、Sonos Amp の HDMI 端子は出力用 (ARC 対応) が 1 つしかないので、そこに Apple TV をつなげば TV につなぐ HDMI の口が無くなってしまうから。答えは、TV に Apple TV や Chromecast をつないで、TV と Sonos Amp をつなぐ。つまり、AV アンプのようにアンプ側にセレクター機能は持たせず、それは TV に任せてしまう、という割り切りだった。TV 側で音楽の入力が切り変わったら、Sonos Amp はちゃんと気がついてくれるので問題ないとのこと。

その場合、リップシンプ問題はどうなるのか? フリー視聴の時間に、個人的に質問をしてみた。すると、Sonos Amp 側で自動的にリップシンクは解決するようになっているし、もし不満があるならマニュアルでリップシンクの設定を行なう画面もあると説明された。リップシンクは、映像を遅らせるのが普通なので、先に TV が映像を受け取って表示しているなら、その映像をアンプ側が遅らせるのは無理じゃないかとモヤモヤしたんだけど、家に帰って調べてみたら ARC の規格の中にリップシンクの対応が入っているのね。必須ではないみたいだけど、ARC のリップシンク機能に対応した TV とつなげば、アンプ側から TV の映像を遅らせるようにリクエストが送れるのかな。

Sonos Amp

Sonos Amp は Sonos のスピーカーが出来ることはほとんど (?) できて、更に自分が持っているパッシブ・スピーカーを鳴らし、TV からの音も HDMI で受け取れるようになった製品。価格は 70,800 円。現在、予約受付中。

入力はネットワークの他に、RCA のアナログ入力が 1 つ、HDMI 入力が 1 つ。出力はシングル・ワイヤ用の端子が 1 セット、サブウーファー用の RCA 出力端子が 1 つ。TV の光デジタル出力を受け取れるとの説明もあったが、専用の端子はない。どうやら光デジタル出力を HDMI 出力に変換するアダプターがあるらしい (説明あったかな? 聞きもらしたかな?)。アンプに付属なのか別売なのかは良く分からない。

スピーカー出力では面白い機能が 2 つ。1 つ目はスピーカーをデュアル・モノに出来ること。スピーカーを LR にするのではなく、両方ともモノラルにする。パーティーとかで広い場所に音を届ける場合は、LR よりモノラルの方が良いかもしれない。2 つ目は Sonos のスピーカーと組み合わせて 4.1ch 構成にまでアップグレードできること。つまり、フロント 2ch はケーブルで Sonos Amp につなぎ、リア 2ch は Sonos スピーカーから音を出す、ということができる。

試聴

イベントでは 4 つの曲をかけた。音源は Apple Music かな? アンプは Sonos Amp で、スピーカーには ELAC FS407。

ELAC はドイツのスピーカー・ブランド。FS407 はトールボーイ・タイプで、定価は 520,000 円 (税別)。ELAC のスピーカーは 100 万円未満では頭一つ抜けた低音を鳴らす。とても締まった低音で、アタックのある音の表現が秀逸。

アンプの特長と合わせてスピーカーを選んだのかは分からないけど、かかった曲も低音のキレが良い曲が多かった。

エンジニアの PG がかけたのは 1 曲だけ、Channel Tres の Jet Black。スピーカーがアンプによってよく駆動しているのが分かる。7 万円台のアンプとは思えない。さすがに 20 万円代のピュア・オーディオ向けアンプと比べると表現力には差があると思うけど、5〜10 万円台の AV アンプではこれほどちゃんとスピーカーを鳴らせないんじゃないかと思う。ELAC の特長でもある締りのある低音をちゃんと出すことができていた。

オーディオ評論家の土方氏は 3 曲かけた。

1 曲目はホセ・ジェイムズ の Just the Two of Us。冒頭のアタック音が膨らむことがなくて良い。この曲の男性ボーカルを Sonos Amp と ELAC で聴くと甘く感じた。そんなに甘いイメージは持っていなかったんだけど。

2 曲目はベーシストのマーカス・ミラーの楽曲から一曲。曲名をメモり損ねたので、曲名不明。書き残したメモを見ると、「低音推し。あと一押しほしい。ピッキングの感じは良い」と書いてあった。

3 曲目はグラミーで新人賞をとった Dua Lipa の楽曲。映画「アリータ バトル・エンジェル」のエンディング曲にもなった「Swan Song」。サ行の音が強調されるように聞こえたのだけど、それは会場がデッドだったせいな気がする。音離れの良さを実感する。メモを見ると、「ピアノに深みが欲しい」と書いている。家で Apple Music から Swan Song を聴いているんだけど、ピアノの音が入っていない。ぼくはイベントで何の音を聴いたんだろう? もしかしたら、ピアノの音の入ったアコースティック・エディットとかあるのかな?

あとがき

Sonos Amp の実力は 7 万円という値段から予想していた音の上を行った。ただ、楽曲は基本 Pops 系ばかりで、オーケストラの弦やピアノをどれくらい生々しく鳴らしてくれるかは、ちょっと分からなかった。ELAC ではなく Sonas faber あたりを Sonos Amp と組み合わせたら、どんなクラシック音楽がかかるのか興味ある。

Sonos が提供する新しい音楽体験は、スマートスピーカーが一気に普及した今日では、それほど目新しいものには感じなくなってしまった。Apple も AirPlay 2 を出して、マルチルーム再生も Sonos の専売特許と言えなくなっている。

ただ、Sonos アプリの複数ストリーミング・サービス串刺し検索には大きく心ひかれる。Apple HomePod や Google Home Max が日本上陸していない今、スマートスピーカー系で音質のトップレベルを提供しているのは Sonos と言っても良いかもしれない。(KEF LSX とか Dynauio Xeo とか LINN Exakt とかピュア・オーディオ界の本気のワイヤレスは除外するとして)。

というわけで、Sonos One を一台注文してしまった。午前中に届いてしまったので、このブログの記事をアップしたら、セッティングする予定。

2019-06-16

Emacs 27.0.50 を macOS 10.15 Catalina でコンパイルした

macOS 11.15 Catalina beta 1 へアップデートしたら、むかし入れた Emacs が動かなくなったので、改めてソースから最新版をコンパイルした。

Homebrew の設定とかは 11.14 Mojave 時代にやっていたので、そのまま使った。過去のコパンイル記事はこちら。

ソースコードの取得

Emacs の開発版を git 経由で取得する:

$ git clone git://git.savannah.gnu.org/emacs.git emacs-2019

コンパイル

git で取得したソースには configure スクリプトがないので、autogen コマンドで作成。

$ cd emacs
$ ./autogen.sh

デフォルトだと xml2 ライブラリーのパスを解決できないので、CFLAGS でパスを指定。あと、mailutils がどうのと言われて configure が最後まで実行されないので、mailutils をインストールして指定しておく。

$ brew install mailutils
$ CFLAGS=`xml2-config --cflags` ./configure --without-xim --with-mailutils

Configured for 'x86_64-apple-darwin19.0.0'.

  Where should the build process find the source code?    .
  What compiler should emacs be built with?               gcc -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/libxml2
  Should Emacs use the GNU version of malloc?             no
    (The GNU allocators don't work with this system configuration.)
  Should Emacs use a relocating allocator for buffers?    no
  Should Emacs use mmap(2) for buffer allocation?         no
  What window system should Emacs use?                    nextstep
  What toolkit should Emacs use?                          none
  Where do we find X Windows header files?                NONE
  Where do we find X Windows libraries?                   NONE
  Does Emacs use -lXaw3d?                                 no
  Does Emacs use -lXpm?                                   no
  Does Emacs use -ljpeg?                                  no
  Does Emacs use -ltiff?                                  no
  Does Emacs use a gif library?                           no 
  Does Emacs use a png library?                           no 
  Does Emacs use -lrsvg-2?                                no
  Does Emacs use cairo?                                   no
  Does Emacs use -llcms2?                                 no
  Does Emacs use imagemagick?                             no
  Does Emacs support sound?                               no
  Does Emacs use -lgpm?                                   no
  Does Emacs use -ldbus?                                  yes
  Does Emacs use -lgconf?                                 no
  Does Emacs use GSettings?                               no
  Does Emacs use a file notification library?             yes (kqueue)
  Does Emacs use access control lists?                    yes 
  Does Emacs use -lselinux?                               no
  Does Emacs use -lgnutls?                                yes
  Does Emacs use -lxml2?                                  yes
  Does Emacs use -lfreetype?                              no
  Does Emacs use HarfBuzz?                                no
  Does Emacs use -lm17n-flt?                              no
  Does Emacs use -lotf?                                   no
  Does Emacs use -lxft?                                   no
  Does Emacs use -lsystemd?                               no
  Does Emacs use -ljansson?                               no
  Does Emacs use -lgmp?                                   yes
  Does Emacs directly use zlib?                           yes
  Does Emacs have dynamic modules support?                no
  Does Emacs use toolkit scroll bars?                     yes
  Does Emacs support Xwidgets (requires gtk3)?            no
  Does Emacs have threading support in lisp?              yes
  Does Emacs support the portable dumper?                 yes
  Does Emacs support legacy unexec dumping?               no
  Which dumping strategy does Emacs use?                  pdumper



Run 'make' to build Emacs, then run 'src/emacs' to test it.
Run 'make install' in order to build an application bundle.
The application will go to nextstep/Emacs.app and can be run or moved
from there.
The application will be fully self-contained.

色々なライブラリーが no になってしまっているけど、まずは動かすことを第一目標に気にしない。時間が出来た時に、改めて設定を見直してみよう。

make install でコンパイル。./nextstep ディレクトリー下に Emacs が出来上がる。

$ make install

ぼくは .bashrc に次の一行を書いて、ターミナルから emacs コマンドを叩けるようにしている。

# Emacs
alias emacs='open ~/project/emacs/nextstep/Emacs.app/'

ただ、ターミナルを起動した時に .bashrc を読み込んでくれない。Catalina からデフォルト・シェルが zsh に変更になったと聞くけど、その影響かな? でも起動している shell は bash のようなんだけど。これも、時間が出来た時に調べてみよう。

2019-06-04

WWDC 2019 で iOS 13 と iPadOS が発表された

2019-06-04 (火) 02:00、Apple は WWDC 2019 で iOS のメジャー・アップデートにあたる iOS 13 と iPad 用 OS となる iPadOS の発表を行なった。

パフォーマンス

iOS 13 は FaceID のアンロックが iOS 12 に比べて高速化され、アプリの起動は 2 倍になる。

アプリのダウンロード・サイズも小さくなる。新規アプリのインストールでは 50% 、アプリ・アップデートでは 60% もサイズが小さくなる。

ダークモード

ダークモードがサポートされる。WWDC ではニュース、メモ、写真、ミュージック・アプリでのダークモード表示を見せてくれた。特に OLED ディスプレイでの省電力に寄与することが期待される。

メモ (Notes)

メモ・アプリの UI は大きくアップデートされ、フォルダーやギャラリー・ビューに対応する。

リマインダー

リマインダー・アプリの UI は作り直される。

マップ

マップのデータが刷新される。US のデータは 2019 年末までに、全世界のデータは 2020 年に大幅に更新される。

マップはストリート・ビューに対応する。ストリート・ビューでは、道路をスムースに移動することができる。ストリート・ビューが日本でも展開されるかどうかは、よく分からない。

位置情報はより細かくコントロールできるようになる。1 回だけ位置情報を提供したり、位置情報のバックグラウンド・トラッキングがあればアラートを出す機能が提供される。

Sign in With Apple

Apple もソーシャル・ログイン機能を提供する。サービスによってメール・アドレスを求められることがある。Apple はアプリごとにランダム文字列のメール・アドレスを発行する。ユーザーは自分のメアドとランダム文字列のメアドを選択して使うことができる。

HomeKit Secure Video

セキュリティ・カメラはデータをクラウドにアップロードしている。HomeKit Secure Video に対応したカメラは、データを全て暗号化してクラウドにアップロードする。これらのデータは、もちろん Apple が見ることはできない。

写真アプリ

ポートレート・モードの編集機能が強化される。今までより細かい変更が可能になる。

また、ビデオの編集も強化され、ビデオの回転・エフェクトの追加が可能になる。

写真アプリのサムネイル・ビューは大きくアップデートされる。ピンチ・イン、ピンチ・アウトで拡大・縮小ができるようになる。タイル状の表示では、メインな写真が大きなタイルで表示される。ビデオや Live フォトはオートプレイに対応する。

AirPods, HomePod, CarPlay, Siri

AirPods はメッセージ・アプリに届いたメッセージを自動で読み上げ、タップなどの操作なしに返事を送ることができるようになる。

HomePod のアップデートは 3 つ。1 つ目。iPhone とのハンドオフ機能に対応する。iPhone を HomePod の近くに持っていくと、iPhone でかかっている曲が HomePod でかかる。2 つ目。HomePod は 10 万以上のネットラジオ局に対応する。3 つ目。HomePod はパーソナライズ・レスポンドに対応する。HomePod に呼びかけた人間を特定して、対応するカレンダーやミュージックにアクセスしてくれる。

CarPlay は刷新されて、ダッシュボードに必要な情報が表示されるようになる。

Siri はより自然な読み上げ (Neural TTS) ができるようになる。日本語でも、より自然な発話になるのかな?

ファイル

ファイル・アプリはプレビューに対応し、フォルダー共有機能をサポートするようになる。

また、iPad Pro では USB Drive や SD Card にもアクセスできるようになる。

iPadOS

iPad 用の iOS に iPadOS という名前が与えられることになった。ベースが iOS なことは変わらない (?)。

ホーム画面に配置するアプリの数は今までより多くなり、ホーム画面をスワイプすると左からウィジェット (今までの Today Extension の画面?) にアクセスできるようになる。

iPadOS -- Slide Over

スライド・オーバーはアプリ・スイッチャーをサポートする。スライド・オーバーで表示されているアプリに対して、iPhone 形式のアプリ・スイッチャーを呼び出すことができるようになり、アプリを簡単に切り替えることができるようになる。

iPadOS -- Split View

標準アプリは 1 つのアプリをスプリット・ビューで表示できるようになる。つまり、スプリット・ビューの左をメモ・アプリにして、右もメモ・アプリにすることが可能になる。サードパーティー・アプリも対応するのかな?

iPadOS -- Safari

デスクトップ・クラスのブラウジングができるようになる。iPad に最適化された表示ではなく、デスクトップ PC で表示される見た目と操作が可能になる (本当かな?)。Google Spreadsheet をどれくらいちゃんと操作できるようになるのか期待。

これは iPad 向け Safari に限らないかもしれないけれど、Safari はダウンロード・マネージャーを搭載する。

iPadOS -- マルチタッチ

3 本指ジェスチャーが追加される。3 本指ピンチ・インでコピー、3 本指ピンチ・アウトでペースト、3 本指スワイプで Undo。

Apple Pencil

レイテンシーが 20ms から 9ms へ減って、より反応が良くなる。また、PencilKit API が提供されるようになり、サードパーティー・アプリの Apple Pencil サポートが強化される。