インストラクターのロゴ

instructables PICO MIDI SysEx パッチャー

instructables-PICO-MIDI-SysEx-Patcher-fig-1

製品情報

  • baritonomarchettoのPICO MIDI SysEx Patcherは、vinのプログラミング性を高めるために設計されたハードウェアソリューションです。tagプログラマビリティに欠けるシンセサイザーです。Raspberry Pi Pico マイクロコントローラ ボードをベースにしており、LED ディスプレイ、プッシュ ボタンが組み込まれた 2 つのロータリー エンコーダ、およびプッシュ ボタンを備えています。また、シリアル操作とオープン ファームウェア用の MIDI 入力も備えています。プログラマをマスター コントローラとシンセサイザーの間に配置することで、シーケンスの再生中にパラメータをリアルタイムで変更したり、マスター コントローラからターゲット シンセにその他の MIDI メッセージを転送したりできます。
  • PICO MIDI SysEx Patcherは、いくつかのvinをサポートしていますtagRoland Alpha Juno (1/2)、Korg DW8000/EX8000、Oberheim Matrix 6/6R (> 2.14 ファームウェア) などの電子シンセサイザー。

製品使用説明書

  1. PICO MIDI SysEx PatcherをマスターコントローラーとVINの間に接続しますtagパッチを作成するシンセサイザー。
  2. マスターコントローラーとVINをオンにしますtagシンセサイザー。
  3. 2 つのロータリー エンコーダーを使用して、シーケンスの再生中にリアルタイムでパラメーターを移動および変更します。
  4. プッシュ ボタンを使用して、マスター コントローラーからターゲット シンセにその他の MIDI メッセージを転送します。
  5. ディスプレイの使用方法とソフトウェア レベルでパラメータをグループ化する方法の詳細については、ユーザー マニュアルを参照してください。
    注記: 必ずあなたのVINtagシンセサイザーを使用する前に、PICO MIDI SysEx Patcher でサポートされていることを確認してください。また、必要なコンポーネントとその組み立て方法については、ユーザー マニュアルのハードウェアの説明セクションを参照してください。

製品について

  • 私はワインに弱いtag電子シンセサイザー。誤解しないでほしいのですが、現在の音楽制作シーンは刺激的ですが、私は「時代遅れ」のキーボードを最も多く演奏しています。
  • 80 年代半ばの機器の欠点の XNUMX つは、プログラミングができないことです。プログラミングは面倒な作業になる場合があり、サードパーティのソフトウェアが SysEx プロトコルをサポートしていないことも問題です。
  • とにかく、この問題に対処するには、ソフトウェア (Ctrlr と言ったのは誰ですか?) とハードウェアの 2 つのアプローチがあります。
  • 言うまでもなく、ここではハードウェア ソリューションを扱っています。
  • 私はすでに、Roland a-Juno、Oberheim Matrix 6、Korg DW8000、SCI Multitrack など、黄金時代の象徴的な楽器のプログラミング機能を、Arduino MEGA ベースの SysEx プログラマーとシーケンサーの組み合わせで強化したと思います。最近 Raspberry Pi Pico マイクロコントローラー ボードに夢中になったので、この問題の解決方法を思い返しました。
  • Raspberry Pi Pico は安価で強力なマイクロコントローラーであり、最近の私のお気に入りの選択肢です。新しいプロジェクトに採用していますが、古いプロジェクトを再検討するためにも採用しています。
  • IC のメモリ制限がなくなったため (ただし GPIO の数は制限されています)、以前のプロジェクトとはまったく異なるインターフェイスとワークフローを持つものができました。
  • 良くなった? 悪くなった? 決めるのはあなたです 🙂

用品

部品表 (BOM) に従います:

  • マイクロコントローラ、IC、ディスプレイ
    • Raspberry Pi Pico (1 GPIO クローン) x 30
    • 1N6オプトカプラ×138
    • 1A LEDディスプレイ x 1602
  • コンデンサ、抵抗器、トリマー
    • 3x 220オーム抵抗器
    • 1x 330オーム抵抗器
    • 1Kオーム抵抗器10個
    • 2オームトリマー1000個
      1nF 非極性コンデンサ x 100
  • ダイオードとエンコーダ
    • 1N1ダイオード×4148
    • 1N1ダイオード×4004
    • 2倍増分光学エンコーダ
  • その他
    • ポットノブ2個(オプション)
    • DCバレル×1
    • 1x B3F 4050 オムロン モーメンタリプッシュボタン
    • MIDI (DIN 2) コネクタ x 5

製品レイアウト

instructables-PICO-MIDI-SysEx-Patcher-fig-2
instructables-PICO-MIDI-SysEx-Patcher-fig-3
instructables-PICO-MIDI-SysEx-Patcher-fig-4
instructables-PICO-MIDI-SysEx-Patcher-fig-5
instructables-PICO-MIDI-SysEx-Patcher-fig-6

