Xbox Series S|X の使い方と小技

Xbox Series S|X 良いです…!(3回目)

2022/10 現在 Xbox Series S が在庫もあり購入しやすくなっています。もしかすると初 Xbox という方もいらっしゃるかもしれません。ようこそ Jump In…!

というわけで、Xbox Series S|X の使い方と小技などを書いてみたいと思います。

以下、現時点の情報でアップデートで構成が変わったり翻訳が変更になるかもしれません。

ホーム画面

Xbox を起動すると最初にでる画面です。デフォルトでたくさんサブメニュー(コントローラの下を押すと切り替わる)があるので圧倒されるかもしれません。

画面一番上にはよく使うもののショートカットが自動に配置されます。

その下からがサブメニューになりますが、いったん使うものだけに絞ると分かりやすくなります。画面右下「カスタマイズ」に割り当てられているコントローラのボタンを押します。

Game Pass と Microsoft Store がゲームの導入で活躍しますので、ここではこれだけ残してほかは表示しないようにしておきます。(慣れてきたらいろいろ追加すると良いでしょう)

Xbox Game Pass

Xbox Game Pass な月額サブスクリプションサービスのメニューです。

初回月 100円なのでかなりお得です。「全てのゲームを見る」から現在導入可能なゲームが一覧できます。加入している人は要チェック…!

Microsoft Store

ゲームが買えるストアです。Xbox Series S の場合は光学メディアスロットがありませんので、Microsoft Store からゲームをダウンロード購入します。通年的に何かしらの「セール」をしていますので、覗いてみましょう。

検索文字列の入力がコントローラで大変という場合は、何かしらの USB キーボードを接続すると良いと思います。普通に動作します。

ゲームの購入は Xbox 本体だけでなく、ウェブ上の Microsoft Store (Xbox と同じ Microsoft アカウントでログインのこと)からも可能です。ただ検索機能がいまいちなので、、目的が見つからない場合は Xbox 本体から検索してみるといいかもです。。

https://www.xbox.com/ja-JP/games/all-games

なお、Xbox 本体で対応していないと思われる(例えば) PayPal 決済がウェブ上からだと通るといった謎の仕様も現在あるようです。(そのうち修正されるかも…)

ウェブ上で買ったゲームは Xbox 本体の Microsoft Store でみると「インストール可能」になりますので、ぽちっとします。

ぼくのゲームはどこ?

所有しているゲームを一覧したい場合は、コントローラの Xbox ボタン(以下しいたけボタン)を押して「マイコレクション」「全て表示」を押します。

本体に導入済みのゲームが一覧されます。

また、本体から削除しているけれど所有権を持っているゲームは「フルライブラリ」「所有しているゲーム」から見ることができます。

所有しているゲームはこの画面からいつでも本体に導入可能です。

ホーム画面にゲームを並べる

ゲームを名前付けしたグループに入れて整理することができます。

グループを新規作成し、ゲームにチェックして「追加」します。「追加」ボタンが右にあるのでご注意を。(よく忘れて前の画面に戻ってしまう)

作成したグループはホーム画面に追加できます。

ホームのカスタマイズ画面から「ホームにもっと追加する」

下を押していくと作成したグループが見えますので追加します。(なお、「ピン留め」はデフォルトで作成済みのグループです。また Quick Resume はシステムの特別なグループ扱いです)

追加…!

ホーム画面に追加した「DEAD OR ALIVE」 グループの例。

ホーム画面に追加した「アーケード」グループの例

便利ですね…!(眺めて悦に浸りましょう)

また、ホーム画面にはグループだけでなく、ゲームそのものも配置可能なものもあります。この場合は右にニュースなどがでますので、継続プレイのゲームは配置しておくと良いでしょう。

本体設定

本体設定は、しいたけボタンを押してでてくるサイドメニューの「プロフィールと設定」の設定から遷移するのが簡単です。

電源関連

起動した Xbox のシャットダウンを行うには、しいたけボタンを長押しします。

電源オフ時の挙動は設定「全般」「電源オプション」から指定できます。

