左に小さな画面とフットスイッチのある黒いマルチエフェクター、右にオレンジのヘッダーとモデルスロットの一覧、Gain つまみのある暗い画面の Android スマホ。あいだに Bluetooth の記号、背景にオレンジのノードがつながった模様

FLAMMA FB200でNeural Amp Modeler(NAM)のA2-Liteを鳴らす非公式ファームウェアとFB200 Studio

Kojiro Tanaka

FLAMMA FB200 で、Neural Amp Modeler の A2-Lite キャプチャが鳴るようになりました。アンプの位置と、その前段です。非公式で、まだ実験中のファームです。アプリの名前は FB200 Studio で、版は 0.11.0+22、中身は Flutter で書いています。ちょっと、うれしいです。 🙂

僕の kjranyone/fb200-tools は、Andrii Shylenko さんの w1ne/fb200-tools のフォークです。ライセンスは MIT で、土台を作ってくれた Andrii さんには、とても感謝しています。

2026-10-18 から、僕の FB200 を 1 台だけ、これに入れたまま使っています。FLAMMA とも、Mooer とも、TONE3000 とも、Neural Amp Modeler プロジェクトとも、関係はありません。知らせたのは 2026-10-23 09:30 JST の X の投稿 です。

結論

FB200 では、NAM の A2-Lite が鳴ります。アンプの位置に 1 段、その前にもう 1 段、本体の 64 スロットから選べます。探すこと、端末へ保存すること、空いているスロットへ書くことは、Android の FB200 Studio が Bluetooth でやってくれます。GAIN はモデルの前で −18〜+18 dB、前段にも PRE GAIN と PRE LEVEL が同じ幅であります。処理は 48 kHz、プリセットは 10 バンクで 40 個です。

工場出荷の音は、僕には合いませんでした。A2-Lite は、アンプのエフェクトとして質が違います。配布ビルドはまだ無くて、公式の .mr を自分で持ったうえで、リポジトリを手元でビルドして入れることになります。非公式ですし、動く NAM の構造は A2-Lite だけです。ピッチシフターは時間領域で、±2 オクターブ、チェーンの NAM の前か、キャビと EQ のあとです。試したのは、ペダル 1 台と Android タブレット 1 台なんですよ。

NAM の鳴る、小さいペダルが欲しかったんです

NAM が鳴るデジタルのペダルを、僕は持っていませんでした。モデルは、もうあちこちにあります。欲しかったのは、気軽なセッションに持っていける、コンパクトなペダルです。

FLAMMA の工場出荷エフェクトは、音の質として、どうしても好きになれませんでした。A2-Lite は、アンプのエフェクトとしての質が圧倒的で、鳴らしたときに思ったのは「そりゃみんなNAM搭載マルチ出すよな…」でした。

GAIN をちゃんと合わせられるように、アプリの画面を組んでいます。音切れと、レイテンシと、ノイズは、ほとんど片付いたと感じています。レイテンシは、僕の見立てではたぶん 4ms 台です。サンプルレートとバッファの設定を詰めれば 2.7ms くらいまで届きそうですが、今の CPU で NAM を 2 段と、ほかの機能を載せるなら、ここが限度だと思っています。

リポジトリが書いている遅延は、別の測り方です。docs/AUDIO_PATH.md では、USB の再生から USB の録音まで、ペダルの中でだいたい 3〜4 ms とあります。再生リングは 44.1 kHz で約 2〜3 ms、録音側は約 1 ms で、ホスト側のバッファは別に足されます。アナログの往復を 4 ms や 2.7 ms と測った記録は、ありません。設計メモの目標は、32 フレームのブロックで ADC から DAC まで 2 ms 以内です。DAC に積む目標は 96 フレーム(32 フレームが 3 ブロック)で、48 kHz では 2 ms です。sai.h には、起動時に受信が溢れて送信リングが 10.6 ms 分まで埋まり、そのまま一杯のまま残った、という記録もあります。目標より多く積んだら、エンジンはブロックを捨てます。

アンプの位置で、A2-Lite が鳴るんです

