From 3bb311ad8e0f10617805c8737d92d13e6a627818 Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sun, 12 Jul 2026 01:10:41 +0900 Subject: waveファイル名可変対応 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Design.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'doc/Design.md') diff --git a/doc/Design.md b/doc/Design.md index fdaf860..e7196c3 100644 --- a/doc/Design.md +++ b/doc/Design.md @@ -134,7 +134,7 @@ MML文字列 ```json { "success": true, - "wav_path": "./data/output.wav", + "wav_path": "./data/output_20260711_120000_123.wav", "duration_sec": 2.0, "note_sequence": { ... }, "validation": { @@ -154,6 +154,8 @@ MML文字列 | `validation.warnings` | array | 警告のリスト | > `compose` は必ず検証を内包する。エラーがあればWAVは生成せず、検証結果のみ返す。 +> +> **WAVファイル名**: 固定名 `output.wav` ではなく、生成時刻を含む `output_YYYYMMDD_HHMMSS_mmm.wav` 形式で出力される。これにより、複数回の `compose` 実行でファイルが上書きされるのを防ぐ。ミリ秒まで含めることで、短時間連続実行時のファイル名衝突も回避する。 **`action: "validate"`** — MMLの構文チェックのみ(音声生成なし) @@ -917,6 +919,7 @@ PyxelのMML仕様に準拠。Pyxelのサウンドシステムに合わせた記 | 7 | ErrorDetail line/column | 1始まり。システム/APIエラー時は0 | | 8 | pyxel 無限リピート | 省略時は2回で打ち切り、WARNINGを返す | | 9 | pyxel `@ENV`/`@VIB`/`@GLI` パース | 第1段階は `{...}` ブレースではなくフラット数値列を簡易パース | +| 10 | WAVファイル名 | 固定名 `output.wav` から、生成時刻ベースの `output_YYYYMMDD_HHMMSS_mmm.wav` 形式に変更。毎回異なるファイル名で上書きを防止 | --- @@ -960,6 +963,7 @@ PyxelのMML仕様に準拠。Pyxelのサウンドシステムに合わせた記 | pyxel `Y`(ディチューン) | note_numberの小数部として保持 | `detune_cents` フィールドとして保持 | | トランスポート | 設計書に記載なし | `stdio`/`http`/`sse`/`streamable-http` + CLI引数 | | ErrorDetail line/column | 旧資料で表記揺れあり | 実装は1始まり(システムエラー時は0) | +| WAVファイル名 | 固定 `output.wav` | 可変 `output_YYYYMMDD_HHMMSS_mmm.wav`。生成時刻ベースで上書き防止 | --- -- cgit v1.2.3