電源オフ中にゲームのダウンロードを走らせたい場合は、「Xbox がオフの時、データ保存機能をオフにする」のチェックを外します。

なお、電源をオフにする方法で「シャットダウン」「スリープ」ともにダウンロードを走らせることができるとのこと。(自分はスリープにしているためシャットダウン時の動きは未検証)

ゲーム中にしいたけボタン

ゲーム中にしいたけボタンを押すと、いつでもサイドメニューが登場します。

別のゲームを起動するもよし、Microsoft Edge で攻略を検索するもよし。

また動画キャプチャーもここからできます。(スクショはコントローラのアップロードマークみたいな中央ボタンでいつでもできます)

別媒体への画像アップロードなどは「すべての共有オプションを表示」から。

ゲームを終わりたい

特に操作はありません。セーブされたことを確認したら、気持ち、しいたけボタンでホームに戻って電源をオフにすればいいかもです。またクイックレジューム対応のゲームは、再び起動すると元のシーンに戻ります。(完全に戻らないこともあるので、セーブは大切に…)

コントローラの電池の蓋が固くて全く開かない

どうやら少数の個体のようですが、電池の蓋が固くて全く開かない場合がありますw Xbox One のはすぐ開くのですが。。

Xbox ワイヤレス コントローラーで乾電池を使用する

コントローラーに電池を取り付けるには、片手でコントローラーを上下逆さまに持ちます。 反対の親指で、矢印記号のバッテリー ドアを押し、矢印が指す方向にドアを動かします。 ドアを取り外したら、電池をコンパートメント内に示されている方向に取り外すか挿入します。

見た目通りの開き方をしますが、中央にフックがありますので、「中央(矢印記号のバッテリードア)を “思いっきり” 内側に押し込みながら」「上にスライド」、、

上(スライド)方向に力を加える前に、いったん内側の電池方向にぐいぐい押し込んでフックを外してから上へスライドするのがポイントす。

ゴム手袋装着などで力を集めるのも良いかも?。。グッドラック。

不具合かな?

Xbox ステータスサイトを見ると吉。

https://support.xbox.com/ja-JP/xbox-live-status

ゲームも含めてコンポーネントごとの詳細な不具合情報が見れます。

個別の不具合の場合は、以下からチャット or 電話サポートを受けられます。ちなみに、オンライン決済などの部分で何度かお世話になっていますが、非常に丁寧に対応していただきました。

https://support.xbox.com/ja-JP/contact-us

故障かな?

Microsoft アカウントにデバイスとして Xbox がひも付きます。xbox.com などでサインインして自分のアカウントが見れます。

「デバイスを修理に出す」というのがありますのでここから修理のオーダーができそうです。(未経験)

ゲームを買ってポイントをもらう

Xbox でお使いの Microsoft アカウントで Microsoft Rewards にサインアップしておくと、Microsoft Store でのゲーム購入でポイントが付きます。

https://www.microsoft.com/ja-jp/rewards

ポイントを獲得できる手段が豊富 オンラインで検索、ショッピング、ゲームをするだけでポイントが貯まります

特に Xbox Live Gold = Xbox Game Pass に加入していると LEVEL 2+ ステージ(最大)扱いでゲーム購入時のポイントが大幅にあがりますのでお得かもです。溜まったポイントは Microsoft Store や Amazon のギフトカードに交換できます。

てなわけで Xbox を引き続き楽しんでいきたい…!


関連記事

Xbox Series S|X ヘッドセットの音量が小さい時 & Microsoft Edge の画面が小さい時

Xbox Series S|X 良いです…!Xbox 史上最高傑作のマシンではないかと思います。(XBOX を初代から買い続けたユーザより)

てなわけで 2022/10 現在のTIPS 的な設定を書きいておきます。(将来のバージョンでは改善されるかもしれません。また翻訳も変わるかもです)

Xbox Series S|X ヘッドセットの音量が小さい場合

Xbox コントローラー下部には有線のヘッドフォン・ヘッドセットが接続できます。

