2021-05-21

憧れのBang & Olufsenのサウンド、Beoplay A2をやっと手に入れた、と思ったのも束の間、新製品Beosound Exploreがちょうど発売

こちらがBeoplay A2
新発売のBeosound Explorer
高さがA2の短辺とほぼ同じ、
Beosound A1よりかなり小柄、
シルエットのサイズは
Beoplay P2に近いかも

書斎用に、中古ですが、かのBoeplay A2を手に入れました。
これが私にとっての初B&Oです。
Beoplay A2はBang & Olufsen社の歴史上、初のポータブルスピーカーで、販売台数を最もあげた製品とのことです。
Beoplay A2の初代モデルの発売は2014年です(AV Watchの記事)。
寸法から事前にiPad Pro 11インチと同じくらいかと予習していたのですが、実際に手に取ってみると厚みがあって結構なサイズです。
とはいえ、比較的大きな7.6cmのバススピーカー2個、1.9cmのツイーター2個、それにパッシブラジエータが収まっていることを考えると、むしろ小さくまとまっていると思います。
M1 MacBook AirにBeoplay Software Updaterアプリを入れて、mini USB to USB AケーブルとUSB A/C変換アダプタで接続し、ファームウェアを8.xから9.3.4にアップデートして、無事にiPad/iPhoneのBang & Olufsenアプリでイコライザ設定ができるようになりました。

※1:Beoplay A2の前面カバーの中にメンテナンスポートがあるのですが、microではなくてマイナーなmini USBなので注意が必要です。古いケーブルのを引っ張り出してきました。
※2:スマホ用のアプリでもファームウェアアップデートできるようですが、スマホ側をホストモードで接続するUSBケーブルが難しい(iPad/iPhoneだとカメラアダプタ)のと、Bluetooth経由のアップデートは怖いし、そもそもファームウェアが古くてアプリから認識されなかったので、素直にパソコンでアップデートすることにしました。
※3:iPad/iPhone用にはB&O AR Experienceという仮想お試しアプリもあるので、購入前に自分の部屋にBang & Olufsenのスピーカー、ヘッドホン、テレビを置いてみることができます。ただしBeoplay A2は旧機種なのでARには入っていませんでした。

サウンドは素人の耳にもパソコンの内蔵スピーカとは全然違うことがわかります。
音量を下げてもバランスが崩れません。
最新のM1 iMacと勝負させてみたい気分です。

と、感慨に耽っていたところ、今日ちょうどBang & Olufsenから、ポータブルスピーカーの新製品が発表されました(リリース情報(英語)製品ページ(早速日本語あり))。
新製品Beosound Exploreは4.6cmスピーカー2個(ステレオかどうかは期待薄、Beoplay P6でもステレオという情報がないので)、IP67防塵防水の円筒型ボディー、US$199で、USオンライインストアでは今日、日本では5月24日から発売です。
私が探していたのとはちょっと違うので、なんとかギリギリセーフです。

なお、今後のB&Oの製品名は、Beosoundがスピーカー、Beoplayはヘッドフォンになるように思います。

[2021-06-05] 新製品はBeosound Explorer (エクスプローラー) ではなくてExplore (エクスプロア) ですね、訂正しました。

2021-05-05

Apple Silicon Mac上でIntel版Windows 10をインストールする手順(UTM app)

このブログではUTM appを使ってIntel版のWindowsを動かす話題を取り上げてきました。
もう一度言います、UTM appを使えば、Arm版のLinuxやWindowsだけでなく、Intel版のWindowsを動かすことができます。

今回はApple Silicon Mac上でIntel版Windows 10をクリーンインストールする方法です。
少しコツが必要でしたので、その手順を紹介します。
UTM appはLinuxの世界では有名なCPUエミュレータであるqemuを、macOSやiOS/iPadOSで簡単に使えるようにしたアプリで、ここ(App Store版、またはフリー版)から入手できます。

Apple Silicon MacBook Airの8 Coreを全て使えばIntel CPUの実機の1/2〜1/4くらいのパフォーマンスで動作します。
以前の検証では1/4〜1/8くらいのスピードしか出ず、実験程度にしか使えない状態でしたが、今回改めてWindows 10をクリーンインストールしたら俄然速くなりました。)

