Android端末をApple TV化!「AirReceiver」

Appleデバイスはミラーリングの規格として「AirPlay」を採用しています。これはApple独自のものなので、他のメーカーの製品は対応していません。 ミラーリングを受信するには、AnyCastというものを使うか、Apple TVを使うか、Macをレシーバーモードで動作させるしかありません。 しかしApple TVはミラーリングのために買うだけとしてはちょっと高いです。レシーバーだけ出してほしい・・・。Macもそうそうあるわけでもなさそうです。 でもなんと、「AirReceiver」というアプリをAndroid端末に入れれば、ミラーリングを受信できてしまいます。早速試してみましょう。 ...

4月 1, 2023 · CyberRex

3DSをワイヤレススピーカーにしよう!PCから好きな音楽を再生

3DSのニンテンドーeショップでの販売が今日ちょうど終了しました。 ハードも発売から10年以上が経過していて今では過去の仲間入り。 そんな3DSをワイヤレススピーカー化してみようと思います。 まず、前提条件として改造済み3DSが必要です。 PCはWindowsでもLinuxでもmacOSでも多分OKです。 〜検証環境〜 PC: MacBook Air (2022, M2), macOS Monterey 3DS: 3DS LL, 11.16.0-48J 何が必要? 最初は自作アプリでPCMあたりで直接やり取りしようと考えていたんですが、低レベルな層にアクセスしてごにょごにょできるのがC++しかないみたいなので諦めました。 そして思いついたのが音楽プレイヤーの「LimePlayer3DS」にインターネットラジオを聴く機能があったことです。 これを使えばストリーミングができると思ったので、今回は配信サーバー Icecast とDJソフト Mixxx を用意します。 「なぜDJソフト?」と言われると、GUIでまともそうなのがこれしかなかったからです。他にも、本来ならFFmpegから直接Icecastに流すことができるんですが、自分の検証環境のmacOSのFFmpegだと音声入力がブチブチ途切れるという問題が発生していました。Mixxxは音声入力の垂れ流しに対応しているので心配無用です。 今回はこういう構成になります。 Icecastをインストール・設定 Icecastは、公式サイトから入手できます。 https://icecast.org/download/ また、OSのパッケージとして配布されている場合もあります。Ubuntuだと icecast2 で提供されていると思います。macOSのHomebrewでは icecast のようです。 インストールできたら icecast.xml という設定ファイルを開きます。macOSはHomebrew経由で入れた場合は /opt/homebrew/etc/icecast.xml、Linuxは /etc/icecast.xml にあると思います。 開いたら、<hostname>localhost</hostname> という行を探します。見つけたら、値を PCのローカルIPアドレス に置き換えます。 さらに下にあるbind-addressのコメントアウト (<!-- --> の囲み)を解除して、値を同じくPCのローカルIPアドレスで置き換えます。 そしてさらにその下にこれを書き加えます。localhostでも繋がるようにします。 <listen-socket> <port>8000</port> <bind-address>127.0.0.1</bind-address> </listen-socket> これで設定ファイルの編集はできました。 Icecastはすでに立ち上がっているので再起動しておきます。 最後に3DS側で読み込ませるファイルを作成します。適当にmainとか何でもいいのでファイル名を決めて、拡張子を .m3u にします。 エディタで以下の内容を入力して保存します。 http://PCのローカルIPアドレス:8000/main このファイルは3DSのSDカードにコピーしておきます。ルート階層に投げるだけでもいいです。 Mixxxをインストール・設定 次は音楽プレイヤー代わりのDJソフトを入れます。 https://mixxx.org/download/ からインストーラーをダウンロードします。 Ubuntuなどはリポジトリが用意されているみたいなので確認しておくといいかもしれません。 インストールして起動したら、最初に音楽フォルダを選ぶように求められると思います。自分は選びましたがキャンセルしてもいいと思います。 先に進むとこのような画面が現れます。いかにもDJソフトって感じで様々なボタンがあります。ワケワカメですね。 上部のメニューバーから設定を開いて、左側のリストから「ライブ放送」を選択します。それから右側に入力していきます。...

3月 28, 2023 · CyberRex

macOSでウマ娘がやりたかった。