もしも、ヘッドセットが十分なボリュームで鳴らない場合は、ダッシュボードの次の部分から音量を上げてみてください。(自分は標準設定では予想の半分くらいしか鳴りませんでした)

しいたけボタンを押して、左サイドメニューの右下のスピーカーマーク。

「ヘッドセット音量」を上げる。

純正のワイヤードヘッドセットではこちらを最大にして、ヘッドセット側の右についてる大きなボリュームで調整すると良さそうです。お好みで。

ちなみに、設定のアクセサリーのハンバーガーメニューから「接続デバイス」からも遷移できますが、上の方法が簡単で早いかと思います。

Microsoft Edge の画面が小さい場合

Xbox Series S|X には Chromium ベースの Microsoft Edge が入っていますが、なぜか初期状態であるとフルサイズ・フルスクリーンで起動しません。

周りに謎の黒枠があってもったいない図。狭い。

修正後: 黒枠がなくなり広くなった図。

これで違和感なくウェブ版の Office 使えますね。

ちなみにこの Xbox 版 Microsoft Edge は PC 版の Microsoft Edge のバージョンと同期していて(ソースツリーを共有していると思います)、WebAssembly なども動作する本格的なウェブブラウザーです。

以下の設定でフル画面にすることができます。

設定 – 「テレビとディスプレイのオプション」

「ビデオ再現度とオーバースキャン」 (!?)