FB200 は Shenzhen Flamma Innovation Co., Ltd の、ベース用マルチエフェクターです。公式ストアの表示は $119(通常 $149) で、同じ価格は intelligent-guitar のコレクション にも出ています。僕が手元に置いた個体は 14000 円くらいで、そのときの話は BLADE B2 のプリアンプを換えて FB200 を買った記事に書きました。ストックのチェーンは、ノイズゲート → コンプ → アンプ → キャビシミュ → モジュレーション → リバーブで固定です。M-VAVE TANK-B と POD Express Bass と比べて、B7K のモデリングがあるほうを選びました。公式マニュアルでは、そのモデル名が BASSERCRUNCH で、Darkglass B7K がベースだと書いてあります(マニュアル)。IR ローダーに EQ も、ローカットも、ハイカットも、レベル調整も無い、という話も、購入記のほうにあります。FLAMMA の IR については、その前に FX200 と キャビ IR の試奏 と、1.1.3 で直った IR の不具合 を書いています。

SoC は NXP i.MX RT1052 で、Cortex-M7 の 600 MHz です。これはフォーク元 README の呼び方です。マニュアルには、アンプ 10 とキャビ 10、エフェクト 19、IR スロット 9、プリセット 40、ドラム 40 パターン、チューナー、ステレオのヘッドホン出力、Bluetooth 再生、USB OTG 録音が載っています。入力は 6.35 mm / 2 MΩ、出力は 6.35 mm / 100 Ω、ヘッドホンは 3.5 mm / 32 Ω、USB-C、Bluetooth 5.0、電池は 2000 mAh で最大 6 時間です。つまみは 16、フットスイッチは 4 で、製品ページにあります。重さは 578 g、大きさは 311 × 67.5 × 49.7 mm です。フォーク元のハードウェアメモでは、アプリ時の USB が 34DB:800F、更新時が 0483:5703 になっています。フォーク元の README では、ストックのディレイ設定は何もしません。ルーパーもありません。

このファームのプロファイルは PROFILE=nam-manager で、48 kHz です。アンプの位置に A2-Lite を置いて、その前にもう 1 段置けます。信号の順は、ゲート → コンプ →(ピッチを前に置いたとき)→ 前段の NAM(スロットを選んでいるとき)→ NAM → キャビ / IR → EQ →(ピッチを後ろに置いたとき)→ モジュレーション → ディレイ → リバーブです。NAM プロファイルのディレイは最長 300 ms で、プリセットにそれより長い時間が入っていても、再生するときは 300 ms で頭打ちになります。ドラムも、チューナーも、ルーパーも、Bluetooth オーディオも動きます。モデルはデータとして転送するので、キャプチャを足すたびにファームをビルドし直さなくていいんです。本体はパケットの CRC と形状、重みが有限であることを見てから、予備バンクへ書きます。転送が途中で切れても、前のモデルが残ります。

スロットは 64 個です。プリセットがスロットを覚えていて、本体の AMP つまみでもモデルを選べます。スロットごとには、キャプチャの種類(Amp + Cab / Amp / Cab / Pedal / Outboard など)を記録します。NAM のトーンは、プリセットのアンプ設定からです。GAIN はモデルの前で −18〜+18 dB、1 ステップは 0.36 dB で、bass / mid / treble と volume はモデルの後にあります。重みそのものは、Gain や Bass のつまみとしては出てきません。キャプチャの挙動は学習済みで固定なので、トーンはその前後で整えることになります。

保存領域はフラッシュの 0x400000〜0x4FFFFF で、64 スロット × 2 バンク × 8192 バイトです。以前のロング IR 領域で、NAM プロファイルではロング IR ストアをコンパイルしません。1 バンクは 64 バイトのヘッダと 7,484 バイトの float32 重みで、ヘッダと本体にそれぞれ CRC32 が付きます。転送用の FBNM v1 パケットは 7548 バイトです。対応しているのは、48 kHz の A2-Lite 固定構造だけで、3 チャンネル、重みは 1,871 個なんです。

切り替えは、スロットを RAM に読んで、無音でウォームアップしてから 256 サンプルでフェードインします。読み込み中は短くミュートします。シームレスだとは、書いてありません。

