@kongyo2/kongyoroid 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +14 -8
  2. package/dist/cache.d.ts +1 -1
  3. package/dist/cache.d.ts.map +1 -1
  4. package/dist/cache.js +3 -2
  5. package/dist/cache.js.map +1 -1
  6. package/dist/cli/help.d.ts.map +1 -1
  7. package/dist/cli/help.js +17 -7
  8. package/dist/cli/help.js.map +1 -1
  9. package/dist/cli.js +194 -74
  10. package/dist/cli.js.map +1 -1
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/io.d.ts +1 -0
  16. package/dist/io.d.ts.map +1 -1
  17. package/dist/io.js +13 -2
  18. package/dist/io.js.map +1 -1
  19. package/dist/kongyoroid.d.ts +2 -2
  20. package/dist/kongyoroid.d.ts.map +1 -1
  21. package/dist/kongyoroid.js +15 -6
  22. package/dist/kongyoroid.js.map +1 -1
  23. package/dist/player.d.ts.map +1 -1
  24. package/dist/player.js +18 -22
  25. package/dist/player.js.map +1 -1
  26. package/dist/schema.js +1 -1
  27. package/dist/schema.js.map +1 -1
  28. package/dist/song/mml.js +1 -1
  29. package/dist/song/mml.js.map +1 -1
  30. package/dist/synth/prosody.d.ts +8 -0
  31. package/dist/synth/prosody.d.ts.map +1 -1
  32. package/dist/synth/prosody.js +74 -0
  33. package/dist/synth/prosody.js.map +1 -1
  34. package/dist/synth/speech.d.ts.map +1 -1
  35. package/dist/synth/speech.js +15 -11
  36. package/dist/synth/speech.js.map +1 -1
  37. package/dist/synth/stream.js +3 -3
  38. package/dist/synth/stream.js.map +1 -1
  39. package/dist/synth/textstream.d.ts +1 -1
  40. package/dist/synth/textstream.d.ts.map +1 -1
  41. package/dist/synth/textstream.js +102 -20
  42. package/dist/synth/textstream.js.map +1 -1
  43. package/dist/text/frontend.d.ts +1 -0
  44. package/dist/text/frontend.d.ts.map +1 -1
  45. package/dist/text/frontend.js +10 -1
  46. package/dist/text/frontend.js.map +1 -1
  47. package/dist/text/normalize.d.ts.map +1 -1
  48. package/dist/text/normalize.js +8 -0
  49. package/dist/text/normalize.js.map +1 -1
  50. package/dist/text/sentences.d.ts +1 -0
  51. package/dist/text/sentences.d.ts.map +1 -1
  52. package/dist/text/sentences.js +14 -7
  53. package/dist/text/sentences.js.map +1 -1
  54. package/dist/version.js +2 -2
  55. package/dist/wav.d.ts +1 -0
  56. package/dist/wav.d.ts.map +1 -1
  57. package/dist/wav.js +8 -6
  58. package/dist/wav.js.map +1 -1
  59. package/docs/cli.md +29 -19
  60. package/package.json +1 -3
@@ -6,5 +6,6 @@ export interface SentencePiece {
6
6
  readonly terminal: SentenceTerminal;
7
7
  readonly paragraphEnd: boolean;
8
8
  }
9
+ export declare function isSentenceCloser(char: string): boolean;
9
10
  export declare function splitSentences(text: string): readonly SentencePiece[];
10
11
  //# sourceMappingURL=sentences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentences.d.ts","sourceRoot":"","sources":["../../src/text/sentences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAyBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAyDrE"}
