| Age | Commit message (Collapse) | Author |
|
Replace the server-local wav_path result with a protocol-native multimedia response.
- Split internal composition execution from MCP ToolResult serialization so filesystem paths never enter public payloads.
- Return every successfully composed WAV as AudioContent with the audio/wav MIME type, regardless of file size.
- Keep structured audio metadata, duration, note sequence, and validation details alongside the multimedia content.
- Use CallToolResult.isError as the authoritative MCP execution status while retaining compose success and validate valid as domain fields.
- Treat invalid compose/API requests and runtime failures as tool errors, while invalid MML discovered by validate remains a successful validation operation.
- Sanitize synthesis, file-write, audio-serialization, and unexpected failure responses so internal paths and exception details are not exposed.
- Add protocol-level coverage for base64 round trips, content block types, error semantics, ResourceLink absence, and path non-disclosure.
- Update existing tests for the separated execution layer and path-free result contract.
- Document AudioContent and isError behavior in the README, MCP schema, and design specification.
- Require the tested FastMCP 3.4.4 API line and exclude the incompatible 4.x major version.
Verification: 487 tests passed; ruff check passed; git diff --check passed; uv lock --check passed; and a manual MCP call returned TextContent plus AudioContent with no wav_path.
|
|
|
|
- C4〜C5のMIDI音番号とtimer値を検証
- Pulse、TriangleのPCM・WAV周波数測定を追加
- Noise periodとLFSRの適合テストを追加
- 2A02 timerのclamp・mute境界を検証
- Noise計算をテスト可能な純粋関数へ分離
- 音階テスト資料を実装クロックへ同期
|
|
- ppmckの終端分岐付きリピートとL制御トラックを実装
- case、構文構造、音長、エフェクト値域の検証を強化
- Pyxel拡張コマンドのarityと参照検証を追加
- リピート展開上限と構文・意味エラー時の合成停止を追加
- BNF、設計書、適合監査、回帰テストを更新
|
|
|
|
mmlファイルをwaveファイルと一緒に出力するように変更
サンプルデータ追加
|
|
- ppmck/pyxel向けに表現力のある作曲テンプレートを追加
- エンベロープ、ビブラート、音程変化の使用例を追加
- テンプレートの検証・IR・音声合成テストを追加
- README、設計書、MCP仕様書を現行実装に合わせて更新
|
|
- エンベロープ、LFO、ビブラート、グライドのグローバル定義表を追加
- ppmckおよびPyxelの拡張コマンドを音声合成へ反映
- 2A03のPulseデューティ列、Triangle DAC、Noise LFSR、Sweepを実装
- APUタイマーに基づく周波数量子化と非線形ミキサを追加
- 途中テンポ変更、拡張コマンドの検証、トラック外定義に対応
- APU規格、拡張合成、IR v2のテストを追加
- プロジェクト独自のppmck拡張仕様と対応範囲を文書化
|
|
- @をデューティ比、qをクオンタイズに修正(mckc原本準拠)
- ^タイ、Dディチューン、sスイープ、v+/v-相対音量を追加
- @v/@@/@MP/@EP/@EN エンベロープ・LFO系を構文解析してIR保持
- 上記IR保持コマンドは合成未対応を SEMANTIC_UNSUPPORTED_FEATURE で警告
- Design.md / MML_BNF.md を更新
- 全200テスト + ruff チェック通過
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
修正とトラック外コマンド警告の追加
|
|
|
|
レビュー指摘事項の修正(エラー戻り値統一、タイ延長、ネストリピート、専用エラーコード)
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
|
|
|
|
|
|
- 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
|
|
|