2026-10-19 の実測は docs/NAM_HARDWARE_2026-10-18.md にあります。NAM とキャビとモジュレーションとリバーブとチューナーを全部オンにすると、1 ブロック 321,444 サイクルで、予算 400,000 の 80.4%、dma_errs=0 でした。NAM 単体は 262k で 65.5% です。ブロックは 48 kHz、32 フレームです。カーネルは最初 719,152 サイクルで、予算の 1.8 倍ありました。重みをタップ順に並べ替えると 321k になって、nam_a2.c を -O3 にすると 262k まで下がりました。手で展開した K=6 は 339k で遅かったので、戻してあります。この 80.4% と 65.5% は、その日のカーネルです。2026-10-23 に推論を組み直したあとの数字は、次の節にあります。

推論の中身は firmware/audio/src/dsp/nam_a2.c です。Steven Atkinson さんの NeuralAmpModelerCore(NAM/wavenet/a2_fast.cpp、commit 0b3d3c97…)の A2 構造と、重みの順、参照の挙動に基づいています。MIT の表記は同梱してあって、ユーザーのモデル重みは、その表記の対象外です。詳しくは docs/NAM_LICENSE.md にあります。

その後の改善(高速化・メモリ・ピッチシフター・NAM 2スロット)

ここから先は、2026-10-23 に main へ入った 6 つのコミットです。読んでいる範囲は f68e4ee までです。

NAM のカーネルは、130,771 サイクルまで下がりました

dcef6f6 で、NAM のカーネルを Cortex-M7 向けに組み直しました。フレームは層ごとに 8 個ずつ進めて、1 タップでは 4 フレームをまとめて計算します。リングには 7 フレームの余裕と、先頭 3 フレームの写しがあって、4 フレームがいつも連続して読めます。畳み込みのタップと、フレームごとの後処理と、ヘッドはアセンブリです。命令は VLDM と VFMA と VMAXNM で、ホスト向けのビルドは C のままです。足し込む順番は参照実装のままなので、ホストの出力は tests/nam_a2_golden.f32 とビット単位で同じです。

nambench はフラッシュ上のコマンドで、鳴っているモデルを使ってアセンブリと C を比べます。レジスタだけの VFMA が 36 回で 37 サイクル、単発の浮動小数ロードが 21 回入ると 93 サイクルでした。遅かったのは掛け算ではなく、ロードのほうです。LDRD と VMOV は VLDM より遅くて、72 回の FMA あたり 58 サイクル対 53 サイクルでした。割り込みはカーネルの約 2% です。ブロックのあいだ割り込みを止める試験は、SAI の DMA がずれて dma_errs が増えたので、外してあります。ペダル上の突き合わせは、conv4 が 184、後処理が 23、ヘッドが 23 で、不一致は 0 でした。

ハードウェアログの表は、書き込んだ各段階の識別子と、prof amp のサイクルです。直前の 4236b9e4 は、同じログでその前のアプリ領域の CRC32 として出ている値です。あとの 4 つは、ログの表にある識別子です。予算は 400,000 です。

ログの表NAM 段(サイクル/ブロック)
直前の、サンプルごとの C(4236b9e4)263,660
8 フレームの層優先、C(a0a450e5)244,080
畳み込みをアセンブリ(fefd6f61)195,670
リングの写しと、後処理のアセンブリ(47d1a47b)157,816
ヘッドもアセンブリ(1603335e)130,771

コミットの before / after は、263,660 から 130,771 です。NAM が 130.8k のとき、エンジンは平均 26%、ピーク 44% で、無音の 20 秒にスキップは無く、DMA エラーもありませんでした。状態は 86,856 バイトまで増えています。この時点では、2 段目に要る約 87 kB は、まだ空いていませんでした。

2 段目の置き場として、DTCM を空けました

9c71ee1 の件名は、NAM プロファイルで DTCM を 49 kB 空ける、です。内訳は docs/NAM_FX_BLOCK.md と、コミット本文にあります。

