summaryrefslogtreecommitdiff
path: root/doc/Design.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Design.md')
-rw-r--r--doc/Design.md34
1 files changed, 17 insertions, 17 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サーバの統合設計書です。