1
+ {"version":3,"file":"sentences.d.ts","sourceRoot":"","sources":["../../src/text/sentences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAuBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CA4DrE"}
@@ -1,4 +1,8 @@
1
1
  const HARD_TERMINALS = new Set(["。", "!", "?", "!", "?", "."]);
2
+ const CLOSERS = new Set(["」", "』", ")", ")", "】", "]", "]", "〉", "》", "”", "’"]);
3
+ export function isSentenceCloser(char) {
4
+ return CLOSERS.has(char);
5
+ }
2
6
  function isDigit(char) {
3
7
  return char !== undefined && /^[0-90-9]$/u.test(char);
4
8
  }
@@ -55,7 +59,7 @@ export function splitSentences(text) {
55
59
  continue;
56
60
  }
57
61
  let run = index + 1;
58
- while (run < chars.length && HARD_TERMINALS.has(chars[run] ?? ""))
62
+ while (run < chars.length && (HARD_TERMINALS.has(chars[run] ?? "") || CLOSERS.has(chars[run] ?? "")))
59
63
  run += 1;
60
64
  flush(run, "。", run, false);
61
65
  index = run;
@@ -64,12 +68,15 @@ export function splitSentences(text) {
64
68
  if (HARD_TERMINALS.has(char)) {
65
69
  let run = index + 1;
66
70
  let terminal = terminalOf(char);
67
- while (run < chars.length && HARD_TERMINALS.has(chars[run] ?? "")) {
68
- const extra = terminalOf(chars[run] ?? "");
69
- if (extra === "?")
70
- terminal = "?";
71
- else if (extra === "!" && terminal !== "?")
72
- terminal = "!";
71
+ while (run < chars.length && (HARD_TERMINALS.has(chars[run] ?? "") || CLOSERS.has(chars[run] ?? ""))) {
72
+ const next = chars[run] ?? "";
73
+ if (HARD_TERMINALS.has(next)) {
74
+ const extra = terminalOf(next);
75
+ if (extra === "?")
76
+ terminal = "?";
77
+ else if (extra === "!" && terminal !== "?")
78
+ terminal = "!";
79
+ }
73
80
  run += 1;
74
81
  }
75
82
  flush(run, terminal, run, false);
@@ -1 +1 @@
1
- {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/text/sentences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../src/text/sentences.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- export const VERSION = "2.0.0";
1
+ export const VERSION = "2.1.0";
2
2
  export const PACKAGE_NAME = "@kongyo2/kongyoroid";
3
- export const ENGINE_VERSION = "formant-2.0.0";
3
+ export const ENGINE_VERSION = "formant-2.1.0";
4
4
  export const PLAN_VERSION = 2;
5
5
  export const SCHEMA_VERSION = 2;
6
6
  export const FRONTEND_VERSION = "jpreprocess-naist-jdic/kanji2koe-openjtalk-0.1.0";
package/dist/wav.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { AudioInfo } from "./types.ts";
2
+ export declare const STREAMING_LENGTH: number;
2
3
  export interface WavLayout extends AudioInfo {
3
4
  readonly dataOffset: number;
4
5
  readonly dataLength: number;
package/dist/wav.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wav.d.ts","sourceRoot":"","sources":["../src/wav.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,UAAU,CAwB9F;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,GAAE,MAAU,GAAG,UAAU,CAUlG;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAK3E;AAUD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAoDvD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAStD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAczG;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAE1E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,UAAU,GAAE,MAAU,GAAG,UAAU,CA0B1F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAe1D"}
1
+ {"version":3,"file":"wav.d.ts","sourceRoot":"","sources":["../src/wav.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,eAAO,MAAM,gBAAgB,EAAE,MAAmB,CAAC;AAEnD,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,UAAU,CAwB9F;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,GAAE,MAAU,GAAG,UAAU,CAUlG;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAK3E;AAUD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAqDvD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAStD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAczG;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAE1E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,UAAU,GAAE,MAAU,GAAG,UAAU,CA0B1F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAe1D"}
package/dist/wav.js CHANGED
@@ -3,6 +3,7 @@ const RIFF = 0x52494646;
3
3
  const WAVE = 0x57415645;
4
4
  const FMT = 0x666d7420;
5
5
  const DATA = 0x64617461;
6
+ export const STREAMING_LENGTH = 0xffffffff;
6
7
  export function wavHeader(frames, sampleRate, channels = 1) {
7
8
  if (!Number.isSafeInteger(frames) || frames < 0 || frames * channels * 2 > 0xfffffff0) {
8
9
  invalid("$.frames", "Frame count is not representable in a WAV file.");
@@ -59,10 +60,7 @@ export function inspectWav(bytes) {
59
60
  const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
60
61
  if (view.getUint32(0) !== RIFF || view.getUint32(8) !== WAVE)
61
62
  malformed("missing RIFF/WAVE signature");
62
- const declared = view.getUint32(4, true) + 8;
63
- if (declared > bytes.byteLength)
64
- malformed(`RIFF declares ${declared} bytes but only ${bytes.byteLength} were received`);
65
- const end = declared;
63
+ const end = Math.min(view.getUint32(4, true) + 8, bytes.byteLength);
66
64
  let format = 0;
67
65
  let channels = 0;
68
66
  let rate = 0;
@@ -73,8 +71,9 @@ export function inspectWav(bytes) {
73
71
  let position = 12;
74
72
  while (position + 8 <= end) {
75
73
  const tag = view.getUint32(position);
76
- const length = view.getUint32(position + 4, true);
77
74
  const start = position + 8;
75
+ const declared = view.getUint32(position + 4, true);
76
+ const length = tag === DATA && declared === STREAMING_LENGTH ? end - start : declared;
78
77
  if (tag === FMT) {
79
78
  if (format !== 0 || length < 16 || start + 16 > end)
80
79
  malformed("bad fmt chunk");
@@ -83,8 +82,11 @@ export function inspectWav(bytes) {
83
82
  rate = view.getUint32(start + 4, true);
84
83
  align = view.getUint16(start + 12, true);
85
84
  bits = view.getUint16(start + 14, true);
86
- if (format === 0xfffe && length >= 26)
85
+ if (format === 0xfffe) {
86
+ if (length < 26 || start + 26 > end)
87
+ malformed("bad fmt chunk");
87
88
  format = view.getUint16(start + 24, true);
89
+ }
88
90
  }
89
91
  else if (tag === DATA) {
90
92
  if (dataOffset >= 0)
package/dist/wav.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wav.js","sourceRoot":"","sources":["../src/wav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wav.js","sourceRoot":"","sources":["../src/wav.ts"],"names":[],"mappings":"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"}
package/docs/cli.md CHANGED
@@ -12,7 +12,7 @@
12
12
  | 1 | 内部エラー | バグ。`error.detail` を添えて報告 |
13
13
  | 2 | 入力エラー | 不正な JSON、未知のプロパティ、読めない文字、短すぎる音符、音域外 |
14
14
  | 3 | エンジン利用不可 | VOICEVOX 未起動・タイムアウト、フロントエンドのロード失敗 |
15
- | 4 | 入出力エラー | 既存ファイルの上書き拒否、読めない入力ファイル、プレイヤー無し |
15
+ | 4 | 入出力エラー | 既存ファイルの上書き拒否、読めない入力ファイル、再生できるプレイヤーが無い |
16
16
  | 130 | 中断 | SIGINT / AbortSignal |
17
17
 
18
18
  ### エラーオブジェクト
@@ -50,11 +50,13 @@
50
50
  | --- | --- | --- |
51
51
  | `UNREADABLE_TEXT_SKIPPED` | warning | `--no-strict-reading` で読み飛ばした文字 |
52
52
  | `ASCII_WORD_UNKNOWN` | advice | レキシコンに無い 5 文字以上の英単語。文字ごとに読まれる可能性 |
53
- | `URL_READ_LITERALLY` | advice | URL を記号ごと読み下した |
53
+ | `URL_READ_LITERALLY` / `EMAIL_READ_LITERALLY` | advice | URL / メールアドレスを記号ごと読み下した |
54
54
  | `HEURISTIC_READING` | advice | フロントエンド無しでかなを機械的に読んだ |
55
55
  | `F0_OUTSIDE_VOICE_RANGE` | warning | ボイスの得意音域を外れている |
56
56
  | `CONSONANT_HEAVILY_COMPRESSED` | warning | 子音を 45 % 未満まで短縮した |
57
57
  | `CONSONANT_TAKEN_FROM_NOTE` / `CONSONANT_COMPRESSED` | adjustment | 子音が音符内に入った / 短縮された |
58
+ | `PLAN_UNAVAILABLE` | warning | `--plan-out` を VOICEVOX の描画に付けた (計画は内蔵エンジン専用)。音声は書かれる |
59
+ | `CACHE_READ_FAILED` / `CACHE_WRITE_FAILED` | warning | ディスクキャッシュの読み書きに失敗した (描画は成功) |
58
60
 
59
61
  `--diagnostics compact` を付けると、警告を 1 行ずつ次の形式で出します (`speak` 系は標準エラー、`validate` は標準出力)。
60
62
 
@@ -82,8 +84,8 @@
82
84
  | `-o, --output FILE\|-` | WAV の出力先 (既定 `kongyoroid-<kind>-<hash>.wav`)。`-` で標準出力 |
83
85
  | `--force` | 既存ファイルを置き換える (同一内容なら `--force` 無しでも成功し `unchanged: true`) |
84
86
  | `--play` | 書き出し後にシステムプレイヤーで再生 |
85
- | `--plan-out FILE\|-` | 合成計画 (読み・音素・時刻) も JSON で書く |
86
- | `--dry-run` | 検証と計画だけ (出力は `validate` と同じ) |
87
+ | `--plan-out FILE\|-` | 合成計画 (読み・音素・時刻) も JSON で書く。内蔵エンジン専用で、VOICEVOX の描画では `PLAN_UNAVAILABLE` の警告になる |
88
+ | `--dry-run` | 検証と計画だけ (出力は `validate` と同じ)。`--stream` と併用しても何も書かない |
87
89
  | `--diagnostics json\|compact` | 警告の出し方 |
88
90
 
89
91
  環境変数: `KONGYOROID_ENGINE` `KONGYOROID_VOICE` `KONGYOROID_DICTIONARY` `KONGYOROID_CACHE_DIR` `KONGYOROID_ENDPOINT` (別名 `VOICEVOX_URL`) `KONGYOROID_SPEAKER` `KONGYOROID_SINGER` `KONGYOROID_TEACHER`。
@@ -96,35 +98,43 @@ kongyoroid speak (--text TEXT | --input FILE|-) [options]
96
98
 
97
99
  | フラグ | 内容 |
98
100
  | --- | --- |
99
- | `-t, --text TEXT` / `-i, --input FILE\|-` | 読み上げるテキスト / ファイル・標準入力から |
100
- | `--kana NOTATION` | かな記法で発音を指定 (テキスト解析を飛ばす) |
101
+ | `-t, --text TEXT` / `-i, --input FILE\|-` | 読み上げるテキスト / ファイル・標準入力から。入力が `{` で始まればリクエスト JSON (`kind: "speech"`) として読み、フラグが上書きする (`--stream` でも同じ)。両方は指定できない |
102
+ | `--kana NOTATION` | かな記法で発音を指定 (テキスト解析を飛ばす)。`--text` を省くと `--kana` がテキストを兼ねる。`--stream` とは併用できない |
101
103
  | `--dict-entry SURFACE=READING[:ACCENT]` | 一回限りの読み指定 (複数可) |
102
104
  | `--no-strict-reading` | 読めない文字を警告付きで飛ばす |
103
105
  | `--speed N` `--pitch-semitones N` `--pitch N` `--intonation N` | 話速 0.25–4、半音シフト −24..24、VOICEVOX 互換 pitchScale、抑揚 0–3 |
104
- | `--volume N` / `--gain-db N` | 出力レベル |
106
+ | `--volume N` / `--gain-db N` | 出力レベル。排他で、JSON 入力にもう一方があればフラグ側が置き換える (`--pitch` / `--pitch-semitones` も同様) |
105
107
  | `--breathiness N` | 声門の張り −1..1.5 |
106
108
  | `--pre-pause S` `--post-pause S` `--pause-length S` `--pause-scale N` | 前後無音、`、` の絶対長、ポーズ倍率 |
107
109
  | `--no-upspeak` | 疑問文末を上げない |
108
110
  | `--sample-rate HZ` `--seed N` | 8000–48000 Hz、ノイズの種 |
109
111
  | `--speaker ID\|NAME` `--split sentence\|paragraph\|none` | VOICEVOX のスタイルと分割単位 |
110
- | `--stream` `--format wav\|pcm\|ndjson` `--progress` | ストリーミング (後述) |
112
+ | `--stream` `--format wav\|pcm\|ndjson` `--progress` `--flush-ms N` | ストリーミング (後述) |
111
113
 
112
114
  出力 (1 行):
113
115
 
114
116
  ```json
115
- {"ok":true,"path":"/work/out.wav","written":true,"unchanged":false,"engine":"formant","engineVersion":"formant-2.0.0","kind":"speech","voice":"neutral","styles":{},"kana":"テ'_ストガ/サン'ゲン/シッパイ/シマ'_シタ。","chunks":1,"cached":false,"sha256":"…","requestHash":"…","bytes":108942,"sampleRate":24000,"channels":1,"frames":54449,"durationSeconds":2.269,"peak":0.4772,"rms":0.081,"limitedSamples":0,"elapsedMs":479.55,"timings":{"readMs":406.49,"planMs":3.86,"renderMs":66.94,"encodeMs":0,"totalMs":479.55},"warnings":[],"adjustments":[]}
117
+ {"ok":true,"path":"/work/out.wav","written":true,"unchanged":false,"engine":"formant","engineVersion":"formant-2.1.0","kind":"speech","voice":"neutral","styles":{},"kana":"テ'_ストガ/サン'ゲン/シッパイ/シマ'_シタ。ロ'グヲ/カクニン/_シテ/クダサ'イ。","chunks":2,"cached":false,"sha256":"…","requestHash":"…","bytes":209622,"sampleRate":24000,"channels":1,"frames":104789,"durationSeconds":4.366,"peak":0.7198,"rms":0.0925,"limitedSamples":0,"elapsedMs":1092.74,"timings":{"readMs":887.4,"planMs":18.6,"renderMs":179.24,"encodeMs":0,"totalMs":1092.74},"warnings":[],"adjustments":[]}
116
118
  ```
117
119
 
120
+ `chunks` は文の数です。文は `。!?` と改行で区切られ、直後の閉じ括弧 (`」』)` など) は前の文に付きます。
121
+
118
122
  `--output -` の時は WAV バイト列が標準出力、同じ JSON (`"output":"stdout"`) が標準エラーに出ます。
119
123
 
120
124
  ### ストリーミング (`--stream`)
121
125
 
122
- テキストを `。!?` と改行で文に分け、文が確定するたびに合成します。次の文の計画を先読みするので途切れません。
126
+ テキストを `。!?` と改行で文に分け、文が確定するたびに合成します。次の文の計画を先読みするので途切れません。チャンクが文末記号で終わるときは、閉じ括弧 (`」)` など) が続くかどうかを次の文字で確かめるまでその文を保留します (次のチャンク、`--flush-ms`、入力の終わりで確定)。そのため文の切れ目はチャンクの切り方に依存しません。`--input` の内容が `{` で始まればリクエスト JSON として読み、その `text` を流します (`--kana` は使えません)。読めるかどうかはフロントエンドが決めます。`…` や `!`、絵文字だけの断片のように読みが得られない文は一括合成と同じく読み飛ばし、最後まで 1 文も読めなければ一括合成と同じ `INVALID_INPUT` (`$.text`) で失敗します。
127
+
128
+ | フラグ | 内容 |
129
+ | --- | --- |
130
+ | `--format wav\|pcm\|ndjson` | 標準出力の形式 (下表)。ファイル出力は常に WAV |
131
+ | `--progress` | 文ごとの `sentence` イベントを標準エラーに出す |
132
+ | `--flush-ms N` | 文末記号が届かないまま N ms (1–600000) 入力が止まったら、溜まっている断片を 1 文として読む。時間は最後の入力から数える (前の文の合成中に経過した分も含む)。既定は文末記号か改行が来るまで待つ |
123
133
 
124
134
  | `--format` | 標準出力の内容 |
125
135
  | --- | --- |
126
136
  | `pcm` | 生の s16le モノラル PCM。サンプルレートは `--sample-rate` (既定 24000) |
127
- | `wav` | 長さ未確定 (`0xFFFFFFFF`) ヘッダー付き WAV。パイプ再生向け |
137
+ | `wav` | 長さ未確定 (`0xFFFFFFFF`) ヘッダー付き WAV。パイプ再生向け。`inspect` はこのヘッダーのまま途中で切れたファイルも読める |
128
138
  | `ndjson` | 1 行 1 イベント (下記) |
129
139
 
130
140
  NDJSON のイベント:
@@ -135,7 +145,7 @@ NDJSON のイベント:
135
145
  {"type":"end","ok":true,"operation":"speak","stream":true,"format":"ndjson","output":"stdout","sentences":2,"frames":51432,"durationSeconds":2.143,"sampleRate":24000}
136
146
  ```
137
147
 
138
- `-o FILE` と組み合わせるとファイルへ書き、終了時にヘッダーを書き戻します。`--progress` で文ごとの JSON 行を標準エラーに出します。文間のポーズは次の文の先頭に付き、`--post-pause` は最後に 1 回だけ付くので、一括合成と同じ尺になります。
148
+ `-o FILE` と組み合わせるとファイルへ書き、終了時にヘッダーを書き戻します (入力が空でも 0 フレームの WAV を書き、`"written": true` を返します)。文間のポーズは次の文の先頭に付き、`--post-pause` は最後に 1 回だけ付くので、一括合成と同じ尺になります。`--stream --dry-run` は入力全体を `validate` して何も書きません。
139
149
 
140
150
  ## sing
141
151
 
@@ -148,10 +158,10 @@ kongyoroid sing (--lyrics KANA --melody NOTES | --mml MML [--lyrics KANA] | --in
148
158
  | `--lyrics KANA` | かな歌詞。有音の音符 1 つにつき 1 モーラ消費 |
149
159
  | `--melody NOTES` | 空白区切り: 音名 (`C4` `F#4` `Bb3`)、MIDI 番号、`R` 休符、`~` タイ、`~G4` メリスマ、`\|` は無視 |
150
160
  | `--beats LIST` | 音符ごとの拍 (`"1 1 2 0.5"`)。1 つだけなら全音符に適用。既定 1 |
151
- | `--mml MML` | MML 譜 (`t120 o4 l8 c d e f g4 r4 e&e`)。`t` テンポ、`o` オクターブ、`< >`、`l` 既定長、`v` ベロシティ、`n60` MIDI、`r` 休符、`&` タイ/メリスマ、`[きゃ]` 歌詞、付点 |
152
- | `-i, --input FILE\|-` | 音符リストを含むリクエスト JSON (フラグが優先) |
161
+ | `--mml MML` | MML 譜 (`t120 o4 l8 c d e f g4 r4 e&e`)。`t` テンポ、`o` オクターブ、`< >`、`l` 既定長 (1–256)、`v` ベロシティ、`n60` MIDI、`r` 休符、`&` タイ/メリスマ、`[きゃ]` 歌詞、付点 |
162
+ | `-i, --input FILE\|-` | 音符リストを含むリクエスト JSON (フラグが優先。`--volume` / `--gain-db` は JSON のもう一方を置き換える)。譜面の指定が 1 つも無いと `INVALID_INPUT` (`$flags.melody`) |
153
163
  | `--tempo BPM` `--transpose N` | 20–400 (既定 120 か MML の値)、半音 −48..48 |
154
- | `--vibrato-depth CENTS` `--vibrato-rate HZ` `--vibrato-delay-ms MS` `--vibrato-fade-ms MS` | ビブラート (既定 30 cent、5.5 Hz、180 ms 後から 250 ms かけて) |
164
+ | `--vibrato-depth CENTS` `--vibrato-rate HZ` `--vibrato-delay-ms MS` `--vibrato-fade-ms MS` | ビブラート (既定 30 cent、5.5 Hz、180 ms 後から 250 ms かけて)。JSON 入力の `vibrato` オブジェクトや `vibratoDepth` / `vibratoRate` には該当フィールドだけ上書きして混ぜる |
155
165
  | `--portamento-ms MS` | つながった音符間のピッチ移行 (既定 60、0 で階段) |
156
166
  | `--scoop-cents N` `--scoop-ms MS` | フレーズ頭のしゃくり |
157
167
  | `--no-consonant-compression` | 子音を短縮せず `NOTE_TOO_SHORT` で失敗 |
@@ -182,7 +192,7 @@ kongyoroid validate (--input FILE|- | --text TEXT | --lyrics KANA --melody NOTES
182
192
  kongyoroid plan (--input FILE|- | --text TEXT | --lyrics KANA --melody NOTES | --mml MML) [--detail summary|phonemes|acoustics]
183
193
  ```
184
194
 
185
- `render` は `kongyoroid schema` の JSON Schema に従うリクエストを描画します。`validate` は描画せず次を返します。
195
+ `render` は `kongyoroid schema` の JSON Schema に従うリクエストを描画します。`render` がリクエストに上書きできるフラグは `--engine` と `--voice` だけで、それ以外の読み上げ・歌唱フラグは受け付けません (`INVALID_INPUT`)。`validate` と `plan` (および `speak` `sing`) では、`--input` の JSON に対して読み上げなら `--kana` `--dict-entry` などの読み上げフラグ、歌唱なら `--tempo` などの歌唱フラグがリクエストの値を上書きします (`--dict-entry` はリクエストの `dictionary` に追加)。`validate` は描画せず次を返します。
186
196
 
187
197
  ```json
188
198
  {"ok":true,"operation":"validate","engine":"formant","kind":"speech","renderable":true,"estimate":{"durationSeconds":0.588,"frames":14108,"wavBytes":28260,"sampleRate":24000},"voice":"neutral","reading":{"kana":"カンジ'。","frontend":"notation","moraCount":3},"notes":null,"warnings":[],"adjustments":[],"requestHash":"…","planHash":"…","request":{…}}
@@ -242,9 +252,9 @@ kongyoroid dict <list|add|update|delete|check> [--scope local|voicevox] [--dicti
242
252
 
243
253
  ## inspect / play / cache
244
254
 
245
- - `kongyoroid inspect FILE.wav [--pitch-track] [--window-ms N]`: サンプルレート、尺、ピーク、RMS、クリップ数、F0 推定 (`medianHz` / 範囲 / 有声率)。`--pitch-track` で窓ごとの F0。
246
- - `kongyoroid play FILE.wav`: afplay / paplay / aplay / ffplay / play / PowerShell の順に試します。
247
- - `kongyoroid cache <stats|prune|clear> [--cache-dir DIR] [--max-bytes N] [--max-entries N] [--dry-run]`: `DIR/kongyoroid-cache/` の中だけを対象にします。
255
+ - `kongyoroid inspect FILE.wav [--pitch-track] [--window-ms N]`: サンプルレート、尺、ピーク、RMS、クリップ数、F0 推定 (`medianHz` / 範囲 / 有声率)。`--pitch-track` で窓ごとの F0。RIFF サイズが実際より大きいファイルや、ストリーミング用ヘッダーのまま途中で切れたファイルも読みます (データチャンクが宣言より短いものは `ENGINE_PROTOCOL`)。
256
+ - `kongyoroid play FILE.wav`: afplay / paplay / aplay / ffplay / play / PowerShell の順に試し、失敗したプレイヤーは飛ばして次を試します。どれも再生できなければ `PLAYER_UNAVAILABLE` (試した結果が `detail.attempts`)、ファイルが無ければ `IO_ERROR`。
257
+ - `kongyoroid cache <stats|prune|clear> [--cache-dir DIR] [--max-bytes N] [--max-entries N] [--dry-run]`: `DIR/kongyoroid-cache/` の中だけを対象にします。`prune` は `--max-bytes` か `--max-entries` のどちらかが必須で、`--dry-run` なら `wouldRemove` に消す件数を返します。
248
258
 
249
259
  ## VOICEVOX を使う場合
250
260
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kongyo2/kongyoroid",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Japanese speech and singing synthesis for LLM agents: a JSON-first CLI and typed library with a built-in deterministic formant engine, a dictionary-backed Japanese text frontend (jpreprocess), streaming output, and an optional VOICEVOX ENGINE adapter.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -33,8 +33,6 @@
33
33
  "dist",
34
34
  "examples",
35
35
  "docs",
36
- "AGENTS.md",
37
- "CHANGELOG.md",
38
36
  "LICENSE",
39
37
  "README.md"
40
38
  ],