以下、Apple Silicon Mac上にIntel版Windowsをインストールする手順です。

  1. 準備物は3つ。
    UTM app(App Store版、またはフリー版をあらかじめインストール、現在のバージョンは2.0.27です)、
    Windows 10のインストーラISOファイル(わたしが試したのはWindows 10 version 2004 日本語版)、
    追加ドライバISOファイル(UTM appのサイトのもの)です。
  2. UTM appを起動します。
  3. + ボタンで新しいVMを作成し、以下の設定を行います。
    [Information] タブの [Name] でVMの名前をつけます(あとでも変えられます)。
    [System] タブの [Architecture] で [x86_64]、[Memory] を 4096MB(わたしは余裕を持たせて6GB)に指定、[Show Advanced Settings] をチェックして、[CPU Cores] で 8Coresを指定します。
    [Drives] タブで、[New Drive] ボタンを押して30GBのシステムディスクを作成します。さらに [Import Drive] ボタンを押してWindowsのISOファイルを指定します。再度 [Import Drive] ボタンを押してダウンロードしたspice-guest-toolsのISOファイルを指定します。3つとも [Interface] は [IDE] です。
    [Display] タブの [Emulated Display Card] に [vmware-svga] を選びます(vmware-svgaがいちばん安全と思います)。
    [Sound] タブの [Emulated Audio Card] に [Intel HD Audio Controller (ich9)] を指定します(デフォルトの [Intel 82801AA AC97 Audio] ではドライバが見つからないため)。
    以上を指定したら、[Save] ボタンを押します。
  4. 右三角ボタンで、作成したVMを起動し、Windows 10のインストールを行います。
    インストーラの中で2回のリブート(「ファイルのコピー」の後の「再起動します」のところと「準備しています」の後)がありますが、インストーラ中の自動再起動はうまくいかないので、画面が真っ黒になって、アクティビティモニタで見ていてCPUが約100%で一定になったら(処理中は300%とか500%とかの高負荷)、Windowsの表示ウィンドウのボタンで強制停止したのち起動させます。
    インストーラの最後の方でのシステム更新は、わたしはインストーラを早く終わらせたいので行わないです。
    ユーザの設定等の後、最後の「現在準備中です」のところで「予想よりも少し長くかかっています」と出ますが、無事完了して、Windows 10が起動すると思います。
    インストールは約1時間で終了します(実機に比べてそれほど遅くないですね)。
  5. 起動したWindows 10にログインします。
    最初は実機でも同様なのですが、デバイスの自動構成([QEMU USB Keyboard] など)やWindows UpdateやSearch Indexerが動くので負荷が高いです。
    いつも動いてしまうOneDriveは、わたしはタスクマネージャの [スタートアップ] タブで [停止] にしています。
    デバイスマネージャを見ると [PCIシンプル通信コントローラ] が警告状態になっていると思いますので、[ドライバの更新] で E: ドライブを指定してドライバをインストールします([VirtIO Serial Driver] (Red Hat, Inc.) がインストールされます)。
    それと、ライセンス認証を行います。
    システムが落ち着いてくると、30秒ほどで起動、1分で停止するようになりました。

むかしはWindowsのインストールといえば半日仕事でしたが、上記手順は2時間もあれば完了します。

Apple Silicon Mac上では、ParallelsもVMware Fusionも、もちろんBoot ChampもIntel Windowsへの対応の望みが薄い中、今UTM appは現実に動作する解です。
実行速度の不利さもM2 Macになればすぐに解決すると思います。
いかがでしょうか。

[2021-10-31] CPU Cores数の設定は、初期のM1では全コア数の最大の8がおすすめです。
M1では高性能コアが4つですがM1 PRO/MAXは高性能コアが8つなので結果はかなり違うと思います。
10に設定すると多少でしょうがさらに上がると思われます。

[English version of this post]

2021-05-02

私のMacBook AirのUS配列のキーボードをカスタマイズして、左端の一番の特等席をCtrlに

カスタマイズ後の私のM1 MacBook Airのキーボード

MacBook Air/ProのUS配列キーボードや、外付けコンパクトキーボード(テンキー無しキーボード)でどうしてもしっくり来ないのが、左下端のfnキーです。
この位置は、手探りでも間違いなく確実に押せるいちばんの特等席なのに、通常のタイピングでは全く使わないfnキーが置かれています。
ターミナルでのコマンド操作や、リモートデスクトップでのWindowsへの接続ではCtrlキーをよく使います。
この場所はWindows機でよくあるようにCtrlキーになっているべきです。
JIS配列(日本語配列)のキーボードの場合、Ctrlキーは文字Aの左(US配列でのCaps Lockの位置)にあってとても優遇されているのに比べると、ひどいものです。

MacBook Air(とMacBook Pro、それにテンキー無しの現行のMagic Keyboard)をよく見ると、都合の良いことに、fnキーとCtrlキーのサイズが同じなので、入れ替えられそうに見えます。
キーの手前の左右の角に精密ドライバを差し込んで、注意深く持ち上げてやると、パチンと爪が外れ、そのまま手前にずらすとキートップを取り外せます。
この要領で、MacBook AirのfnキーとCtrlキーを入れ替えたのが右の写真です(ちなみにMicrosoft Lensアプリで写真を長方形に綺麗に補正しました)。

最初はどことなく違和感を感じますが(どうでしょう、あなたは違いに気づきましたか?)、目はすぐに慣れますし、なによりCtrlキーの押しやすさに雲泥の差が出ます。

物理的にキートップを入れ替えただけではもちろん動作は変わりません。
キーカスタマイズアプリの定番、Karabiner Elementsを使って、キーを押した時に入力されるキーコードを入れ替えてやる必要があります。

【fnとCtrlを入れ替え】
設定は簡単で、2番目の画面のように、[Simple modifications] タブで、fnをleft_controlにお互いに入れ替えるだけです。
[Target device] のところは、規定値の [For all devices] でも良いのですが、他の外付けキーボードを接続した時のことも考えて、私は [Apple Internal Keyboard / Trackpad (Apple Inc.)] を指定しました(本体のキーボード以外ではこの入れ替えを実行しない)。

