GNU Radio は、SDR を触る人にはおなじみの定番ツールです。そこに「ブラウザで動く版」が出てきた、というのが今回の話です。しかも単なるデモではなく、GNU Radio Companion 風の編集画面でフローグラフを組み、実行し、スペクトラムやウォーターフォール、コンスタレーションをその場で見られるとしています。インストール不要、Python 不要、サーバー不要という割り切りもかなり強い。技術的な面白さだけでなく、SDR 入門のハードルをどこまで下げられるかという点でも気になる取り組みです。
GNU Radio World は、GNU Radio Companion に似たフローグラフ編集・実行環境を、ブラウザタブの中だけで完結させるサービスだと説明している。フローグラフとは、受信した信号をどのブロックで処理し、どんな表示を出すかを線でつないで組む GNU Radio の設計図のようなものだ。このサービスでは GNU Radio の DSP stack と Qt GUI sinks を WebAssembly にコンパイルしており、ユーザーはブラウザ上でフローグラフを作って Run を押すだけで、ライブの spectrum、waterfall、constellation plot を表示できる。ローカルに Python を入れる必要もなく、外部サーバーに処理を投げる形でもない。
元記事が強調しているのは、ただ動くという以上に「元の GNU Radio に近い」ことだ。.grc ファイルを読み書きできるので、既存の native GNU Radio の資産をそのまま持ち込みやすい。例として、サンプルの flowgraphs と example IQ recordings も用意されている。さらに、RTL-SDR、PlutoSDR、HackRF とは WebUSB 経由で接続できるとしている。つまり、ブラウザだけで手元の SDR ドングルや無線機器を使い、実機の信号を扱える設計になっているわけだ。
画面の説明も具体的だ。エディタと QT GUI のタブがあり、フローグラフがまだ動いていない状態では「No flowgraph running」と表示される。Run を押すと QT GUI が開き、Arrange や Stop の操作もできる。Open in GNU Radio World というリンクも用意されていて、単なる埋め込み表示ではなく、リンクとして扱いやすいようにしているという注記まである。記事全体を見る限り、GNU Radio を「インストールして使う専門ツール」から「リンクを開けばすぐ触れるもの」に変えようとしているサービスだと受け取れる。
この手のツールで本当に効くのは、機能の数より最初の一歩の軽さだと思う。GNU Radio は強力だが、初学者にとっては導入の壁が高い。環境構築でつまずき、Python の依存関係で迷い、Qt の表示で苦労する。そういう「本題に入る前の面倒」が一気に減るなら、教育用途ではかなり強い。特に授業やハンズオンで、受講者全員の環境を揃えるのが難しい場面では、ブラウザ完結は単なる便利機能ではない。開始率を上げる装置になる。
もうひとつ面白いのは、.grc に触れている点だ。ブラウザ向けに新しい独自形式を作ると、便利そうに見えても既存資産と切れやすい。ところが元の GNU Radio と同じファイルを読み書きできるなら、「ブラウザ版はおもちゃです」で終わりにくい。既存ユーザーが試しやすく、コミュニティの流れにも乗りやすい。もちろん、どこまで同じ互換性を保てるかは実際に触ってみないと分からないが、少なくとも設計思想はかなりまっとうだと感じる。
WebAssembly を使って GNU Radio の DSP stack を動かす、という発想自体は珍しくない。ただ、Qt GUI sinks まで含めてブラウザに載せるのは、かなり攻めている。信号処理だけならまだしも、波形を描き、周波数を更新し、ユーザーの操作に即応する UI までまとめて Web 側に寄せるのは、実装の手間が大きいはずだ。だからこそ、ここで示されているのは「技術デモ」より「移植の意思」に近い。
一方で、ブラウザで動くことには当然トレードオフもある。ローカルアプリほど自由にハードウェアへ触れない場面は出るだろうし、パフォーマンスやデバイス対応も環境に左右されるはずだ。元記事は RTL-SDR、PlutoSDR、HackRF を WebUSB で扱えると述べているが、これは逆に言えば、USB 周りの制約やブラウザ実装の差を受ける可能性があるということでもある。だから、万能の置き換えではなく、まずは「始める」「試す」「見せる」用途に刺さる形だと見るのが自然だと思う。
このサービスは、GNU Radio を毎日使う人より、他人に GNU Radio を触らせる人に効く可能性がある。研究室の新人、授業の受講者、ワークショップ参加者、あるいは SDR のデモを見せたい技術広報の担当者だ。URL を開けば編集画面が出て、サンプルもあり、実機接続の道もある。こういう「配布しやすさ」は、個人の快適さよりも共有のしやすさに直結する。ソフトウェアの価値が、使う人だけでなく説明する人にも広がるわけだ。
逆に、プロの現場でのメイン環境になるかというと、そこは慎重に見たい。複雑なプロジェクトをブラウザで長時間回し続けるより、手元のネイティブ環境の方が安心なケースは多いはずだ。けれど、最初の検証や再現、教育、レビューの場面ではブラウザ版のほうが圧倒的に速いことがある。つまり、この種のツールは置き換えではなく補助線として強い。GNU Radio World は、その補助線をかなり実用的な形で引こうとしているように見える。こういう試みが増えると、専門ツールは「使える人のもの」から「触れば分かるもの」に少し近づくのではないかと思う。