やはりどんなデバイスでもゲームは楽しみたいものです。 自分はたまにウマ娘で遊ぶのですが、PCが非力だったのでスマホで遊んでいました。 ですが今回高性能なApple Siliconを搭載したMacBook Airを購入したので、Macで遊べたらいいなぁと思いました。 そもそもMacに対応してなかった これは衝撃的でした。まさかMacに対応していないなんて・・・! ゲームエンジンはUnityらしいのでビルド楽なんじゃないか?と思ったんですけど、何かの理由でうまくいかないんだと思います。 ならば別な方法で!と、いろいろ探してみることにしました。 試したこと App Storeで探す Apple Siliconを搭載したMacは、iOS/iPadOS用のアプリが動きます。 これでいけるのでは?と思い、App Storeを検索。 ありませんでした。 互換性が取れないんでしょうね… Androidエミュレータで遊ぶ ならば次はAndroidエミュレータです。 Apple SiliconのCPUアーキテクチャはARMで、ちょうどスマホで使われているのと同じなので、エミュレータといえども高速に動作できます。 これならばできるかもしれないと思い、早速試すことに。 今回はGoogleが用意しているエミュレータを使うので、Android Studio公式サイトから下ろしてインストールして、起動します。 ようこそ画面が表示されるので、下の方にある「More Actions」から「Virtual Device Manager」をクリックします。 そうすると、最初から仮想マシンが用意されているのが分かりますが、これは現在開発中のAndroid 13ベースのものなので一旦消します。(▼をクリックして「Delete」) 改めて作り直します。 「Create device」をクリックして、ベースにしたい端末モデルを選びます。ここでは16:9の画面が欲しいので「Pixel 2」を選びました。 次にイメージの選択をします。「S」を選びます。これはAndroid 12を指します。「Sv2」はタブレット向けのAndroid 12Lなので注意してください。アーキテクチャも「x86_64」だと激重になるので、「arm64」のものを選んでください。 次に仮想マシンの設定をします。ゲームが動作するためには少なくとも4GBのメモリが必要なので、RAMのところは4096MB以上の値を入力します。Internal Storageは10GB以上を指定します。 設定し終わったら右下の「Finish」をクリックします。 しばらくするとデバイスのリストに現れます。ダブルクリックするか、「▶︎」をクリックして起動します。 さて、Playストアから・・・としたいのですが、arm64イメージにはPlayストアが入っていません。謎です。 ということでADBを使って無理やりインストールします。 元からAndroidスマホでプレイしていた場合は、Apk Extractorなどを使って抽出し、APKを用意します。 そして、brewでandroid-platform-toolsをインストールしてから、adb install [APKへのパス] を実行してインストールします。 アプリ一覧を開くと「ウマ娘」がインストールされていることが確認できました。早速起動してみます。 あれ?背景の動画が再生されない・・・? この後チュートリアルなどを進めて様子を見ていきましたが、3Dモデルの表示にはごくまれに乱れが生じるものの、クラッシュなどは発生しませんでした。 ライブも大画面で見れます。 ライブ再生時CPU使用率は110%、GPU使用率は45%〜50%に留まりました。チップの温度は50度〜65度でした。 もともとスマートフォン版ウマ娘はスマホのプロセッサの性能を超えない範囲内で動作できるよう、さまざまなチューニングが施されているのでApple Siliconでも動くと思われます。 免責事項 実機ではなくてエミュレータで動かしているので、当然ながら開発元が把握しないバグが発生するかもしれません。(してました) 自己責任でお楽しみください!

8月 8, 2022 · CyberRex

M2 MacBook Air レビュー

