K104E
Dual ADSR Envelope Generator
ファームウェア バージョン 1.0
デュアル高機能エンベロープジェネレータ
概要
K104E は、RP2040マイコンベースのデュアルADSRエンベロープジェネレーターです。VCV Rack の K104 モジュールを基に開発され、高機能なCVルーティング、ループモード、プリセット機能を搭載しています。
重要な注意事項
• 入力電圧は 0-3.3V です。5V入力は故障の原因となります
• 出力電圧は 0-3.3V です。0-10Vでの使用には外部回路でのスケーリングが必要です
• USB接続でのバスパワー動作のため、外部電源は不要です
• Web Editor は Google Chrome 専用です
• Web Serial API が必要なため、他のブラウザでは動作しません
• Arduino IDE等の他のシリアル通信アプリケーションは事前に終了してください
技術仕様
| 項目 | 仕様 |
|---|---|
| CPU | RP2040 Dual-Core ARM Cortex-M0+ @ 133MHz |
| メモリ | 264KB RAM, 2MB Flash |
| 更新レート | 1kHz(スムーズな応答) |
| 分解能 | 10bit ADC入力, 12bit DAC出力 |
| レイテンシ | < 1ms(リアルタイム性能) |
| 接続 | USB(シリアル通信・ファームウェア更新) |
| 電源 | USBバスパワー(外部電源不要) |
ハードウェア構成
フェーダー(MCP3008 ADC)
ENV A
- Attack - アタック時間の調整
- Decay - ディケイ時間の調整
- Sustain - サステインレベルの調整
- Release - リリース時間の調整
ENV B
- Attack - アタック時間の調整
- Decay - ディケイ時間の調整
- Sustain - サステインレベルの調整
- Release - リリース時間の調整
フェーダー特性
- 全フェーダーはsqrt(x)カーブレスポンス(低域敏感、高域精密)をデフォルトとして採用
- Web Editorでレスポンスカーブの変更が可能
内蔵ADC入力
| 入力 | 機能 |
|---|---|
| A0 | ENV A Linearity/Curve 制御 |
| A1 | ENV B Linearity/Curve 制御 |
| A2 | External CV1(CVルーティング用) |
| A3 | External CV2(CVルーティング用) |
Gate入力
| 入力 | 機能 |
|---|---|
| Pin 8 | ENV A Gate 入力(0-3.3V) |
| Pin 7 | ENV B Gate 入力(0-3.3V) |
| BOOTSEL | 一時的なテスト用ゲート(両ENV同時) |
出力(MCP4822 DAC)
| 出力 | 機能 |
|---|---|
| CH1 | ENV B CV 出力(0-3.3V) |
| CH2 | ENV A CV 出力(0-3.3V) |
ハードウェアスイッチ
SW1 + SW2: ループモード制御
SW1=0: ループオフSW1=1, SW2=0: ENV A 自動ループSW1=1, SW2=1: ENV B 自動ループ
LEDインジケータ(Pin 16)
| 色 | 状態 |
|---|---|
| 消灯 | ループオフ |
| 🔴 赤 | ENV A ループ中 |
| 🔵 青 | ENV B ループ中 |
ADSR動作モード
通常モード(ループオフ)
Gate ON → Attack → Decay → Sustain → Gate OFF → Release → Off
通常のADSRエンベロープ動作です。ゲート信号に従ってエンベロープが生成されます。
ループモード(ループオン)
スイッチ ON → Attack → Decay → Sustain(100ms) → Release → Attack → ...
ゲート信号無関係で連続動作
ループモードでは、ハードウェアスイッチをオンにするとゲート信号に関係なく連続的にエンベロープが循環します。LFOのような周期的な信号生成に使用できます。
CVルーティング機能
External CV1/CV2を各エンベロープパラメータに割り当て可能です。
対応パラメータ
- Attack(アタック時間)
- Decay(ディケイ時間)
- Sustain(サステインレベル)
- Release(リリース時間)
- Linearity(エンベロープカーブ)
設定方法
- Web Editor または シリアルコマンド で設定
- リアルタイムでモジュレーション適用
- モジュレーション量(Amount)の調整が可能
プリセット機能
フラッシュストレージ
- 16スロット × 256バイト
- チェックサム検証 でデータ整合性保証
- CVルーティング、ループモード、フェーダー設定 を保存
シリアルコマンド操作
preset save 1 "My Setting" # スロット1に保存
preset load 1 # スロット1から読み込み
preset list # 全プリセット表示
preset factory # 工場出荷時リセット
Web Editor使用方法
起動方法
- Editor フォルダに移動
- 必要なパッケージをインストール:
npm install - 開発サーバーを起動:
npm run dev - ブラウザで
http://localhost:3000にアクセス
接続手順
- “Connect Device” ボタンをクリック
- K104E の USBシリアルポート を選択
- 接続成功 で緑色のステータス表示が確認できます
主要機能
CVルーティング設定
- External CV1 → ENV A の各パラメータにチェック
- External CV2 → ENV B の各パラメータにチェック
- Amount スライダー でモジュレーション量調整(0.0-1.0)
フェーダーレスポンス設定
| カーブ | 特性 |
|---|---|
| Linear | 直線的な応答 |
| Sqrt | 低域敏感(デフォルト) |
| Square | 高域敏感 |
| Cube | 極端に高域敏感 |
ループモード制御
- ENV1 Loop / ENV2 Loop ボタンでソフトウェア制御
- 注意: ハードウェアスイッチが優先されます
プリセット管理
- Save: 現在設定を保存
- Load: 選択プリセットを読み込み
- スロット選択: 0-15の番号をクリック
シリアルコンソール
- リアルタイム通信ログ 表示
- 手動コマンド送信 機能
- クイックコマンド ボタン
シリアルコマンド一覧
基本操作
gate # ゲート状態確認
mcp # MCP3008 ADC値表示
extcv # 外部CV値表示
loop # ループモード状態表示
CVルーティング
route cv1_attack on/off # CV1→ENV A Attack
route cv1_amount 0.8 # CV1 モジュレーション量
routing # 全ルーティング設定表示
フェーダー設定
fader env1_attack sqrt # ENV A Attack フェーダーをsqrtカーブに
fader all linear # 全フェーダーをlinearに
fader # 現在設定表示
メモリ・システム
memory # RAM/Flash使用量表示
get_state # 現在設定をJSON出力
get_presets # プリセット一覧をJSON出力
トラブルシューティング
Web Editor接続できない
症状: デバイスが認識されない、接続ボタンが反応しない
解決方法:
- Google Chrome使用確認(Chrome専用)
- デバイス認識確認(USBシリアルドライバ)
- 他アプリケーション終了(Arduino IDE等)
- USBケーブル確認(データ通信対応ケーブル使用)
ADSRが動作しない
症状: エンベロープが生成されない、出力が変化しない
解決方法:
- ゲート入力電圧確認(0-3.3V範囲)
- シリアルコマンド
gateでゲート状態確認 - ループモード確認(予期しない連続動作)
- フェーダー位置確認(極端な設定でないか)
フェーダーが効かない
症状: フェーダーを動かしても値が変わらない
解決方法:
- シリアルコマンド
mcpでADC値確認 - 配線確認(MCP3008 SPI1接続)
- フェーダーレスポンス設定確認
- 接触不良確認(フェーダーの清掃)
設定が保存されない
症状: プリセット保存後、電源再投入で設定が消える
解決方法:
- プリセット保存確認
preset saveコマンド実行 - フラッシュメモリ確認
memoryコマンドで容量確認 - チェックサム確認
preset listでデータ整合性確認
CVルーティングが機能しない
症状: 外部CVを接続してもモジュレーションがかからない
解決方法:
- CV入力電圧確認(0-3.3V範囲)
- ルーティング設定確認
routingコマンドで設定表示 - Amount値確認(0.0より大きい値に設定)
- 外部CV確認
extcvコマンドで入力値確認
フィードバックとサポート
機能についてのご意見・ご感想、不具合の報告、機能要望などは以下からお寄せください:
K104E Dual ADSR Envelope Generator - 高機能エンベロープで音楽表現を拡張