EP-2350 - 7. fx-micのカスタマイズ

EP-2350 - 7. fx-micのカスタマイズ

目次へ戻る


fx-micのカスタマイズ

デバイスの中核はconfig.jsonという名前のファイルです。このファイルを編集することで、fx-micのサウンド、エフェクトの動作、そしてハンドル・モーション・オートメーションを使ったオーディオの操作方法を完全に再設計できます。


7.1 新しいconfigファイルのインストール

下部カバーを取り外し、USB-Cケーブルでfx-micとコンピューターを接続してください。ハンドルを押してfx-micの電源が入っていることを確認してください。

「fx-mic disk」という名前のディスクがコンピューター上に表示されます。

config.jsonファイルをルートフォルダーに配置してください。

コンピューター上で「fx-mic disk」を取り出してください。fx-micが再起動し、configファイルを読み込みます。


7.2 ゴールデンルール

JSONは厳格なテキスト形式です。構文を崩すと本体は起動しません。

引用符は必須です。すべてのテキスト要素はダブルクォート(")で囲んでください。

カンマに注意してください。リストの各行は末尾にカンマが必要です(最後の行を除く)。これがエラーの最も多い原因です。

大文字・小文字の区別に注意してください。エフェクト名は常に大文字を使用してください。

⚠️ ご注意: 何らかの理由でJSONファイルを壊してしまい本体がフリーズした場合でも、焦らないでください。コンピューターに接続し、起動時に白いボタンとグレーのボタンを同時に押し続けることで、ファイルにアクセスして修正できます。


7.3 ファイル構造

ファイルはルートの中括弧 { } の中で、3つの主要セクションに分かれています。

  1. name:サンプルパックの名前。
  2. samples:オーディオファイルのリスト(省略すると内蔵サウンドを使用します)。
  3. presets:エフェクトチェーン。

基本的な骨組み:

{
"name": "MY PACK NAME", 
"samples": [ ... ],
"presets": [ ... ]
}

7.4 サンプル

要件:

  • フォーマット:WAVのみ。モノラルまたはステレオ。
  • ビット深度:8/16/24ビット、または32ビット浮動小数点。
  • 最大周波数:96 kHz。
  • 合計サイズの上限:約1 MB。

プレイモード:

  • "oneshot":トリガーされるとファイル全体を1回再生します。
  • "hold":ボタンを押している間のみ再生します。
  • "startstop":押すとループ再生を開始し、もう一度押すと停止します。

構文:

{ "file": "drum.wav", "playmode": "oneshot" }

7.5 内蔵サンプルの使用

自分のWAVファイルの代わりに、内蔵の4つのファクトリーサウンドを使いたい場合は、次のルールに従ってください。

  1. samplesセクションを削除する:JSONファイルから "samples": [ ... ] のブロックをすべて削除してください。
  2. sampleブロックを含める:それでもプリセットチェーン内に { "effect": "SAMPLE" }(4. FXとサンプルの追加を参照)を含める必要があります。これがないと音が生成されません。
  3. 信号の流れとFX:リスト内でのsampleブロックの位置が重要です。
  4. FXを適用する場合:サンプルに効果をかけたいエフェクトの前にsampleブロックを配置してください。ドライのまま(エフェクトなし)にする場合:リストの一番最後にsampleブロックを配置してください。

7.6 プリセットとエフェクト

presetsリストは(オレンジ色のボタンに対応する)4つのスロットを定義します。各プリセットには、エフェクトのチェーン(リスト)とモジュレーションのルールが含まれます。

エフェクトはリスト内の順序に基づいて処理されます。

構文:

"list": [
{ "effect": "DIST", "amount": 10.0 },
{ "effect": "REVERB", "time": 0.5 },
{ "effect": "SAMPLE" }
]

posを使うことで、fx-mic上の異なるスロットにFXを配置できます。posはプリセットスロット番号(0、1、2、3)です。

この例では、1つ目のファイルは最初のサンプルスロット「0」で再生され、2つ目のファイルは最後のサンプルスロット「3」に配置されます。

"samples": [
{ "file": "A.wav","playmode": "oneshot" },
{ "pos": 3, "file": "D.wav","playmode": "oneshot" }
]

任意で、以下のフィールドの追加をおすすめします。

  • name:(任意)プリセットの人間が読める名前。
  • comment:(任意)プリセットの動作についてのメモ。

7.7 エフェクト一覧

エフェクトパラメーター最小値最大値
BALANCE0.01.0
DELAY(標準エコー)*time(decay)0.01.1
lowpass-cutoff0.01.0
highpass-cutoff0.01.0
wet-level0.01.0
dry-level0.01.0
echo(feedback)0.01.0
cross-feed(左右のエコーをミックス)0.01.0
balance0.01.0
DIST(ディストーション/オーバードライブ)amount0.040.0
lowpass-cutoff0.01.0
highpass-cutoff0.01.0
mix0.01.0
EQUALISERCUTOFF0.01.0
Q0.01.0
GAIN-1.01.0
HARMONY*dry-level0.01.0
pitch0.52.0
LOWPASScutoff0.01.0
HIGHPASScutoff0.01.0
SAMPLEspeed0.04.0
pitch-24.024.0
level0.01.0
balance0.01.0
REVERB(ルームシミュレーション)*dry-level0.01.0
wet-level0.01.0
time0.01.0
spring-mix(金属的なボヨヨンとしたサウンドを追加)0.01.0
highpass-cutoff0.01.0
RING(リングモジュレーション)frequency0.020000.0
mix0.01.0
SSB(シングルサイドバンド)*frequency-20000.020000.0

*エフェクトチェーンにつき1回のみ使用可能


7.8 モジュレーション

ハンドル、fx-micを振る動作、またはLFO(低周波発振器)を使って、パラメーターをライブでコントロールできます。モジュレーションブロック(handle、shake、lfo)はエフェクトリストの後に配置します。

パラメーターをターゲットにするには、エフェクトリストのどの行を変更するかを本体に伝える必要があります。

  • row:エフェクトのインデックス(0から始まります)。
  • param:正確なパラメーター名(例:"time"、"cutoff")。
  • depth:値をどれだけ変化させるか。

ハンドルは、その位置(0%〜100%)に基づいてエフェクトをコントロールできます。

値は以下のいずれかです。

  • 正の値(例:10.0):ハンドルを押すと値が増加します。
  • 負の値(例:-1.0):ハンドルを押すと値が減少します(逆方向のコントロール)。

Handleの構文:

"handle": { "row": 0, "param": "cutoff", "depth": 0.8 }

shakeは、本体を物理的に振ったときに変化をトリガーします。「グリッチ」系のエフェクトや、一時的なリバーブのスプラッシュに最適です。

Shakeの構文:

"shake": { "row": 1, "param": "mix", "depth": 1.0 }

lfoは、時間の経過とともにパラメーター値を自動的にサイクルさせます。

LFOの構文:

"lfo": {
"row": 0,
"param": "pitch",
"depth": 0.1,
"shape": "sine",
"speed": 4.0,
"phase": 0
}

パラメーターには以下が含まれます。

  • shape:sine(滑らか)、square(オン/オフ)、sawtooth(ランプ状)、random(カオス的)。
  • speed:LFOがサイクルする速さ。

7.9 高度なモジュレーション

ハンドルはエフェクトを直接コントロールする代わりに、LFO自体をコントロールすることもできます。これにより、ハンドルを押すことでワブルを速くしたり、ビブラートを深くしたりできます。

"row" の代わりに "target": "lfo" を使用してください。

構文:

"lfo": {
"row": 0,
"param": "balance",
"shape": "square",
"speed": 2.0
},
"handle": {
"target": "lfo",
"param": "speed",
"depth": 15.0
}

この例では、サウンドが前後に切り替わります(LFO)。ハンドルを押すと、その切り替えが速くなります。


7.10 バスルーティング

デフォルトでは、エフェクトは直列(1つずつ順番)に処理されます。BUSを使うと、パラレルな信号経路を作成できます(例:ドライ信号をそのまま保ちながら、コピーした信号だけをディストーションさせる)。

エフェクトの行に "BUS": 1 または "BUS": 2 を追加すると、オーディオを特定の経路にルーティングできます。


7.11 プリセットの例

実際の例をもとにした、「壊れたラジオ」風のプリセットの完全な例です。

構文:

{  "pos": 0,
"name": "BAD RECEPTION",
"comment": "static noise that clears up when handle is pushed",

"list": [
{ "effect": "DIST", "amount": 10.0, "mix": 0.5 },
{ "effect": "LOWPASS", "cutoff": 0.2 },
{ "effect": "SAMPLE" }
],
"handle": {
"row": 1,
"param": "cutoff",
"depth": 0.8
},
"shake": {
"row": 0,
"param": "mix",
"depth": 0.5
},
"trigger": { "row": 2 }
}
  1. オーディオはディストーション(row 0)→ ローパスフィルター(row 1)→ サンプル出力(row 2)の順に通過します。
  2. ローパスフィルターは最初は閉じた状態(0.2)から始まり、こもったサウンドになります。
  3. ハンドル:ハンドルを押すとcutoffに0.8が加算され、フィルターが開いて(クリアな音になり)ます。
  4. shake:本体を振るとディストーションのmixが増加します。

目次へ戻る


参照元情報:TE - EP-2350 7. Customising fx-mic
https://teenage.engineering/guides/ep-2350