空けた量やり方
19.6 kB DTCMNAM ビルドは、ストックデータのキャビとドラムの表だけをコピーする(STOCK_LEAN)。ストックのアンプとトーンスタックは動かさない。フラッシュ上の塊と、その CRC は変えていない
12 kB DTCMコンソールのログリングを、NAM ビルドでは 16 kB から 4 kB にした
19.2 kB DTCMNAM プロファイルのディレイ最長を 500 ms から 300 ms にした。プリセットに入っている時間はそのままで、再生するときは 300 ms で頭打ち
2.7 kB ITCMDSP の異常時リセットを、音声の経路ではなくメインループで走らせる。モジュールの初期化がフラッシュから動くので、ITCM の空きは 120 バイトから 2,776 バイトになった

その結果、nam-manager では dtcm_hi の上に連続した 87,932 バイト、dtcm_lo に 11,900 バイトがあります。2 段目の状態は 86,856 バイト要るので、連続した側に収まります。i.MX RT1052 の FlexRAM は 512 kB で、内訳は ITCM 128 kB、DTCM 352 kB、OCRAM 32 kB です。

ピッチシフターが、チェーンに入りました

5524d05 で、FX ブロックの最初のモードとして、時間領域のピッチシフターがファームに入りました。方式は H910 / H949 の考え方で、音程の検出はしません。ヘッダのコメントでは、和音はそのまま通ります。履歴は int16 が 4096 個で、.dtcm_lo に置きます。同じコメントでは、48 kHz で 85 ms、フルスケールの上に 6 dB の余裕があります。出力は、その履歴を新しい速度で読みます。読み点が書き点に追いつくとき(上へ)と、遅れすぎるとき(下へ)は、波形の周期ぶん跳んで、4 ms(192 サンプル)でクロスフェードします。跳ぶ幅は、6 ms の窓の相関が一番合うところです。粗い通しは 4 サンプルごと、ラグは 8 ごとで、そのあと ±4 ラグを全速で見て、放物線で端数を出します。一番良いピークから 0.05 以内の山のうち、遅れが短く済むほうを採ります。下へずらすときは、約 10 ms ごとに任意のつなぎも試して、スコアが 0.92 以上のときだけ使います。相関は int16 の SMLALD で、バッファはワード境界に揃えています。1 ブロックに探索は 1 回までです。

モードの記述では重いモードではなく、heavy は 0 です。パラメータは 5 つで、初期値は SHIFT 3600、MIX 50、LEVEL 50、GLIDE 0、RANGE は Bass です。

名前範囲初期値
SHIFT0..4800 セント。2400 が変化なしで、±2 オクターブ。アプリのつまみは 100 セント、つまり半音ずつ3600(+12 半音)
MIX0..100 %。ドライは 1 からこの割合を引いたもの。ウェットは、この割合に LEVEL の倍率(50 で 1 倍、±18 dB)を掛けたもの50
LEVELウェットだけ。0..100 で、50 が 0 dB、±18 dB50
GLIDE0..1000 ms の 1 次遅れ。0 ならすぐ追従。コメントでは、その時間で比率の変化の約 63% まで届く0
RANGEGuitar(最長の周期 14 ms、ジャンプ 672 サンプル)か Bass(26 ms、1248 サンプル)Bass

置く場所は、プリセット 0xEE の bit 1 です。0 ならゲートとコンプのあと、2 段の NAM の前。1 ならキャビと EQ のあと、モジュレーションの前です。bit 0 がオンです。0xEA が "FX"(0x5846)、0xEC がモード(1 がこのピッチ、0 はオフ)、パラメータは 0xF0 からです。知らせるのは capability bit 14 です。

軽いので、2 段の NAM と同時に動きます。状態は .dtcm_lo で、2 段目が使う .dtcm_hi のアリーナは取りません。周波数領域のポリフォニック・ピッチは、ドキュメントでは重いモードのままで、使う当てが出てからです。重いモードの CPU は NAM 1 段(約 131k サイクル/ブロック)を超えないこと、とも書いてあって、そうすればアリーナのどちらが入っても、以前測ったピーク 75% の中に収まる、となっています。プリセットが 2 段目の NAM と重いモードの両方を求めたら、NAM が勝って、ブロックはオフに落ちます。いま鳴っているピッチは、その重いモードではありません。