物理的なキートップの入れ替えまでやらないにしても、Karabiner ElementsのfnとCtrlの入れ替え設定は、Ctrlキーを多用するUS配列の方には是非とも試してみていただきたい設定です。


以下、長くなりますが、私がKarabiner Elementsで設定しているあと3つの便利な設定を紹介したいと思います。
いずれも [Complex modifications] で設定するものです。

【Ctrl+DeleteをDelに】
WindowsではBackspaceキーで左の一文字が削除、Delキーで右の一文字が削除されるので、カーソル位置の文字を消したい時に一発で行えてとても便利です(カーソルを消したい文字の右側に移動してから削除とやらなくて良い)。
もしかすると、それほど知られていないかもしれませんが、Macでは、fn+DeleteでWindowsのDelのように右側の一文字削除を行えます。
今回fnとCtrlを入れ替えたがために、fn+Deleteが押しにくくなってしまいました。
これをカバーするために、Ctrl+DeleteでもDelが実行されるようにしたいと思います。

この設定は Karabiner Elements にテンプレートとして用意されています。
[Complex modifications] の [Add rules] ボタンを押した後、
[Import more rules from the Internet (open a web browser)] を押し、
開いたブラウザの中で "backspace" を文字列検索し、見つかった [Map Ctrl+Backspace-Delete to Fn+Backward-Delete (suppr current character)] を
[Import] します。
すると一覧に [Map Ctrl+Backspace-Delete to Fn+Backward-Delete (suppr current character)] が表示されるので [Enable] します。

【Caps Lockキーで日本語英語入力切り替え、ただしリモートデスクトップでは何もしない】
US配列キーボードで日本語を入力するには、メニューで [あ] を選んでも良いのですが、M1 Macではfnキーに地球儀マークがありこのキーで切り替えることができます。
さらにキーボード環境設定の [入力ソース] タブの [Cpas LockキーでABC入力モードと切り替える] にチェックを入れると、Caps Lockキーを日本語英語切り替えに設定できます。
このCaps Lock設定を行うと、リモートデスクトップで接続先のOSに対して本来のCaps Lockキーが送信されなくなってしまい、とても不便です(WindowsでもCaps Lockキーを日本語英語切り替えに設定している場合には動作しなくなる)。
Karabiner Elementsを使うと、この悩みを解消することができます。

Karabiner Elementsの [Complex modifications] では、対象アプリを絞ったり、除外したりしてキー割り当てのカスタマイズを行うことができます。
テンプレートとして用意されていない設定は、設定ファイルを作成することで対応します。
フォルダ /Users/your_user_name/.config/karabiner/assets/complex_modifications に以下の内容のJSONテキストファイルを作成します。

{
  "title": "For Japanese",
  "rules": [
    {
      "description": "Caps_lock to Toggle ja/en unless RDC",
      "manipulators": [
        {
          "type": "basic",
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^com\\.microsoft\\.rdc\\.macos$"
              ]
            },
            {
              "type": "input_source_if",
              "input_sources": [
                {
                  "language": "ja"
                }
              ]
            }
          ],
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "japanese_eisuu"
            }
          ]
        },
        {
          "type": "basic",
          "conditions": [
            {
              "type": "frontmost_application_unless",
              "bundle_identifiers": [
                "^com\\.microsoft\\.rdc\\.macos$"
              ]
            },
            {
              "type": "input_source_if",
              "input_sources": [
                {
                  "language": "en"
                }
              ]
            }
          ],
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "japanese_kana"
            }
          ]
        }
      ]
    }
  ]
}

このJSONファイルを作成したのち、[complex modifications] の [Add rule] ボタンを押すと、一覧に [Caps_lock to Toggle ja/en unless RDC] が表示されるので、[Enable] します。

【リモートデスクトップの中では右CommandキーをApplicationキー(ポップアップメニュー表示)に】
Windows機でスペースバーの右の方にあるポップアップメニューのキー(正式にはApplicationキーと言う)は、わざわざマウスに持ち替えて右ボタンを押すのを省けてとても便利です。
Macのキーボードにはこのキーがないので右のCommandキーで代用したいと思います、ただしリモートデスクトップを使っている時だけ。

一つ前の設定と同様に、フォルダ /Users/your_user_name/.config/karabiner/assets/complex_modifications に以下の内容のJSONテキストファイルを作成します。

{
  "title": "Windows context menu",
  "rules": [
    {
      "description": "RDC right_command to context_menu",
      "manipulators": [
        {
          "type": "basic",
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\\.microsoft\\.rdc\\.macos$"
              ]
            }
          ],
          "from": {
            "key_code": "right_command"
          },
          "to": [
            {
              "key_code": "f10",
              "modifiers": [
                "shift"
              ]
            }
          ]
        }
      ]
    }
  ]
}

このJSONファイルを作成したのち、[Complex modifications] の [Add rule] ボタンを押すと、一覧に [RDC right_command to context_menu] が表示されるので、[Enable] します。