「アプリに境界線を追加」のチェックを外す。(分かるか〜w

別の影響がでるアプリ(UWP) があるかもしれませんので不具合あったら戻しましょう。

以上、細かすぎて分からない Xbox Series S|X の TIPS でした。

最後に、Xbox Series S|X の下位互換機能で遊べるおすすめゲームを紹介して終わろうと思います。

パンツァードラグーンオルタ

初代 XBOX より「パンツァードラグーンオルタ」(通常時 1080円)

パンツァードラグーン オルタ

SEGA • アクション & アドベンチャー • クラシック • レーシング & フライト • シューティング

セガの名作。Xbox Series S|X 下位互換機能によりアップスケールされ、初代 XBOX 版が 16:9 に対応していることもあり、現在でも全く違和感のないキレイなグラフィックが堪能できます。

NVIDIA!という感じの絵をだすパンツァードラグーンオルタ:(初代 XBOX

ゲームも大変よくできていて今やっても相当面白いです。お安いので未プレイの方はぜひ。

DEAD OR ALIVE シリーズ

格闘ゲーム DEAD OR ALIVE シリーズ。XBOX といえばこのゲームという方も多いかも。なんと Xbox では下位互換で DOA ナンバリングシリーズが全部遊べるようになっています。タスカルラスカル。ありがとー!

xbox.com 本家のソフトウェア検索がいけてなくてなかなか出てこないので、リンク集を作成しておきます。

初代 XBOX 系の DOA は下位互換機能で非常にキレイにアップスケールされています。綺麗すぎでは。

ちなみに発売日的な時系列では 3 より 2U(2 のリメイク) のほうが後で、遊べる要素が多い(コスが多いともいう)ので現在のお勧めは DOA2U でしょうか…!

DEAD OR ALIVE 2 Ultimate (初代 XBOX):

XBOX 360 からは DEAD OR ALIVE 4 が参戦。こちらは残念ながらアップスケールはされず画素は 720p のままのようですが、ポリゴン数増加や物理演算などの進化が見られます。

DEAD OR ALIVE 4 (XBOX 360):


… Xbox Series S|X 良い。(2回目)

WebAssembly で動作する FM 音源ライブラリー libymfm.wasm

去年くらいからつくりはじめていた、libymfm.wasm ですが、GitHub のリポジトリーにコミットするだけで、ブログにあまりあれこれ書いていませんでした…!(ので書いてみます)

libymfm.wasm は WebAssembly 上で動作する(主に) FM 音源シンセサイザーをエミュレートして PCM を生成するライブラリーです。ゲームなどのプログラムへの組み込みを考えて作成されました。

https://github.com/h1romas4/libymfm.wasm

This repository is an experimental WebAssembly build of the [ymfm](https://github.com/aaronsgiles/ymfm) Yamaha FM sound cores library.

FM 音源エミュレータコアとしては、多目的エミュレーションフレームワーク MAME の新 YAMAHA FM 音源エミュレーションコアを由来とする C++ でかかれた ymfm を使わせて頂いています。

ymfm の作者は MAME の中の人のアーロンさんで、元々 MAME 内での実装だった新 YAMAHA FM 音源コアを 3rdparty ライブラリー化したのが ymfm となります。

従来の MAME の FM 音源エミュレーションコアは YM2151 や YM2203、YM2612 などなど別チップは別エミュレーションの実装となっていましたが、機能差分以外は同じ回路が使われているのではないかという仮説から、 decap 解析などとの比較を経て完成したライブラリーです。ということで、ymfm は多くの YM 系のチップをそのひとつでサポートしています。

さて、表題の libymfm.wasm ですが、ymfm を使いながら、Rust でかかれた次のような実装を加えています。

VGM/XGM 形式のシーケンサーを搭載

VGM/XGM 形式の演奏形式をサポートしています。ファイルを渡すだけで発音可能です。

VGM はサポートしているサウンドチップのみ、またデーターブロックの圧縮が未サポートなどフル実装ではありません。XGM は PCM に不具合ありで修正予定です。 (多くのデータでテストはされていませんが修正済み)

サンプリングレートコンバート

各サウンドチップが出力するネイティブサンプリングレートはまちまちなので(YM2151 が 3.58MHz 動作で 55.9kHz 等々特殊です)、扱いやすいように指定したサンプリングレートにアップ、ダウンサンプリングで統一して PCM 出力します。

クロックの制御

ライブラリーに、出力サンプリングレートに対して何サンプル分の PCM が欲しいのか(時間をどれくらい進めるのか)を指定できます。これはゲーム組み込み用などで、1フレーム分のサンプルが欲しいケースや、バッファリング再生したい時に便利です。

WebAssembly 向けのインターフェース関数

ハイレベルインターフェースとして vgmplay xgmplay 関数、ローレベルインターフェースとして各サウンドチップに直接レジスターライトして、結果を任意のサンプリングレートとフレーム数で PCM 取得できます。

追加のサウンドチップ

ymfm サポート以外のサウンドチップも MAME からの移植でいくつか実装。主にメガドライブ、セガアーケード、X68K 構成を想定したチョイスです。

ライセンス

ymfm や追加音源、libymfm.wasm 全て BSD ライセンスになっています。


WebAssembly ライブラリー形式となっていますので、同一 .wasm シングルバイナリー(3MB 程度です)で Wasmer などの各言語向け WebAssembly バインディングを使うことで、ほとんどの OS、コンピュータ言語からコールして容易に使うことができます。 .wasm ファイルひとつで全環境動くので扱いやすいです。もちろんウェブブラウザーでも…!

リポジトリには Python からコールする例を入れています。リンク先の手順ですぐ発音すると思いますので、良ければ遊んでみてください〜。

VGM/XGM 再生

関数に VGM/XGM ファイルを与えると指定したチャンクサイズで PCM を取得できます。

sample_vgmplay.py 抜粋

# Output sampling rate settings
SAMPLING_RATE = 44100
SAMPLING_CHUNK_SIZE = 4096

# ...snip...

# Create Wasm instance
chip_stream = ChipStream()

# Setup VGM
header, gd3 = chip_stream.create_vgm_instance(VGM_INDEX, "./vgm/ym2612.vgm", SAMPLING_RATE, SAMPLING_CHUNK_SIZE)
# Print VGM meta
print(header)
print(gd3)

# Play
while chip_stream.vgm_play(VGM_INDEX) == 0:
    # Get sampling referance
    s16le = chip_stream.vgm_get_sampling_ref(VGM_INDEX)
    # Sounds
    sample = pygame.mixer.Sound(buffer=s16le)
    pygame.mixer.Sound.play(sample)
    # Wait pygame mixer
    while pygame.mixer.get_busy() == True:
        pass

サウンドチップダイレクトコール

以下の例は あぶり6800 さんの Z80 MSX サウンドドライバー(1/60 tick) の Python によるシミュレートで、YM2149 の SSG を発音させています。

ソースコードでは YM2149 ひとつを扱っていますが、サウンドスロットにぽこぽこ複数の音源を追加してレジスターライトして PCM を取得できるイメージです。

前述の vgmplay(xgmplay) で使っているインターフェースは全て Wasm 側にも公開しているので、PCM ROM がある音源の操作も含め、原理的には自前で vgmplay をかけるスペックになっています。

sample_direct.py 抜粋

# Create Wasm instance
chip_stream = ChipStream()

# Setup sound slot
chip_stream.sound_slot_create(SOUND_SLOT_INDEX, SOUND_DRIVER_TICK_RATE, SAMPLING_RATE, SAMPLING_CHUNK_SIZE)

# Add "one" YM2149 sound chip in sound slot
chip_stream.sound_slot_add_sound_device(SOUND_SLOT_INDEX, SoundChipType.YM2149, 1, YM2149_CLOCK)

# YM2149 initialize (write reg: 0x7, data: 0b10111000)
mixing = 0b10111000
chip_stream.sound_slot_write(SOUND_SLOT_INDEX, SoundChipType.YM2149, 0, 0x7, mixing)

# ...snip...

# Write YM2149
chip_stream.sound_slot_write(SOUND_SLOT_INDEX, SoundChipType.YM2149, 0, track + 0x8, volume)

さて、libymfm.wasm のプログラム部分についてですが、Rust でかいており、C/C++ の ymfm を wasi-sdk でビルドした上で、Rust の wasm32-wasi とリンクする形でビルドしています。

このことから、.wasm は WASI の形になっています。(とはいえ、現在のところは WASI の機能はほとんど使っていません。一部、YM2608 の ROM ファイル読み込みで機能しています)

ウェブブラウザーインターフェースでは、WASI をブラウザー上で動作させるため、wasmer-js を使い、WASI バインディング関数をシミュレートして動作させています。

ウェブブラウザーインターフェースは次のリンクから試すことができ、演奏ファイルのドラッグアンドドロップ(複数可能)で楽曲が再生されるはずです。(画面クリックでもデモ曲が演奏されます)

https://chipstream.netlify.app

libymfm.wasm とは直接関係ありませんが、ウェブブラウザーの JavaScript の実装的には AudioWorklet と Woker と SharedArrayBuffer を使った音声出力の実装になっています。

iOS/macOS の Safari は現時点で SharedArrayBuffer に対応しているものの、どうも SharedArrayBuffer の notify がうまく飛ばないようで発音しません。どうやら AudioWorklet に渡された際に共有ではなくコピーになるようです。Safari 16 で修正されそうです(SharedArrayBuffer posted to AudioWorkletProcessor is not actually shared with the main thread

(2022/8 追記。Safari Technology Preview 149 で修正されているのを確認しました)

Windows/macOS/Linux の各ブラウザーで音切れしないように確認しながらつくっていますが、まだだめな環境があるかもです。。結構苦戦しました。。ちなみに手元の環境では、Linux の Firefox が一番素直に動作するようです。

てなわけで、みなさまのアプリに組み込みが容易になっている libymfm.wasm の紹介でした。新作ゲームに FM 音源ミュージックのリアルタイム再生など、いかがでしょうか…!

JavaScript、Python のサンプル実装含めてソースコードは、GitHub にコミットしてありますので、良ければ見てみてください。

https://github.com/h1romas4/libymfm.wasm

This repository is an experimental WebAssembly build of the [ymfm](https://github.com/aaronsgiles/ymfm) Yamaha FM sound cores library.

時折あるアップデート通知は https://twitter.com/h1romas4 のツイッターにて〜 😀

関連