探索するブロックのコストは、コミットではギターが最大約 33k、ベースが最大約 58k サイクルです。予算は 400,000 です。ハードウェアログの最終行は、ギターが探索 28〜33k、ブロック 32〜38k、NAM を 2 段とも動かしたエンジンのピークが 81〜82%。ベースが探索 48〜54k、ブロック 52〜58k、ピークが 86〜87% です。どの段でもスキップは無く、DMA エラーもありませんでした。FX 無しで NAM が 1 段だけのピークは 41% です。コンソールの fxstat が、ペダル上のこのコストを出します。

遅れは、ヘッダではヘッドの遅れそのもので、シフトとレンジによって 2〜33 ms です。docs/NAM_FX_BLOCK.md のオフライン計測は、ギターが上へ平均 7 ms、下へ 15 ms、ベースが上へ 8.5〜9 ms、下へ 18 ms です。

アプリ側は f68e4ee です。capability bit 14 があると、チェーンに FX が出て、位置のスイッチどおり NAM の前か、キャビの後に並びます。モードとつまみは NAM RPC の op 14 が返す記述から組むので、新しいモードにアプリの更新は要りません。オンにしたときは編集バッファで語をまとめて書いて、そのあとの変更は op 15 で 1 語ずつライブに出します。保存は、Save するまでしません。タブレットでは、キャビの後で SHIFT を −12 にすると、編集語 0xEA..0xF8 が書いて、シフターは比率 0.5 で動きました。ライブの編集は、そのあと戻してあります。アプリの版番号は、pubspec の 0.11.0+22 のままです。

前段の NAM は、アンプの前で鳴ります

8f731fd で、最初の NAM の前にもう 1 段入りました。コメントにある通り、ペダルのキャプチャをアンプへ入れる、という置き方です。信号はゲートとコンプのあと、前段、アンプ位置の NAM、キャビ、EQ、モジュレーション、ディレイ、リバーブの順です。前段はスロットが選ばれているときに処理して、アンプ位置の NAM はアンプのブロックがオンのときです。読み込み中は短く無音にして、入ってからは 256 サンプルでフェードインします。GAIN とレベルは、ブロックのあいだ滑ります。

プリセットの尾は、EQ と 1 段目の印のあとです。0xE2 が "N2"(0x324E)、0xE4 がスロット 0..64(0 は無し)、0xE6 が入力ゲイン、0xE8 が出力レベルです。どちらも 0..100 で、50 が 0 dB、幅は ±18 dB です。0xEA 以降は FX 用に空けてあります。印が無い尾はオフです。状態はディレイラインの上のアリーナ(s_arena、.dtcm_hi、86,856 バイト)に置きます。重い FX と同時には動かなくて、断る理由はアプリの覚え書きではなく、メモリそのものです。capability bit 13 が、このファームだと知らせます。

ペダルでは、2 段で 400k サイクルのブロックのうち 258.5k でした。エンジンは平均 68%、ピーク 75% で、両方動かした 20 秒にスキップは無く、DMA エラーもありませんでした。7510d62 では、タブレットでスロット 3 を PRE に選ぶと N2/3/50/50 と書けて、両方の NAM が 258.7k サイクル/ブロックで動きました。アプリの版番号は pubspec の 0.11.0+22 のままです。capability bit 13 があると、NAM のブロックに PRE の行が出ます。ピッカーはスロット 0 が無しで、使用中の印は前段用です。PRE GAIN と PRE LEVEL(±18 dB)は、プリセットの 0xE2..0xE9 へ編集バッファで書きます。同じファームではディレイのつまみが 300 ms で止まり、それより古い NAM ファームでは 500 ms、ストック形式の上限は 2500 ms です。つまみの並びは、幅があれば 1 行に 8 個入ります。

64 スロットを、Bluetooth で埋めていきます

