summaryrefslogtreecommitdiff
path: root/src/mml_composemusic_mcp
AgeCommit message (Collapse)Author
2026-07-15feat: MMLパーサーと意味解析を厳格化tanaka takashi
- ppmckの終端分岐付きリピートとL制御トラックを実装 - case、構文構造、音長、エフェクト値域の検証を強化 - Pyxel拡張コマンドのarityと参照検証を追加 - リピート展開上限と構文・意味エラー時の合成停止を追加 - BNF、設計書、適合監査、回帰テストを更新
2026-07-12waveファイルの出力先変更tanaka takashi
mmlファイルをwaveファイルと一緒に出力するように変更 サンプルデータ追加
2026-07-12feat: 合成機能テンプレートの拡充とドキュメントの更新tanaka takashi
- ppmck/pyxel向けに表現力のある作曲テンプレートを追加 - エンベロープ、ビブラート、音程変化の使用例を追加 - テンプレートの検証・IR・音声合成テストを追加 - README、設計書、MCP仕様書を現行実装に合わせて更新
2026-07-12feat: MML拡張合成とNTSC 2A03準拠のIR v2音源を実装tanaka takashi
- エンベロープ、LFO、ビブラート、グライドのグローバル定義表を追加 - ppmckおよびPyxelの拡張コマンドを音声合成へ反映 - 2A03のPulseデューティ列、Triangle DAC、Noise LFSR、Sweepを実装 - APUタイマーに基づく周波数量子化と非線形ミキサを追加 - 途中テンポ変更、拡張コマンドの検証、トラック外定義に対応 - APU規格、拡張合成、IR v2のテストを追加 - プロジェクト独自のppmck拡張仕様と対応範囲を文書化
2026-07-12feat(ppmck): mckc準拠の構文拡張とIR保持コマンド追加tanaka takashi
- @をデューティ比、qをクオンタイズに修正(mckc原本準拠) - ^タイ、Dディチューン、sスイープ、v+/v-相対音量を追加 - @v/@@/@MP/@EP/@EN エンベロープ・LFO系を構文解析してIR保持 - 上記IR保持コマンドは合成未対応を SEMANTIC_UNSUPPORTED_FEATURE で警告 - Design.md / MML_BNF.md を更新 - 全200テスト + ruff チェック通過
2026-07-12MML構文解析処理一部修正。ドキュメント最新化tanaka takashi
2026-07-12MML構文解析処理を追加tanaka takashi
2026-07-12waveファイル名可変対応tanaka takashi
2026-07-11ドキュメントとコメント一部更新tanaka takashi
2026-07-11fix: stdio transport 起動時の TypeError ↵tanaka takashi
修正とトラック外コマンド警告の追加
2026-07-11fix: ↵tanaka takashi
レビュー指摘事項の修正(エラー戻り値統一、タイ延長、ネストリピート、専用エラーコード) High severity: - compose action エラー戻り値の validation キー統一(server.py) - ppmck/pyxel タイ & の duration 延長修正(_tie_pending フラグ導入) - pyxel ネストリピート対応(RepeatFrame + イベントスナップショット方式) Medium severity: - 専用エラーコード追加: VALIDATION_MISSING_PARAMETER, VALIDATION_INVALID_MODE, VALIDATION_INVALID_ACTION - SYSTEM_INTERNAL_ERROR キャッチ範囲拡大(compose/validate全体をtry/except) Low severity: - 設計書 line/column を1始まりに明記、APIレベルエラーコード追記 テスト: 129 passed, ruff: All checks passed
2026-07-11テスト追加と修正tanaka takashi
2026-07-11feat: implement Famicom-style MML composer MCP servertanaka takashi
- Add FastMCP server with compose_mml tool - Support ppmck and pyxel MML syntax - Add lexer and parsers for both formats - Add NES APU-style synthesizer (pulse/triangle/noise) to WAV - Add MML templates (basic/melody/chord/drum/empty) for both modes - Add tests for lexer, parser, and server - Support stdio, http, sse, streamable-http transports - Update README, pyproject.toml, and .gitignore