Steam Controllerのトラックパッドがスピーカーに?ハプティクスで16bit音声を再生する改造が登場【2026年8月】
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
『Portal 2』の楽曲を判別できる音がスピーカーなしのコントローラーから鳴る
出典:Pixel1011氏「SteamHapticsPlayer」GitHubリポジトリ(Pixel1011/SteamHapticsPlayer)・海外専門メディア(Modder turns Steam Controller trackpad haptics into stereo speakers with custom HID tool)
ゲームコントローラーの振動機能といえば、爆発や衝撃を体感するための補助機能というイメージが一般的です。ところが第2世代Steam Controllerでは、この振動用のハプティクスだけを使って音楽そのものを再生するという、本来の用途から大きく外れた改造プロジェクトが話題になっています。
開発者Pixel1011氏が公開している「Steam Haptics Player」は、Steam Controllerのファームウェアを解析し、ハプティックアクチュエーターへ生のPCM音声データを直接送信することで音を鳴らす非公式ツールです。有線接続時は16bit・8kHzのステレオ音声に対応し、『Portal 2』のエンディング曲を判別できるレベルの音質を実現しています。
スピーカーを持たないコントローラーがなぜ音楽を再生できるのか、その仕組みと、有線・ワイヤレスで音質に大きな差が出る技術的な理由を、開発者本人のリリースノートと海外専門メディアの報道をもとに整理します。
目次
要点まず何が起きたか
開発者Pixel1011氏が公開する非公式ツール「Steam Haptics Player」を使うと、スピーカーを搭載していない第2世代Steam Controllerのトラックパッド下にあるハプティックアクチュエーターから音楽を再生できます。最新版は有線USB接続時に16bit・8kHzのステレオPCM音声に対応し、ワイヤレス接続用のPuckでは8bit・8kHzのμ-law圧縮音声を使用します。GitHub上のプロジェクトで無料公開されており、Windows・Linux両対応です。
仕組みスピーカーがないのに音が鳴る理由
第2世代Steam Controllerには一般的なスピーカーが搭載されていません。音を鳴らしている正体は、左右のトラックパッド裏などに組み込まれたリニア共振アクチュエーター(ハプティックモーター)です。ハプティクスはゲーム内の操作や振動を伝えるための機構で、Steam Controllerではトラックパッドのクリック感やスクロール感を再現するためにも使われています。
音も空気の振動である以上、アクチュエーターを一定の周波数で高速に振動させれば、その振動が空気や本体の筐体へ伝わり音として聞こえます。Pixel1011氏はSteam Controllerのファームウェアをリバースエンジニアリングし、Valveが公式には公開していないHID(Human Interface Device)コマンドの中に、ハプティクスへ生のオーディオデータに近い情報を連続的に送信できる仕組みがあることを発見しました。Steam Haptics PlayerはFFmpegで音源をPCMストリームへ変換し、それをHID経由でSteam Controllerへ送信することで、通常のゲーム用フィードバックではなく音声再生に転用しています。Steam Inputのような高レベルAPIを経由せず、ハプティクスへ直接データを送り込む方式のため、Steam Controllerを通常のUSBオーディオ機器として認識させているわけではありません。
音質有線16bit・8kHzとワイヤレスの差
Steam Haptics PlayerはGitHub上のリリースノートで、有線接続時に「16bit 8khz audio on wired」の対応が追加されたことを明記しています。ここで注意したいのは、16bit対応だからといって音楽CD並みの高音質という意味ではない点です。一般的な音楽CDは16bit・44.1kHzですが、Steam Controllerの場合はビット深度こそ16bitあるものの、サンプリング周波数は8kHzしかありません。サンプリング周波数が8kHzの場合、理論上扱える音の上限はおよそ4kHzで、人間の可聴域(およそ20Hz〜20kHz)と比べると高音域は大きくカットされます。
それでもメロディーや人の声を聞き取るには十分な情報量で、Pixel1011氏が公開したデモでは『Portal 2』のエンディング曲「Want You Gone」がSteam Controllerから流れていることをはっきり確認できます。海外専門メディアも、専用スピーカーではないにもかかわらず十分に音楽として認識できる仕上がりだと伝えています。
一方でワイヤレス接続用のPuck経由では音質が明確に低下し、有線接続の16bit・8kHz PCMに対し、Puckでは8bit・8kHzのμ-law圧縮方式が使われています。μ-lawは音声通信で使われてきた圧縮方式で、限られたビット数でも人の声を比較的効率よく表現できます。それでもPuckは本来音声ストリーミング用に設計された通信機器ではないため転送が完全には安定せず、パケットロストによるポップノイズや音切れが発生することがあります。開発者本人もドキュメント上で、有線接続の方が通常はクリーンな音になると説明しています。
帯域なぜ有線とワイヤレスで音質が変わるのか
16bitと8kHzはそれぞれ別の意味を持つ数値です。16bitは1回のサンプリングで音の大きさをどれだけ細かく記録するかを示す量子化ビット数、8kHzは1秒間に何回音を記録・再現するかを示すサンプリング周波数です。Steam ControllerのハプティクスやHID通信はもともと音楽ストリーミング用に設計された経路ではないため、送り続けられるデータ量には上限があります。
Steam Controllerのプロトコル解析を行うコミュニティプロジェクト「sc2-research」の資料では、有線USB接続時のポーリングレートが1kHzであるのに対し、ワイヤレス用Puckのポーリングレートは約500Hzにとどまり、この帯域では16bit・8kHzのステレオPCMをそのまま転送しきれないと分析されています。Steam Haptics Playerの開発者もリリースノートで、この帯域分析を手がけたユーザーiczero氏への謝辞を明記しており、有線でのみ16bit化を実現し、Puck側はデータ量の少ないμ-law圧縮へ切り替えるという設計は、この帯域制約を踏まえた判断だとわかります。
立体音響左右のアクチュエーターでステレオ再生
今回の仕組みが単なる「ビープ音を鳴らす改造」と異なるのは、左右のチャンネルを分けてステレオ再生できる点です。Steam Controllerには左トラックパッド・右トラックパッド・内部の左右ランブル用の合計4基のリニア共振アクチュエーターが搭載されており、Steam Haptics Playerは音源の左右チャンネルを主に左右のトラックパッド側ハプティクスへ振り分けます。単一の振動モーターからモノラル音声を鳴らすのではなく、小さなステレオ再生装置のような状態になる仕組みです。
また、GitHub上のドキュメントでは、Steam Controllerを立てた状態で硬い物へ押し付けると音が大きくなる使い方も紹介されています。これはSteam Controller自体の振動が接触面へ伝わり、面全体が共振して音量が増すためで、小さな振動子を板へ取り付けて面全体を鳴らす「エキサイター型スピーカー」に近い現象です。
きっかけWilhelm screamの隠し要素がヒントに
Steam Controllerのハプティクスから音が出ること自体は、今回のプロジェクトで初めて分かったわけではありません。第2世代Steam Controllerが発売された直後から、コントローラーを柔らかい物へ落とした際に有名な効果音「Wilhelm scream」のような音がハプティクスから鳴る隠し要素が複数のユーザーによって確認されていました。クールダウンが設けられており連発はできないものの、Valve自身がハプティクスを単純な振動以上の用途に使えるよう設計していたことを示す実例です。
海外専門メディアの報道では、このWilhelm screamの隠し要素が公開された発見が、ハプティックハードウェアで単純な振動以上の音を作れることを示す手がかりとなり、Pixel1011氏が任意の音声データまで再生できないかとファームウェアの調査を始めるきっかけになったと伝えられています。Steam Haptics Playerは、Valveが仕込んだ固定の効果音を再現するのではなく、任意のPCM音声を連続的にストリーミングできるところまで踏み込んだプロジェクトといえます。
別方式MIDIを鳴らすSteamHapticsSingerも存在
Steam Controllerのハプティクスを音源として使う試みはSteam Haptics Playerだけではありません。CrazyCritic89氏が公開している「SteamHapticsSinger」は、MIDIデータを使ってハプティクスから音を鳴らすプロジェクトで、2026年モデルではトラックパッドだけでなく内部のランブル用ハプティクスにも対応しています。Steam Haptics PlayerのREADMEでは、このSteamHapticsSingerを直接のインスピレーション元として明記しており、曲によってはSteamHapticsSingerの方が良く聞こえる場合もあるとされています。
生のPCM音声をそのまま再現しようとすると8kHzという帯域制限が音質に直結しますが、MIDIは「どの高さの音をどれくらいの長さ鳴らすか」という情報だけをもとにハプティクスを制御できるため、帯域の制約を受けにくいという特性があります。一般的な音楽ファイルをそのまま再生できる汎用性ではSteam Haptics Playerに分がありますが、ハプティクスを楽器のように扱う方向性としてはMIDI方式にも独自の面白さがあります。
試し方試すには何が必要か
- 対応機種は「Steam Controller(2026)」のみです。旧世代のSteam Controllerや他社製ゲームパッドはサポートされていません。
- GitHub上のSteamHapticsPlayerのリポジトリから実行ファイルをダウンロードします。WindowsとLinuxの両方に対応しています。
- 音声変換にFFmpegを使用するため、事前にインストールしておく必要があります。Windowsであればwingetでのインストール手順がGitHub上で案内されています。
- Windowsでは音声ファイルを実行ファイルへドラッグ&ドロップするか、PowerShellから直接コマンドを実行して再生します。Linuxではhidapiライブラリも別途必要です。
- 音質を優先するなら、まずUSB有線接続を試すのが現実的です。ワイヤレス用Puckはノイズや音切れが発生しやすくなります。
注意実用スピーカーとして使うものではない
- スピーカーを持たないコントローラーからステレオ音声を鳴らせる、Valveも想定していなかったであろう活用法
- FFmpegを使えば手持ちの音声ファイルを特別な変換作業なしにそのまま試せる
- Windows・Linux両対応で、無料のオープンソースツールとして誰でも試せる
- 使用しているHIDコマンドはValveが公式に公開している音声再生APIではなく、非公式な解析にもとづくもの
- 長時間の連続再生がハプティックモーターの寿命やバッテリーへどの程度影響するかは分かっていない
- 8kHzという帯域の制約上、一般的なスピーカーやヘッドホンの代わりになる音質ではない
総括まとめ|ハプティクスは「振動専用」ではなくなりつつある
第2世代Steam Controllerでは、トラックパッドなどのハプティクスを利用して音楽を再生する非公式ツール「Steam Haptics Player」が公開されています。開発者Pixel1011氏がファームウェアとHID通信を解析し、生のPCM音声データをハプティクスへ直接ストリーミングする仕組みを実現しました。有線USB接続なら16bit・8kHzのステレオ音声に対応する一方、ワイヤレス用Puckでは通信帯域の制約から8bit・8kHzのμ-law圧縮となり、ノイズや音切れが発生しやすくなります。
8kHzという帯域は一般的なスピーカーと比べれば大幅に見劣りしますが、『Portal 2』の楽曲を判別できるほどの音声を、スピーカーを搭載していないゲームコントローラーから鳴らせるという事実は驚きです。実用的なオーディオ機能というより、Valveが操作感を作るために搭載したハードウェアを、コミュニティがまったく別の用途へ転用した技術デモとして楽しむのが実態に近いでしょう。
非公式ツール「Steam Haptics Player」は、第2世代Steam Controllerの振動用ハプティクスへ生のPCM音声を直接ストリーミングして音楽を再生する。有線接続なら16bit・8kHzステレオ、ワイヤレスPuckは8bit・8kHzのμ-law圧縮。長時間再生時の安全性は保証されておらず、実用スピーカーではなく技術デモとして楽しむものと捉えるのが妥当。