FB200 Studio は、Bluetooth でペダルにつながります。そこから触れるのは、プリセット(10 バンク / 40)、エフェクトチェーン全体、NAM の選択とトーン、ドラム、チューナー、ルーパー、IR、設定、バックアップです。つなぐときは公式の FLAMMA アプリを閉じてください、とアプリの文言にあります。つながなくても、「接続せず試す」でデモが開きます。表示は英語と日本語と簡体字中国語で、起動画面の文字列は YOUR TONE. UNDER CONTROL. と NAM A2 LITE / MULTI EFFECTS です。

TONE3000 では、サインインしてから、お気に入りと、トレンドと、自分のトーンを見られます。使える A2-Lite を端末に保存して、本体の空きスロットへ送れて、まとめて送ることもできます。サインインは TONE3000 公式の Select フロー(OAuth)で、使うのは Publishable Key(client_id)です。Secret Key は使いませんし、t3k_cs_ で始まる鍵は拒否します。0.11.0+22 からは、リフレッシュトークンを Android Keystore の保存先に置きます。ダウンロードの上限は 8 MiB です。キーは TONE3000 の Settings → API Keys で作って、アプリに入れます。QR でも読めます。登録するリダイレクト URI は fb200nam://oauth/callback で、手順は docs/TONE3000_ANDROID.md にあります。関係は development integration で、商業的な提携や、TONE3000 からの承認はうたっていません。

手元の .nam も読めます。固定の A2-Lite 単体か、3 チャンネルのサブモデルが 1 つだけの packed A2 です。種類は画面に出ます。フルリグのキャプチャにキャビ / IR が重なるときと、アンプだけのキャプチャがキャビ無しで鳴るときには、警告します。ハードウェアログでは、スロット 05 の Jcm800(Amp + Cab)をプリセット 0A、CAB オンで選んだときに、その二重キャビの警告が出ていました。ログの時点で入っているモデルは 7 個で、告知動画のモデル管理も 7/64 です。

レベルは IN / NAM / OUT を、200 ms ごとに取ります。ピークは保持して、クリップは 2 秒出します。チューナーの針は ±50 セントで、±3 セントだと合っている扱いになります。ドラムはパターンとテンポと音量、それにタップテンポです。ルーパーは録音、再生、ダブ、停止、アンドゥ、クリアです。チェーンの表示は GATE、COMP、NAM、CAB、MOD、DLY、REV に、capability bit 14 の FX が加わります。ウィジェットのラベル配列は COMP、GATE、AMP、CAB、MOD、DLY、REV、FX です。前段の NAM は、この並びに新しい枠としては出ません。NAM の編集画面の PRE 行です。FX は位置のスイッチで、NAM の前かキャビの後に出ます。処理の順番は、上に書いたゲートからリバーブまでです。

アプリからファームを更新することはできません。ストックのファームへ NAM を足すことも、できません。

配布ビルドは、まだ無いんです

NAM のファームも APK も、ビルド済みのものは置いていません。ソースは GitHub に公開してあって、僕のスタンスは「このリポジトリを AI に食わせて、なんとかしてください」です。バイナリは配らないので、リポジトリを AI に渡して、自分でビルドしてください。

ビルドと導入は、開発者向けの手順です。使っているプロファイルは PROFILE=nam-manager で、手順は docs/NAM_A2_LITE.md と docs/NAM_HANDOVER.md にあります。同じ NAM_A2_LITE.md の Build and verification に書いてある make の例は、PROFILE=nam-runtime のままです。Restricted audio profile に書いてあるディレイ最長 500 ms も、HEAD の NAM プロファイル(DELAY_MS_MAX=300)より古いです。Remaining before pedal use と、User workflow のスロット数と、CHANGELOG.md の Experimental NAM fork も、いまの nam-manager より古いです。README の冒頭にある CPU 80% と、NAM が 1 段だけのチェーンは、2026-10-19 の実測のままです。いまの 2 段と、空いたメモリは docs/NAM_FX_BLOCK.md と、2026-10-23 のコミットにあります。ハードウェアログの末尾は、ピッチシフターを NAM 2 段と一緒に測ったところまでです。

README の Flashing 節と、shylenko.com の Web フラッシャー と、fb200 update app latest は、フォーク元のストック系を入れる手順です。この NAM ビルドではありません。

