diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/Design.md | 34 | ||||
| -rw-r--r-- | doc/mcp.md | 4 |
2 files changed, 19 insertions, 19 deletions
diff --git a/doc/Design.md b/doc/Design.md index b2ded54..fdaf860 100644 --- a/doc/Design.md +++ b/doc/Design.md @@ -1,4 +1,4 @@ -# ファミコン音源作曲MCPサーバ — 統合設計書 +# レトロチップ音源作曲MCPサーバ — 統合設計書 > 作成日: 2026-07-11 | ステータス: **実装済み(第1段階)** @@ -8,15 +8,15 @@ ### 1.1 目的 -LLMがMML(Music Macro Language)を記述することで、ファミコン(NES)のAPU音源をエミュレートした音楽を作曲・再生できるMCPサーバを設計・実装する。 +LLMがMML(Music Macro Language)を記述することで、レトロチップ音源(2A03 APU)のAPU音源をエミュレートした音楽を作曲・再生できるMCPサーバを設計・実装する。 ### 1.2 設計目標 | 目標 | 内容 | |---|---| | **LLMフレンドリ** | LLMが生成しやすいMML構文、明確なエラーメッセージ | -| **2モード対応** | `ppmck`モード(FC準拠)と`pyxel`モード(Pyxel準拠)を切り替え可能 | -| **正確な音源エミュレーション** | NES APU 4チャンネルの特性を忠実に再現 | +| **2モード対応** | `ppmck`モード(クラシックAPU準拠)と`pyxel`モード(Pyxel準拠)を切り替え可能 | +| **正確な音源エミュレーション** | レトロAPU 4チャンネルの特性を忠実に再現 | | **拡張性** | DPCM、エンベロープ等の第2段階機能を前提とした設計 | | **単一ツール** | `compose_mml` の1ツールで作曲・検証・テンプレート生成を完結 | @@ -25,7 +25,7 @@ LLMがMML(Music Macro Language)を記述することで、ファミコン( | 対象 | 内容 | |---|---| | 第1段階(実装済み) | 4ch MML解析、WAV合成、バリデーション、テンプレート生成、基本エラーコード | -| 第2段階(将来) | DPCMチャンネル、NSFファイル出力、FC実機風非線形ミキシング、エンベロープ合成、区間ループ(ppmck) | +| 第2段階(将来) | DPCMチャンネル、NSFファイル出力、クラシックAPU実機風非線形ミキシング、エンベロープ合成、区間ループ(ppmck) | | 対象外 | GUI / Webフロントエンド | ### 1.4 技術スタック @@ -470,7 +470,7 @@ mode = 1 if period >= 13 else 0 ## 6. APU音声合成エンジン -### 6.1 NES APU ハードウェア仕様 +### 6.1 レトロAPU ハードウェア仕様 #### 概要 @@ -535,20 +535,20 @@ NoteSequence │ ├─ 3. ミキシング │ 第1段階: 線形ミキシング (ch1+ch2+ch3+ch4)/4 - │ 第2段階: NES非線形ミキシングテーブル + │ 第2段階: レトロAPU非線形ミキシングテーブル │ └─ 4. ノーマライズ → 16bit PCM → WAV出力 ``` ### 6.3 ミキシング仕様 -| 項目 | 第1段階(線形) | 第2段階(FC実機風) | +| 項目 | 第1段階(線形) | 第2段階(クラシックAPU実機風) | |---|---|---| -| 方式 | 単純平均 `(ch1+ch2+ch3+ch4)/4` | NES非線形ミキシング | +| 方式 | 単純平均 `(ch1+ch2+ch3+ch4)/4` | レトロAPU非線形ミキシング | | クリッピング | -1.0 ~ 1.0 でクランプ | 実機と同様の段階的ミックス | | ノーマライズ | 有効時ピークを-1.0に正規化 | 無効化可能 | -> FC実機の非線形ミキシング: `output = 95.88 - (8128 / (sum_of_active_channels + 1))`。第2段階で実装。 +> クラシックAPU実機の非線形ミキシング: `output = 95.88 - (8128 / (sum_of_active_channels + 1))`。第2段階で実装。 --- @@ -556,7 +556,7 @@ NoteSequence ### 7.1 モード1: `ppmck` — PPMCKインスパイア独自形式 -PPMCKの文法をベースにしつつ、不要な複雑さを排除した独自サブセット。LLMが生成しやすく、FC音源の主要機能をカバーする。 +PPMCKの文法をベースにしつつ、不要な複雑さを排除した独自サブセット。LLMが生成しやすく、クラシックAPU音源の主要機能をカバーする。 #### 参考ドキュメント @@ -564,8 +564,8 @@ PPMCKの文法をベースにしつつ、不要な複雑さを排除した独自 |---|---| | PPMCK mckc.txt(MMLコンパイラ仕様書) | https://github.com/munshkr/ppmck/blob/master/doc/mckc.txt | | MCK Wiki MMLリファレンス | https://wikiwiki.jp/mck/MMLリファレンス | -| NES APUハードウェア仕様 (midi2nes) | https://github.com/matiaszanolli/midi2nes/blob/master/docs/NES_APU_REFERENCE.md | -| NES APU仕様 (problemkaputt.de ミラー) | https://github.com/RigleGit/nes-specs/blob/main/audioprocessingunitapu.md | +| レトロAPUハードウェア仕様 (midi2nes) | https://github.com/matiaszanolli/midi2nes/blob/master/docs/NES_APU_REFERENCE.md | +| レトロAPU仕様 (problemkaputt.de ミラー) | https://github.com/RigleGit/nes-specs/blob/main/audioprocessingunitapu.md | #### トラック構成例 @@ -631,7 +631,7 @@ L # 全体ループ(省略可) | 記法 | 意味 | 対象 | 備考 | |---|---|---|---| -| `v15` | 音量15(最大) | A, B, N | 0-15、FC準拠 | +| `v15` | 音量15(最大) | A, B, N | 0-15、クラシックAPU準拠 | | `v0` | 音量0(無音) | A, B, N | | > Triangleチャンネルでは `v` は無視(ハードウェア仕様、音量制御なし) @@ -885,7 +885,7 @@ PyxelのMML仕様に準拠。Pyxelのサウンドシステムに合わせた記æ | **コマンド** | `o` `l` `v` `t` `q` | `O` `L` `V` `T` `Q` `@` `K` `Y` | | **チャンネル指定** | `A` `B` `T` `N`(文字) | `0:`〜`3:`(番号) | | **チャンネル数** | 4ch(DPCM第2段階) | 4ch(DPCM非対応) | -| **音量範囲** | 0-15(FC準拠) | 0-127 | +| **音量範囲** | 0-15(クラシックAPU準拠) | 0-127 | | **音量デフォルト** | 15 | 100 | | **デューティ比** | `q0`〜`q3` で4種 | `@1`(50%), `@2`(25%) の2種のみ(Pulse系のみ有効) | | **ゲートタイム** | 第2段階で検討 | `Q0`〜`Q100`(default 80) | @@ -941,7 +941,7 @@ PyxelのMML仕様に準拠。Pyxelのサウンドシステムに合わせた記æ |---|---| | DPCMチャンネル | 5ch目のDPCM対応 | | NSF出力 | NSFファイル出力の検討 | -| 非線形ミキシング | FC実機風ミキシングテーブル | +| 非線形ミキシング | クラシックAPU実機風ミキシングテーブル | | エンベロープ合成 | `@v`(ppmck), `@ENV`(pyxel) の合成反映 | | ppmck 区間リピート | `[...]` の展開 | | ppmck スイープ | `s` コマンド | @@ -963,4 +963,4 @@ PyxelのMML仕様に準拠。Pyxelのサウンドシステムに合わせた記æ --- -以上が、ファミコン音源作曲MCPサーバの統合設計書です。 +以上が、レトロチップ音源作曲MCPサーバの統合設計書です。 @@ -6,7 +6,7 @@ | ツール名 | 説明 | |---------|------| -| `compose_mml` | ファミコン音源風MMLの解析・合成・テンプレート生成を行う | +| `compose_mml` | レトロチップ音源風MMLの解析・合成・テンプレート生成を行う | ## `compose_mml` @@ -14,7 +14,7 @@ MML文字列を解析し、以下のいずれかの処理を実行します。 -- `compose`: MMLをNES APU風音源で合成し、WAVファイルを出力する +- `compose`: MMLをレトロAPU風音源で合成し、WAVファイルを出力する - `validate`: MMLの構文を検証し、エラー・警告・チャンネル概要を返す - `template`: 指定したモード用のテンプレートMMLを生成する |