インストール手順

ステップ1: プログラマー機能

  • PICO MIDI SysEx プログラマーの主な機能は次のとおりです。
    • 内蔵LEDディスプレイ
    • 2つのロータリーエンコーダとプッシュボタンのみで簡単に操作できます。
    • MIDI入力、シリアル操作用
    • オープンファームウェア
  • はい、技術的には、これらのロータリー エンコーダーにはプッシュ ボタンが組み込まれており、実際に使用されているため、ボタンの数は「1」ではなく「3」になります。
  • プログラマーは、マスター コントローラーとパッチを作成するシンセサイザーの間に配置する必要があります。
  • これにより、シーケンスの再生中にパラメータをリアルタイムで変更したり、マスター コントローラーからターゲット シンセに配信するその他の MIDI メッセージを転送したりできるようになります。
  • 現在サポートされているシンセは次のとおりです:
    • ローランド・アルファ・ジュノ(1/2)
    • コルグ DW8000/EX8000
    • Oberheim Matrix 6/6R (> 2.14 ファームウェア)
  • 次のいくつかのステップでより詳しく説明しますが、ソフトウェア レベルでのパラメータの表示とグループ化は、このプロジェクトで重要な役割を果たします。詳細については、引き続きお読みください 🙂
ステップ2: ハードウェアの説明
  • インタフェース
    • このプログラマーでは、以前のプロジェクトとは逆のアプローチを採用したいと考えました。ここでは、インターフェース要素は最小限に抑えられ、回転式増分エンコーダー 2 つとメニュー ボタン (正確には 3 つのボタン) のみになっています。
    • 80 年代中期のシンセサイザーのプログラミング性の欠如に直面して生まれたプログラマーにとって、ノブの数を減らすことは後退のように見えるかもしれません。しかし、すべてのパラメータが適切に分類されているファームウェア (次の手順を参照) と、パッチ パラメータのカテゴリ、名前、および値をリアルタイムで表示する LED ディスプレイとの相乗効果を考えれば、そうではありません。
  • LEDディスプレイ
    適度な大きさの LED ディスプレイがあれば、特に時間をかけてパッチングを行う場合、パッチングがより快適になります。以前のハードウェア プログラマー プロジェクトには、小さな OLED ディスプレイが搭載されています。表示される情報はシーケンス プロパティに限定されるため、このハードウェアでは十分ですが、この場合は比較シートを必要とせずに、すべてのパッチ パラメーター名が表示されます。
  • マイクロコントローラ
    • 前述のとおり、使用されているマイクロコントローラは Raspberry Pi Pico です。このマイクロコントローラは、計算能力 (最大 133Mhz、デュアルコア) とメモリ ストレージ (最大 16Mb) の両方において強力です。今日の標準ではこの巨大なメモリにより、ファームウェアに詳細な文字列を含めることができるため、新しいアプローチを採用できます。
    • Raspberry Pi Pico も今のところ安いので…
  • ミディ
    • MIDI IN 回路と MIDI OUT 回路の両方が内蔵されています。
    • MIDI OUT は MIDI メッセージを送信するために必須であり、決して省略することはできません。
    • MIDI IN も必要です。プログラマーが接続されていると、シンセサイザーは他の楽器 (マスター キーボードや DAW など) からメッセージを受信できないためです。つまり、パッチとシーケンスのフェーズは必然的に分離/区別されます。内蔵の MIDI IN 回路を使用すると、シーケンスの実行とパッチの変更を同時に行うことができます (つまり、リアルタイムで適切なフィルター スイープを送信できます)。
    • MIDI IN 回路は、MIDI 協会の仕様に準拠したオプトアイソレーション回路です。目新しいものではありません。
  • 電源
    • SysEx プログラマーは、マイクロコントローラー ボードの USB-C コネクターから直接、または PCB に取り付けられた DC バレルを使用して、9 つの異なる方法で電源を供給できます。どちらも合法ですが、次の理由から最新のものを好みます。
      1. DCバレルはより頑丈です
      2. DCバレル入力はPICOの+5Vライン(いわゆる「Vsys」ピン)に直接接続され、内部の
        直列ダイオード保護。
    • センタープラスの PSU を使用する必要があります。逆極性保護ダイオードがあっても、PSU を損傷する可能性があるため、逆極性を適用しないでください (このような状況ではダイオード保護により GND と +5V が短絡するため、プログラマーは損傷しません)。
  • マイクロコントローラーボード
    私はすでに Raspberry Pi Pico マイクロコントローラ ボードを称賛してきました。ここで警告を 2 つ付け加えておきます。このマイクロコントローラ ボードには 16 つのバージョンがあります (30Mb から 9Mb のメモリで購入できることを無視すれば)。ここでは、公式 Pico とはピン配置が異なる 2 ピンのクローンを使用しています。現時点では、XNUMXMb バージョンで十分です。