最初の 1 回には、自分で持っている公式の FB200 ファーム(.mr)が要ります。ベンダーのローダーと、ストック音源データの供給元だからです。ベンダーのファームやデータは、リポジトリに入っていません。自分でビルドしたイメージには、その公式ファーム由来のブートローダースタブとストック音源が入るので、再配布しないでください。DISCLAIMER.md に書いてあります。

僕の初回は、A+D でベンダーのアップデーターに入って、6810 フレームのすべてに ACK が返りました。その後の更新は USB CDC で、アプリ領域だけを書いています。記録はハードウェアログの各節です。

PC からのモデル操作は、fb200 nam put / list / select / delete です。User workflow の節には、スロット 1..3 の記述が残っています。いまのスロット数は、README にある 64 個です。

アプリの成果物は debug APK で、ストアには出していません。自動でも入りません。

cd mobile && flutter pub get && flutter build apk --debug

検証済みのツールチェーンは、Flutter 3.47.7 / Dart 3.13.5、compile SDK 37、AGP 9.1.1、Java 17 以上です。アプリ側の機能とテストは mobile/README.md にあります。

ブートローダーは、上書きしないんです

ベンダーのブートローダーは、上書きしません。電源を入れるときに A+D を押していれば、ベンダーのアップデーターに戻ります。README の戻し方は、A+D を押しながら USB を挿して、fb200 fw flash FB200_V1.0.1.mr --yes --no-jump です。

docs/UPDATE_AND_RECOVERY.md の §5.3 では、電源を切って、A+D を押したまま電源を入れ、約 3 秒押し続けます。0483:5703 として見えたら、fb200 fw flash fb200-stock.mr --yes --no-jump です。この通しは、フォーク元が 2026-09-26 に実機で確認しています。

ファームの書き込みが途中で切れると、ペダルはブートローダーに残って、アプリ領域は空か、壊れたままになります。公式の更新プロトコルには、署名もチェックサムもありません。モデルの転送は別で、予備バンクに書くので、転送が切れても前のモデルは残ります。その電源断は、擬似 NOR に 54 回の中断を入れたホストテストで見ています。実機の電源を切る試験ではありません。

HeadRush のほうが、本体で TONE3000 を開きます

Neural Amp Modeler は、Steven Atkinson さんが作ったオープンソースのニューラルアンプモデリングです。プラグインの名前は Gateway で、モデルの共有先が TONE3000、昔の名前は ToneHunt です。NAM 公式は、community-organized online library と紹介しています。A2 は 2026-06-02 に公開されて、TONE3000 が Atkinson さんと組んで作った第 2 世代です。モデル構造と学習コードと推論エンジンはオープンソースで、商用製品にも使える、と NAM の告知 と TONE3000 の告知 にあります。再生には NeuralAmpModelerCore v0.5.2 以上が要ります。

ダウンロードは 1 つの NAM モデルで、A2-Full でも A2-Lite でも動かせる、と TONE3000 のガイド にあります。A2-Full が精度の高いほうで、A2-Lite が小さいほう、マルチエフェクターやミニアンプ向けです。ガイドの目安は「ARM Cortex M7 600MHz で CPU 50%」で、A2-Nano は A2-Lite の旧称です。活性化関数は、Tanh から leaky ReLU に変わっています。FB200 の i.MX RT1052 は、その 600 MHz の Cortex-M7 と同じクラスです。このフォークの、高速化あとの NAM 1 段は 130,771 サイクル(予算 400,000)です。2 段同時は 258.5k サイクルで、エンジンは平均 68%、ピーク 75% でした。ピッチの探索が入ると、2 段と一緒のピークはギターで 81〜82%、ベースで 86〜87% まで上がります。2026-10-19 の 65.5% と 80.4% は、その前のカーネルです。ガイドの 50% とは、ブロックの切り方も、割合に何を含めるかも違います。