この記事を執筆した時点では発売されてからまだ2週間程度しか経っていないM2 MacBook Airを購入しました! せっかくなのでと、レビューを残そうと思いこの記事を作成しました。 やはり最初に紹介すべき特徴は、心臓部の性能が向上したことです。 M1からM2になり、前世代より18%性能が上がったとしています。 GPUも7コアから8コアに増えて性能が上がりました。それだけでなく、M1 Pro/MaxにしかなかったMedia Engineとよばれるものが搭載されて、ProResなどの重量級の映像コーデックを使った動画が格段に扱いやすくなりました。動画再生でも役に立ちます。 メモリも24GBまで積めるようになり、規格もM1 Pro/Maxと同じLPDDR5になりました。 今回購入したM2 MacBook Airの構成は以下の通りです。 SoC Apple M2 (2022) CPU 8コア GPU 8コア RAM 16GB ストレージ 1TB SSD 今まで使ってきたSurface Pro 5は、3分の1の性能しかなく発熱も多めでした。果たしてM2 MacBook Airはどのぐらい発熱するのか、そこら辺も取り上げていきたいと思います。 注文から到着まで M2 MacBook Airは、7月14日の午後に購入しました。 その後の流れはこんな感じになりました。 7月14日 ステータスが「処理中」になる (その後、17日間ステータスの変化なし) 7月31日 ステータスが「配送準備中」になる 8月1日 工場から出荷され、ステータスが「出荷完了」になる(DHL上海から出発) 8月3日 午前10時: 東京に到着。税関手続きへ 午後1時前: 税関手続き完了。配送準備へ 8月4日 午前1時: 搬送処理 午前3時: DHL東京からDHL成田へ搬送 午前7時前: DHL成田に到着 午前11時前: 佐川急便へ委託、配送開始 8月5日 午後0時過ぎ: 到着 注文から到着まで 22日 かかりました。ネットショッピングでもこんなに時間かかったことがありません。友人によるとカスタマイズしたら平気でこの日数はかかるらしいです。 開封からセットアップまで いよいよ開封していきます。 まず、輸送に使われた箱はこれです。DHLの箱が使われています。 これを開けると、MacBook Airの箱が入っています。これを取り出します。 さらにこの箱を開けます。ちなみにAppleの箱はどの製品でも共通らしくて、フタを持ち上げるとゆっくり開きます。...

8月 7, 2022 · CyberRex

macOS MontereyでBluetoothの機能が縮小されている件

macOSって結構Bluetooth周りの機能がまぁまぁ良いって思ってたんですけど・・・。 Bluetooth Explorerが動かない 事の発端は、Bluetooth Explorerを使って、繋いでいるワイヤレスイヤホンが何のコーデックを使っているか調べようとしたときです。 Bluetooth ExplorerはXCode 11.5に付属しているユーティリティで、アダプタやデバイスの細かい情報が見れるものです。 自分が調べた時はM1 Macでも使えると書かれていたのでインストールしたのですが、なぜか動きません。何ならエラーメッセージが表示されるんです。 「これもしかしてM2からダメになった?」と疑いながら調べると、macOSのバージョンが関係しているようです。 Enabling AAC (Terminal or Bluetooth Explorer) on Monterey このページを見ると、同じようにMontereyでBluetooth Explorerが使えないと言ってる人がいました。 Big Surでは使えていたようなので、何かAPIに変更が入ったのかもしれません。 MontereyでBluetoothイヤホンで使われているコーデックを確認する方法 Redditにあった質問の回答では、次の方法で確認できると言われています。 ワイヤレスイヤホンとの接続を解除する 「コンソール」を開く 右上の検索バーで「codec」と検索する 画面中央にある「ストリーミングを開始」をクリック Macとワイヤレスイヤホンを繋ぐ ここまでやるとコンソールに「codec」で引っかかるログが流れてきます。 この中から A2DP Configured at...で始まるログを探します。 その実際のログがこれです。 A2DP configured at 44.1 KHz. Codec: AAC-LC, VBR max: 256 kbps. 1 frames * (12+744) bytes = 756 per RTP (max=988) every 23.22 ms これはソニーのWF-C500を繋いだときのログで、コーデックはAAC、ビットレートは可変(VBR)で256kbpsに設定されていることが分かりました。 こっそりaptXのサポートが削除されている Twitterで「Montereyにアップデートしたら遅延が大きくなった」「MontereyにしたらaptXで繋がらなくなった」という声を聴きました。 実際に確かめるべく、PulseAudioを改造してLDACやaptXに対応させたPCをクライアントモードにして、繋いでみると… bluetooth.a2dp_codec = "AAC" やはりAACで繋がりました。aptXはサポートされなくなったようです。 確かにAACは音質がいいです。aptXはQualcommとのライセンスが必要みたいで、シェアが減るなか、不要と判断されたのでしょうか。

8月 7, 2022 · CyberRex