ステップ3: プログラマパラメータの分類
  • 30 を超えるパラメータを順番に(XNUMX つずつ)スクロールするのは現実的ではありません。それにもかかわらず、このプログラマーは、サポートされているシンセサイザーの「シングル データ スライダー」インターフェイスの簡素化を主張しています。それはどういうことでしょうか。
  • 私にとって、ターゲットを照準するための可能な解決策は、パラメータをカテゴリ内にグループ化することでした。カテゴリ化により、パラメータの数が減ってアクセスしやすくなり、実際にパラメータを見つけやすくなります。
  • 分類はサポートされているすべてのシンセサイザーで同じ原則に従い、私の意図では、私たちが愛するアナログシンセサイザーの典型的な物理ブロック構造に似ています。オシレーター -> ボリュームtag電子制御フィルター -> ボリュームtage制御 amp変調源と効果は次項で説明します(詳細は以下を参照)。
  • コルグ DW8000
    • DW8000 (および EX8000) のパッチ パラメータは Korg によってすでに適切に定義されているため、プログラマーの分類はフロント パネルのグループ化に忠実に従います。
    • パラメータは 8 つのカテゴリに分類されます。
      • 発振器1
      • 発振器2
      • 巻tage制御フィルター
      • 巻tage管理 Amp嘘つき
      • 低周波発振器
      • 車輪
      • デジタルディレイ
      • その他(ポルタメント)
        サブカテゴリの詳細については、ステップ ヘッダーシートを参照してください。
    • フィルタリングして ampそれぞれのレイヤーには専用のエンベロープが1つずつあります。この場合、エンベロープパラメータはボリューム内でグループ化されます。tag目的地の制御要素。
    • MIDI モード/チャンネルを除くすべての DW8000 パラメータがサポートされています。
  • ローランド・ア・ジュノ
    • Roland a-Juno のパッチ パラメータの数は限られていますが、サポートされているシンセサイザーの中では、MIDI 実装におけるそのシーケンスが最もわかりにくいものです。フロント パネル シーケンスと同様の方法で MIDI 実装をグループ化するのに、少し時間がかかりました (同じではないにしても)。
    • ミッションは達成されました:
      • 発振器
      • 巻tage制御フィルター
      • 巻tage管理 Amp嘘つき
      • 封筒
      • LFO
      • コーラスとベンディング
        サブカテゴリの詳細については、ステップ ヘッダーシートを参照してください。
    • プログラマーは、Roland a-Juno の 36 個のパラメータすべてをサポートしています。単一の (割り当て可能な) エンベロープ パラメータは、専用のグループにまとめられています。
  • オーバーハイム マトリックス 6
    • Oberheim M6/M6r は最も先進的なシンセサイザーであり、最近の楽器と比較しても信じられないほど複雑なルーティングを特徴としています。
    • 音楽制作の世界では「複雑さ」が両刃のナイフになる可能性があることを私たちは学びました。また、パラメータを直接操作する機能がないため、Matrix 6 はサウンド エンジニアリングの点で最も過小評価されている「サウンド ファクトリー」の XNUMX つとなっています。
    • シンセがサポートする 99 個のパラメータのうち、「たった」 52 個が Programmer ファームウェアに含まれています。私はそれらを 9 つのグループに分類しました。
      • 発振器1
      • 発振器2
      • 巻tage制御フィルター
      • 巻tage管理 Amp嘘つき
      • Ramps
      • エンベロープ1
      • エンベロープ2
      • LFO1
      • LFO2
        サブカテゴリの詳細については、ステップ ヘッダーシートを参照してください。
    • 3 番目のエンベロープ、トラック ポイント、クリックなどを方程式から除外して、パラメーターを適切な数に制限しようとしました。いずれにしても、Raspberry Pi Pico のメモリ サイズのおかげで、これらすべてを処理することが可能です。
    • プログラマーによって処理されないパラメーターは「無効」にはなりませんが、シンセ パネルからアクセスできます。
    • マトリックス変調は複雑すぎて組み込めなかったため、省略しました。

      instructables-PICO-MIDI-SysEx-Patcher-fig-7
      instructables-PICO-MIDI-SysEx-Patcher-fig-8
      instructables-PICO-MIDI-SysEx-Patcher-fig-9