TONE3000 の HeadRush の記事では、Prime / Core / Flex Prime が、無料の 5.1 ファームで A2 にネイティブ対応します。本体のタッチスクリーンから Wi-Fi で TONE3000 を直接見て、読み込めます。PC や Bluetooth の転送は要らない、とそこに書いてあります。価格は Flex Prime が $499、Core が $699、Prime が $999 です。こちらは Android 経由の Bluetooth で、本体から Wi-Fi でブラウズはしません。非公式ですし、配布ビルドもありません。

ベース用で A2-Full なのは、gearnews の 2026-08-07 時点の表 では Darkglass Anagram です。同じ表で、Mooer の GS1000 / GE1000 / GE300 系は A2-Lite(2026 年 7 月)、Nux の MG-30 / MG-50Li / MG-400 / MG-300 MkII も A2-lite、Dimehead NAM Player と Sonulab StompStation Pro は A2-Full です。FB200 はフォーク元の説明では Mooer-based ですが、この NAM はメーカーのファームではありません。A2-Full は、このペダルには乗りません。

Hotone の 2026-08-18 の告知では、Ampero II / II Stage / II Stomp と Valeton GP-150 / GP-180 が A2 Lite にネイティブ対応で、ほかの多くの機種は変換対応です。gearnews の定義では、変換はキャプチャをメーカー独自の形式に描き直すことです。このフォークが実行するのは、A2-Lite の固定構造(3 チャンネル、重み 1,871)そのものです。

ソフトのほうは、NAM 公式の Gateway と、A2-Lite / A2-Full の両方に対応した TONE3000 Plugin です。どちらもプラグインなので、このペダルのファームではありません。TONE3000 には、ハードとソフトのメーカー向け API があります。FB200 Studio からの利用は、上に書いた development integration です。

すでに持っている $119 の FB200 で、A2-Lite を 2 段まで鳴らして、Android から Bluetooth で 64 スロットへ入れるなら、このフォークが残ります。本体の画面から TONE3000 を開くなら HeadRush で、ベース用の A2-Full をメーカーの機材で鳴らすなら、gearnews の表では Anagram です。速度の表は作りません。測っている条件が違うからです。

動くのは A2-Lite だけで、実機は 1 台なんです

非公式です。FLAMMA と Mooer は、承認もサポートもしていない、と DISCLAIMER にあります。TONE3000 と Neural Amp Modeler プロジェクトとも無関係で、提携や承認はうたっていません。書き込みは自己責任で、一時的にも、恒久的にも、使えなくなるおそれがあります。MIT のライセンス文は、ソフトを AS IS で渡して、商品性や特定目的への適合を含む一切の保証を否認しています。作ったイメージには自分の公式ファームの一部が入るので、再配布はしないでください。

動くのは、48 kHz 固定の A2-Lite だけです。標準など、ほかの NAM 構造は本体に収まりません。2 段とも、その同じ構造です。ピッチシフターは時間領域の 1 モードで、周波数領域のポリフォニックはドキュメントでは後回しのままです。キャプチャごとの入力キャリブレーションは無くて、キャプチャによって想定する入力レベルが違うので、GAIN とレベルメーターで合わせることになります。画面は、その合わせができるように組んでいます。初期値は耳で調整中、と README にあります。試聴テストと、その調整は続いていて、製品版のファームリリースではありません。2 段を同時に動かした記録は 20 秒で、それより長い音切れの試験は、リポジトリにはありません。

試したのはペダル 1 台と、Lenovo TB-J716F(Android 16)の 1 台です。iOS はビルドが通ります。スマホで動かした記録は、無いんです。このビルドの Bluetooth オーディオは出力へ戻してあって、再生を耳で聴いた記録もありません。

A+D を押せば、ベンダーのアップデーターには戻ります。ファームの書き込みが途中で切れると、アプリ領域は空か壊れたまま、ブートローダーに残ります。モデル転送の電源断を、実機の電源を切って見た記録は無くて、ホストテスト(擬似 NOR に 54 回)までです。

アプリからファームは焼けません。ストックのファームに NAM を足す道も、配布の .mr も、APK も、ありません。

手順と制限の本文は リポジトリ に置いてあります。書き込む前に、DISCLAIMER を読んでください。FB200 を買ったときの話は、購入記のままです。

シェア

関連記事

定番の記事

← 記事一覧へ