mcpField
U
u-he Preset Randomizer

u-he Preset Randomizer

ローカル
github.com/Fannonメディア・デザイン326 週間前に更新

u-he Preset Randomizer について

u-he Preset Randomizer は、u-he シンセサイザーのプリセットを生成するコマンドラインツールで、MCP サーバーも提供します。ユーザー自身のプリセットライブラリを分析し、統計的な分布に基づいてランダムに生成、変更、または合成します。既存の音色集から新しいサウンドを得たい音楽制作者に適しています。

主な機能

  1. 01ライブラリの値分布に基づく完全ランダム生成
  2. 02調整可能な度合いでの既存プリセットのランダム化
  3. 03複数プリセットの重み付き合成
  4. 04フォルダ、タグ、作者、お気に入りによる絞り込み
  5. 05会話形式で閲覧・生成できる MCP サーバー

活用シーン

  1. 01既存の Diva プリセットライブラリから新しい音色を生成
  2. 02プリセットを 20% のランダム度で変化させたバリエーションの作成
  3. 03複数のパッドプリセットをハイブリッド音色に合成

MCP 対応

本プロジェクトは MCP サーバーを提供し、Claude などの AI アシスタントがプリセットの検索や特徴の説明を行い、自然言語の指示でプリセットを生成・合成できるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"fannon-u-he-preset-randomizer": {
"command": "npx",
"args": [
"-y",
"u-he-preset-randomizer"
],
"env": {
"UHE_CUSTOM_FOLDER": "<UHE_CUSTOM_FOLDER>",
"DEBUG": "<DEBUG>"
}
}
}
}
起動コマンドnpx -y u-he-preset-randomizer
設定が必要な環境変数
UHE_CUSTOM_FOLDEROptional override for preset root discovery when synths are stored outside default locations.
DEBUGEnable verbose logging for troubleshooting.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmu-he-preset-randomizer1.2.0

ツール

14

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

u-he-preset-randomizer

既存のプリセットをランダム化およびマージ(遺伝学的なイメージ)することで、u-he シンセのプリセットを生成します。

このツールは、3 つの異なるモードでランダムプリセットを生成できます:

  • プリセットライブラリ内の実際の値と値の分布に基づいて、完全にランダムなプリセットを生成
  • 既存のプリセットをランダム化、カスタマイズ可能なランダム性の度合いで
  • 複数のプリセットをマージ、それらの間の異なる比率によってランダム性を導入

ランダム化 / マージのアプローチは非常に汎用的で、実際のプリセットライブラリを分析し、その結果得られる統計分布に基づいてランダム値を決定します。

ランダム化に影響を与えるオプションのフラグ / モードがあります:

  • ランダム生成の基礎となる分析対象のプリセットを絞り込みます。
    • 例えば、サブフォルダ、特定のタグカテゴリ、作者、またはお気に入りのファイルエクスポートのみを使用するなどです。
    • これは生成されるプリセットの値の範囲に影響を与え / 制限します。
  • より信頼性が高いが、わずかにランダム性が低い結果を得るには stable モードを使用します
  • binary モードを使用します。--binary の CLI 引数のドキュメントを参照してください。

すべてのプラットフォーム上のすべての u-he シンセで動作するはずです。 シンセによっては、よりシンプルなアーキテクチャのためにより良く動作する場合があります(例: u-he Diva、Repro)。 Bazille や Zebra のようなよりモジュラーなシンセでも動作しますが、より「多様な」結果や壊れたプリセットが生成されることがあります。

使用方法

これは、ターミナル / コマンドラインで実行する必要がある CLI アプリケーションです。

まず、Node.js ランタイムをインストールする必要があります。 次に、ターミナル / コンソール / コマンドプロンプトを開き、コマンドを入力して起動します。オプションでいくつかの引数を指定できます。 コマンドは npx u-he-preset-randomizer@latest で始まり、これによりこのツールの最新バージョンがダウンロードされて実行されます:

npx u-he-preset-randomizer@latest

これにより、ツールが対話モードで起動します。必要な選択をガイドします。 あるいは、選択肢をすでに把握している場合は、いくつかの引数を渡すこともできます(非対話モード)。

生成されたパッチは、選択したシンセのプリセットディレクトリ内の、ユーザープリセットの /RANDOM フォルダに配置されます。

GIF Recording

オフラインで使用するためにツールをダウンロードし、手動で更新したい場合:

# install it as a global CLI tool
npm i -g u-he-preset-randomizer

# Now you can run it without npx:
u-he-preset-randomizer

MCP サーバーインターフェース

CLI に加えて、このツールは Model Context Protocol(MCP)サーバーを提供しており、Claude のような AI アシスタントが自然な会話を通じて u-he プリセットを操作できるようにします。

機能:

  • 🔍 プリセットライブラリを会話形式で検索および閲覧
  • 📝 プリセットをユニークにする要素についての詳細な説明を取得
  • 🎲 自然言語の指示でランダムプリセットを生成
  • 🔄 AI 支援ワークフローを通じてバリエーションを作成し、プリセットをマージ
  • 💾 ステートフルなセッション - シンセを一度選択すれば、その後は自由に探索できます

Claude Desktop のクイックセットアップ:

Claude Desktop の設定ファイル(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加します:

{
  "mcpServers": {
    "u-he-preset-randomizer": {
      "command": "u-he-mcp-server"
    }
  }
}

その後、Claude に次のように質問できます:

  • 「インストールされているシンセは何ですか?」
  • 「Diva のベースプリセットを見せて」
  • 「『303 Bass』プリセットのバリエーションを 30% のランダム性で 5 つ作成して」
  • 「お気に入りのパッドプリセットをマージしてハイブリッドサウンドを作成して」

📚 MCP サーバーの完全なドキュメントを読む →

CLI の使用例

完全にランダム化されたプリセットを生成する

このコマンドは、ランダマイザーを実行して、完全にランダム化された Diva プリセットを 3 つ生成します。 ランダム値は、実際のプリセットの実際の値(およびその分布)に基づきます。

npx u-he-preset-randomizer@latest --synth Diva --amount 3
特定のプリセットをランダム化する

このコマンドは、特定のプリセット「HS Greek Horn」を取り、それの 5 つのランダムなバリエーションを 20% のランダム化率で作成します。

npx u-he-preset-randomizer@latest --synth Diva --amount 5 --preset "HS Greek Horn" --randomness 20
複数のプリセットをまとめてマージする

このコマンドは複数のプリセットをまとめてマージします。それぞれが「継承」においてどの程度の重みを持つかはランダムな比率で決まります。 次の例では、3つの Diva プリセット(それぞれ --merge で指定)を取得し、それらから5つのマージ済みバリアントを作成します。

npx u-he-preset-randomizer@latest --synth Diva --amount 5 --merge "HS Greek Horn" --merge "HS Strumpet" --merge "HS Baroqualog"

ヒントとコツ

  • u-he のプリセットブラウザーは、カテゴリやタグなどによるプリセットのフィルタリングと結合において最も柔軟性があります。これを使って、プリセットを新しいフォルダーにコピーしたり、.uhe-fav ファイルのエクスポートを作成したり、それを用いてコマンドラインでの選択を絞り込んだりできます。
  • プリセットをマージする際、同じプリセットを複数回選択できます。これを使って、あるプリセットが結果にどれだけ強く影響するかの「重み」を割り当てることができます。
CLI 引数 / 設定

どの値を使用すればよいか不明な場合は、ツールをインタラクティブモードで実行してください。 ここにあるほとんどの設定オプションは、オートコンプリートまたは候補表示で利用できます。

  • --synth: u-he のシンセを選択します。すべてのシンセがテストされているわけではありませんが、ランダマイザーは汎用的に動作するように努めています。名前は u-he のフォルダー名の命名規則と一致している必要があります。例: Diva、Hive、ZebraHZ。
  • --amount: 生成するプリセットの数。正の整数値です。
  • --randomness: 既存のプリセットまたはマージ後のプリセットをランダム化する際に適用するランダム性の量 (パーセンテージ)。値は 0 から 100 の間である必要があります。
  • --preset: 指定した場合、既存のプリセットがベースとして使用され、--randomness の比率でランダム化されます。
    • ランダムなプリセットを選択するには「?」を使用します
    • パスとファイル名に「search string」を含むランダムなプリセットを選択するには ?search string? を使用します。
  • --merge: マージに含める各プリセットに対して、複数回指定できます。マージされるプリセット間の比率はランダムであり、--randomness パラメーターによって制御されるものではありません。
    • ランダムなプリセットを選択するには ? を使用します
    • パスとファイル名に「search string」を含むランダムなプリセットを選択するには ?search string? を使用します。
    • すべてのプリセットを選択するには * を使用します (注意してください! まず --pattern で絞り込むことをおすすめします)。
    • パスとファイル名に「search string」を含むすべてのプリセットを選択するには *search string* を使用します。
  • --pattern: どのプリセットを読み込むかを定義する glob パターンを指定します。
    • デフォルトでは **/* で、すべてのサブフォルダーからすべてのプリセットを読み込みます。
    • サブフォルダーを選択するには、例: My Folder/**/* を使用します
    • 特定の文字列で始まるプリセットを選択するには、例: **/PD * を使用します
  • --folder: フォルダーでプリセットを絞り込みます。起点として /Local/ または /User/ を使用します。
  • --category: プリセットカテゴリ (メタデータ) でプリセットを絞り込みます
  • --author: プリセットの作者 (メタデータ) でプリセットを絞り込みます
  • --favorites: .uhe-fav ファイルによる選択でプリセットを絞り込みます。ファイルはプリセットライブラリ内のどこかに配置する必要があります。
  • --stable: より安定したランダム化アプローチを使用します
    • 完全にランダムなプリセットの場合、パラメーター単位ではなくセクション単位 (例: OSC1 全体をまとめて) でランダム化されます
    • 数値の非バイナリ割り当てを持つパラメーターのみがさらにランダム化されます。それ以外は、選択されたベースプリセットまたはランダムなスタータープリセットと一貫性を保ちます。
  • --binary: u-he プリセットのバイナリ部分を保持します。それらは変更されませんが、ランダム生成されたプリセットにはランダムなプリセットまたはランダム化のベースとなったプリセットのいずれかのバイナリセクションが含まれるようになります。
    • これには MSEG カーブなどの詳細設定が含まれますが、このツールは実際にはこれを解析または変更できません。すべてのバイナリセクションが他のパラメーター調整と互換性があるわけではなく、無効なプリセットになることがあります。
    • ⚠ バイナリモードを使用すると、壊れたプリセットが生成され、読み込み時にシンセプラグインがクラッシュする可能性があります。注意して使用してください。一部のシンセではうまく機能し (Repro、Diva、Zebralette 3)、一部のシンセでは頻繁に無効なプリセットになります。
  • --binary-template: ランダムなライブラリプリセットではなく、厳選されたバイナリセクションテンプレートを使用します。これは Zebralette 3 ではデフォルトで有効になっています。
    • テンプレートは src/templates/{synthName}/ に保存され、重みが先頭に付きます (例: 15-Basic Shapes.h2p は重み 15 を持ち、01- で始まるテンプレートよりも 15 倍選択されやすくなります)。
    • テンプレートはランダム化されたパラメーターと問題なく動作することがテストされているため、このアプローチは --binary よりも安全です。
  • --dictionary: プリセットライブラリで使用されている名前の辞書からランダムな名前を生成します
  • --custom-folder: インストールフォルダーがカスタムの場合、ここで指定できます
    • 例: --custom-folder "C:/Audio/Plugin Installationen/u-he/"
  • --debug: いくつかのオプションのデバッグログとファイルエクスポートを有効にします

サウンドセット

カバーリンク説明
Diva Generated Vol. 1Diva Generated Vol. 1 (ZIP)、オーディオデモ (YouTube)u-he Diva 向けのランダム生成プリセット 50 個。Simon Heimler が 2024 年にキュレーション、修正、タグ付けを行いました。
Repro-5 GeneratedRepro-5 Generated (ZIP)、オーディオデモ (YouTube)u-he Repro 向けのランダム生成プリセット 42 個。Simon Heimler が 2024 年にキュレーション、修正、タグ付けを行いました。
Repro-1 Generated Vol. 1Repro-1 Generated Vol. 1 (ZIP)、u-he Repro 向けのランダム生成プリセット 28 個。Simon Heimler が 2024 年にキュレーション、修正、タグ付けを行いました。

開発者ガイド

このツールを開発者モードでローカルに実行するには、Node.js と Bun がインストールされている必要があります。リポジトリをチェックアウトして、次を実行してください:

npm i
npm run build

# Run the CLI in development mode (using Bun):
bun run dev --synth Diva --amount 3

# Run tests:
bun test

# Maintenance scripts
npm run clean      # remove dist output and incremental build cache
npm run build:dist # emit declarations + source maps for npm publish (runs automatically via prepublishOnly)

AGENTS.md には、開発の観点からこのプロジェクトがどのように動作するかについての詳細なコンテキストが記載されています。

また、u-he プリセットのパーサー / シリアライザー関数を NPM モジュールとして公開しているため、他のプロジェクトからプログラム的に使用できます。ただし、パーサーのみに関心がある場合でも、必要以上の依存関係を継承してしまう可能性があります。./src/parser.ts を参照してください。

ヘルプ / フィードバック

関連する KVR スレッドを利用するか、GitHub イシューを作成してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。