ステップ4: 使い方

  • 初めて電源を入れると、シンセ選択と MIDI チャンネル メニュー ページが表示されます。
    • LEFT ノブ (PARAMETER ノブ) を回して、ターゲット シンセがリッスンする MIDI チャンネルを選択します。
    • 右ノブ(VALUE ノブ)を回して、MIDI メッセージを送信するシンセサイザーを選択します。
  • プログラマーをリセットするたびに、この操作を実行する必要があります。 ファームウェアがオープン ソースであるため、開始シンセと MIDI チャンネルを定義する 2 つの変数を永続的に変更するのは非常に簡単です。
  • 「メニュー」ボタンを押してメニューモードを終了できます。サポートされているパッチパラメータを変更するには:
    • 左側のロータリーエンコーダ(PARAMETERノブ)を回して、関心のあるパラメータのカテゴリ(LEDディスプレイの上部に名前が表示されます)を選択します。
    • 左側のロータリーエンコーダーのプッシュボタンを押すと、実際のパラメータ選択に切り替わります(名前はLEDディスプレイの下部に表示されます)。
    • 左側のエンコーダ(PARAMETERノブ)を回して、変更したい実際のパラメータを選択します。
    • 右側のロータリーエンコーダを回して、希望するパラメータ値を選択します。右側のロータリーエンコーダのプッシュボタンを押すと、パラメータ値を10ずつ進めることができます。
  • パッチパラメータ値は、値が変更されるとすぐに MIDI 送信され、「リアルタイム」パッチングが行われます。
  • 関心のあるパラメータに対してこの手順を繰り返します。
  • メニュー画面に戻りたい場合は、メニューボタンを押すだけです。
  • 以下の点にご注意ください:
    • プログラマーのパラメータは、シャットダウン後にプログラマーを初めてオンにしたとき、またはメニューで別のシンセサイザーを選択したときに、すべて「ゼロ」の値に初期化されます。
    • パラメータ値が変更されると、プログラマがリセットされたりオフになったりしない限り、その値はメモリに保持されます。
    • シンセサイザーのフロント パネルからパラメータ値を変更した場合、プログラマ パラメータは更新されません (同期されません)。
      >>こちら<< は最新バージョンのスケッチ リポジトリ (Github) です。オープンソースなので、スケッチを自由に変更したり、バグを修正したりすることができます (次の手順を参照) 😉

      instructables-PICO-MIDI-SysEx-Patcher-fig-10
      instructables-PICO-MIDI-SysEx-Patcher-fig-11
      instructables-PICO-MIDI-SysEx-Patcher-fig-12

ステップ5: 制限/バグをスケッチする

  • 現在の予備スケッチには大幅な改善の余地があります。
  • 例ではampたとえば、プログラマーがオンになるたびに起動時に選択する代わりに、MIDI チャンネルとシンセサイザーを保存する機能を追加できます。まだ空きメモリの量を考えると、他のシンセサイザーもサポートすると便利です。現在のパッチ パラメーターを取得して保存し、プログラマーとシンセサイザーを同期させると便利です。
  • また、このコードの最初の反復には、厄介なバグがいくつかあることも報告しなければなりません。2 つの光学エンコーダーの 1 つを初めて回すと、ライブラリ (LCD ライブラリだと思いますが、よくわかりません) が初期化され、プログラマーが数秒 (2、3 秒) 応答しなくなります。大した問題ではありませんが、厄介です。
  • もう 1 つのバグは、SysEx 送信の一部が失われることです (光学エンコーダーの回転はすべて記録されますが、MIDI 出力に何も転送されないことがあります)。これは間違いなく問題です。

ステップ6: 謝辞

  • この Instructable に掲載されている PCB は、信頼性が高くコスト効率の高い PCB の製造を専門とするハイテク メーカーである JLCPCB がスポンサーになっています。
  • 同社は、9 を超える部品の膨大なライブラリを在庫し、柔軟な PCB アセンブリ サービスを提供しています。350.000D プリントが「最近」同社のサービス ポートフォリオに追加されたため、完成した製品をすべて 3 か所で作成できるようになりました。
  • 彼らのカスタマーサービスは反応が良く、親切で、PCB は価格に見合った価値があります。
  • このプロジェクトの実現における彼らの貢献は不可欠でした…本当にありがとうございます! 🙂
  • このリンク(関連リンク)から JLCPCB サイトに登録すると、注文時に使えるクーポンが届きます。登録料はかかりませんので、この機会にサービスを試してみるのもいいかもしれません 😉

    instructables-PICO-MIDI-SysEx-Patcher-fig-13
    instructables-PICO-MIDI-SysEx-Patcher-fig-14

ドキュメント / リソース

instructables PICO MIDI SysEx パッチャー [pdf] 取扱説明書
PICO MIDI SysEx パッチャー、MIDI SysEx パッチャー、SysEx パッチャー、パッチャー、PICO MIDI SysEx

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *