@coeiro-operator/audio 1.0.2 → 1.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 (55) hide show
  1. package/README.md +48 -0
  2. package/dist/audio-player.d.ts +25 -11
  3. package/dist/audio-player.d.ts.map +1 -1
  4. package/dist/audio-player.js +194 -210
  5. package/dist/audio-player.js.map +1 -1
  6. package/dist/audio-stream-controller.d.ts +1 -5
  7. package/dist/audio-stream-controller.d.ts.map +1 -1
  8. package/dist/audio-stream-controller.js +16 -43
  9. package/dist/audio-stream-controller.js.map +1 -1
  10. package/dist/audio-synthesizer.d.ts +1 -0
  11. package/dist/audio-synthesizer.d.ts.map +1 -1
  12. package/dist/audio-synthesizer.js +11 -4
  13. package/dist/audio-synthesizer.js.map +1 -1
  14. package/dist/chunk-generation-manager.d.ts +34 -2
  15. package/dist/chunk-generation-manager.d.ts.map +1 -1
  16. package/dist/chunk-generation-manager.js +237 -15
  17. package/dist/chunk-generation-manager.js.map +1 -1
  18. package/dist/debug-error-test.d.ts +5 -0
  19. package/dist/debug-error-test.d.ts.map +1 -0
  20. package/dist/debug-error-test.js +92 -0
  21. package/dist/debug-error-test.js.map +1 -0
  22. package/dist/index.d.ts +18 -6
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +30 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/open-promise.d.ts +18 -0
  27. package/dist/open-promise.d.ts.map +1 -0
  28. package/dist/open-promise.js +42 -0
  29. package/dist/open-promise.js.map +1 -0
  30. package/dist/queue/speech-queue.d.ts +34 -0
  31. package/dist/queue/speech-queue.d.ts.map +1 -0
  32. package/dist/queue/speech-queue.js +36 -0
  33. package/dist/queue/speech-queue.js.map +1 -0
  34. package/dist/queue/task-queue.d.ts +52 -0
  35. package/dist/queue/task-queue.d.ts.map +1 -0
  36. package/dist/queue/task-queue.js +259 -0
  37. package/dist/queue/task-queue.js.map +1 -0
  38. package/dist/queue/types.d.ts +42 -0
  39. package/dist/queue/types.d.ts.map +1 -0
  40. package/dist/queue/types.js +5 -0
  41. package/dist/queue/types.js.map +1 -0
  42. package/dist/speech-queue.d.ts +4 -49
  43. package/dist/speech-queue.d.ts.map +1 -1
  44. package/dist/speech-queue.js +3 -140
  45. package/dist/speech-queue.js.map +1 -1
  46. package/dist/synthesis-processor.d.ts.map +1 -1
  47. package/dist/synthesis-processor.js +21 -8
  48. package/dist/synthesis-processor.js.map +1 -1
  49. package/dist/test-helpers.d.ts +0 -9
  50. package/dist/test-helpers.d.ts.map +1 -1
  51. package/dist/test-helpers.js +0 -77
  52. package/dist/test-helpers.js.map +1 -1
  53. package/dist/types.d.ts +24 -9
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +5 -7
@@ -3,15 +3,30 @@
3
3
  * 複数チャンクの生成を並行して行い、完成順序ではなく論理順序で管理
4
4
  */
5
5
  import { logger } from '@coeiro-operator/common';
6
+ /**
7
+ * VoiceConfigとspeedからSpeakSettingsへ変換
8
+ */
9
+ export function toSpeakSettings(voiceConfig, speed) {
10
+ return {
11
+ speaker: voiceConfig.speaker,
12
+ styleId: voiceConfig.selectedStyleId,
13
+ speed,
14
+ };
15
+ }
6
16
  /**
7
17
  * チャンク生成の並行制御管理クラス
8
18
  */
9
19
  export class ChunkGenerationManager {
10
20
  activeTasks = new Map();
11
21
  completedResults = new Map();
22
+ failedTasks = new Map(); // 失敗したタスクのエラーを保存
12
23
  options;
13
24
  synthesizeFunction;
14
25
  firstChunkCompleted = false; // 初回チャンク完了フラグ
26
+ // 新しいgenerate()メソッド用のフィールド
27
+ newActiveTasks = new Map();
28
+ errorOccurred = false;
29
+ firstError = null;
15
30
  constructor(synthesizeFunction, options = {}) {
16
31
  this.synthesizeFunction = synthesizeFunction;
17
32
  this.options = {
@@ -35,23 +50,33 @@ export class ChunkGenerationManager {
35
50
  await this.waitForAnyTaskCompletion();
36
51
  }
37
52
  // 新しい生成タスクを開始
53
+ // Promise コンストラクタで明示的にエラーをキャッチ
54
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: synthesizeFunction呼び出し開始`);
55
+ const handledPromise = new Promise((resolve, reject) => {
56
+ // synthesizeFunctionを呼び出し、その結果を処理
57
+ this.synthesizeFunction(chunk, voiceConfig, speed)
58
+ .then((result) => {
59
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: 生成成功`);
60
+ this.onTaskCompleted(chunk.index, result);
61
+ resolve(result);
62
+ })
63
+ .catch((error) => {
64
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: エラーキャッチ - ${error.message}`);
65
+ this.onTaskFailed(chunk.index, error);
66
+ // エラーを失敗として処理し、undefinedを返す
67
+ resolve(undefined);
68
+ });
69
+ });
70
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: Promiseハンドラー設定完了`);
38
71
  const task = {
39
72
  chunk,
40
73
  voiceConfig,
41
74
  speed,
42
75
  startTime: Date.now(),
43
- promise: this.synthesizeFunction(chunk, voiceConfig, speed),
76
+ promise: handledPromise,
44
77
  };
45
78
  this.activeTasks.set(chunk.index, task);
46
79
  logger.debug(`チャンク${chunk.index}の生成開始 (並行数: ${this.activeTasks.size}, 初回完了: ${this.firstChunkCompleted})`);
47
- // 生成完了時の処理を設定
48
- task.promise
49
- .then((result) => {
50
- this.onTaskCompleted(chunk.index, result);
51
- })
52
- .catch((error) => {
53
- this.onTaskFailed(chunk.index, error);
54
- });
55
80
  // リクエスト間隔の調整
56
81
  if (this.options.delayBetweenRequests > 0) {
57
82
  await this.delay(this.options.delayBetweenRequests);
@@ -61,6 +86,12 @@ export class ChunkGenerationManager {
61
86
  * 指定されたチャンクの生成結果を取得(完了まで待機)
62
87
  */
63
88
  async getResult(chunkIndex) {
89
+ // 既に失敗している場合はエラーを再スロー
90
+ if (this.failedTasks.has(chunkIndex)) {
91
+ const error = this.failedTasks.get(chunkIndex);
92
+ this.failedTasks.delete(chunkIndex); // 取得後はクリア
93
+ throw error;
94
+ }
64
95
  // 既に完了している場合
65
96
  if (this.completedResults.has(chunkIndex)) {
66
97
  const result = this.completedResults.get(chunkIndex);
@@ -70,7 +101,17 @@ export class ChunkGenerationManager {
70
101
  // 生成中の場合は完了を待機
71
102
  const activeTask = this.activeTasks.get(chunkIndex);
72
103
  if (activeTask) {
73
- return await activeTask.promise;
104
+ const result = await activeTask.promise;
105
+ // undefinedの場合はエラーが発生している
106
+ if (result === undefined) {
107
+ if (this.failedTasks.has(chunkIndex)) {
108
+ const savedError = this.failedTasks.get(chunkIndex);
109
+ this.failedTasks.delete(chunkIndex);
110
+ throw savedError;
111
+ }
112
+ throw new Error(`チャンク${chunkIndex}の生成に失敗しました`);
113
+ }
114
+ return result;
74
115
  }
75
116
  throw new Error(`チャンク${chunkIndex}の生成タスクが見つかりません`);
76
117
  }
@@ -102,15 +143,24 @@ export class ChunkGenerationManager {
102
143
  * すべてのタスクの完了を待機
103
144
  */
104
145
  async waitForAllTasks() {
105
- const promises = Array.from(this.activeTasks.values()).map(task => task.promise);
146
+ const promises = Array.from(this.activeTasks.values()).map(task =>
147
+ // エラーをキャッチして無視(onTaskFailedで処理済み)
148
+ task.promise.catch(() => { }));
106
149
  await Promise.all(promises);
107
150
  }
108
151
  /**
109
152
  * すべてのタスクをクリア
110
153
  */
111
- clear() {
154
+ async clear() {
155
+ // 実行中のタスクがある場合は、すべて完了を待つ(エラーは無視)
156
+ if (this.activeTasks.size > 0) {
157
+ const promises = Array.from(this.activeTasks.values()).map(task => task.promise.catch(() => { }) // エラーを無視
158
+ );
159
+ await Promise.allSettled(promises); // すべて完了まで待つ
160
+ }
112
161
  this.activeTasks.clear();
113
162
  this.completedResults.clear();
163
+ this.failedTasks.clear(); // 失敗タスクもクリア
114
164
  this.firstChunkCompleted = false; // 初回完了フラグもリセット
115
165
  }
116
166
  /**
@@ -131,7 +181,9 @@ export class ChunkGenerationManager {
131
181
  if (this.activeTasks.size === 0) {
132
182
  return;
133
183
  }
134
- const promises = Array.from(this.activeTasks.values()).map(task => task.promise);
184
+ const promises = Array.from(this.activeTasks.values()).map(task =>
185
+ // エラーをキャッチして無視(onTaskFailedで処理済み)
186
+ task.promise.catch(() => { }));
135
187
  await Promise.race(promises);
136
188
  }
137
189
  /**
@@ -145,7 +197,12 @@ export class ChunkGenerationManager {
145
197
  // チャンク0のタスクが存在する場合は完了を待機
146
198
  const firstTask = this.activeTasks.get(0);
147
199
  if (firstTask) {
148
- await firstTask.promise;
200
+ try {
201
+ await firstTask.promise;
202
+ }
203
+ catch {
204
+ // エラーは既にonTaskFailedで処理されるので無視
205
+ }
149
206
  }
150
207
  // ポーリングによる確認(安全のため)
151
208
  while (!this.firstChunkCompleted) {
@@ -169,10 +226,175 @@ export class ChunkGenerationManager {
169
226
  onTaskFailed(chunkIndex, error) {
170
227
  logger.error(`チャンク${chunkIndex}生成失敗: ${error.message}`);
171
228
  this.activeTasks.delete(chunkIndex);
172
- // エラーの場合は結果をストアしない(getResultで例外が発生)
229
+ // エラーを保存して、getResultで再スローできるようにする
230
+ this.failedTasks.set(chunkIndex, error);
173
231
  }
174
232
  delay(ms) {
175
233
  return new Promise(resolve => setTimeout(resolve, ms));
176
234
  }
235
+ /**
236
+ * 新しいインターフェース: チャンク配列を並列生成し、順序保証されたストリームを返す
237
+ *
238
+ * @param chunks - 生成対象のチャンク配列(既に分割済み)
239
+ * @param speakSettings - 音声設定(全チャンク共通)
240
+ * @returns 順序保証された音声結果のストリーム
241
+ */
242
+ async *generate(chunks, speakSettings) {
243
+ if (chunks.length === 0) {
244
+ return;
245
+ }
246
+ // 初期化
247
+ this.newActiveTasks.clear();
248
+ this.errorOccurred = false;
249
+ this.firstError = null;
250
+ let newFirstChunkCompleted = false;
251
+ let currentIndex = 0;
252
+ while (currentIndex < chunks.length) {
253
+ // 現在のチャンクを開始(まだ開始されていない場合)
254
+ if (!this.newActiveTasks.has(currentIndex) && !this.errorOccurred) {
255
+ // pauseUntilFirstComplete: 初回完了まで待機(currentIndex > 0の場合)
256
+ if (this.options.pauseUntilFirstComplete && currentIndex > 0 && !newFirstChunkCompleted) {
257
+ // 初回完了を待つ(理論上はここには到達しないはず)
258
+ logger.warn(`チャンク${currentIndex}: 初回未完了で未開始状態(異常)`);
259
+ }
260
+ // 並行数制限チェック
261
+ while (this.newActiveTasks.size >= this.options.maxConcurrency) {
262
+ await this.waitForAnyNewTaskCompletion();
263
+ }
264
+ this.startNewGeneration(chunks[currentIndex], speakSettings);
265
+ }
266
+ // エラー発生時は新規生成を停止
267
+ if (!this.errorOccurred) {
268
+ // 先読み生成を開始
269
+ const nextIndex = currentIndex + 1;
270
+ if (nextIndex < chunks.length) {
271
+ const generateUpTo = Math.min(nextIndex + 1, chunks.length); // bufferAheadCount=1相当
272
+ for (let i = nextIndex; i < generateUpTo; i++) {
273
+ if (!this.newActiveTasks.has(i)) {
274
+ // pauseUntilFirstComplete: 初回完了まで待機
275
+ if (this.options.pauseUntilFirstComplete && i > 0 && !newFirstChunkCompleted) {
276
+ // 初回完了を待つ
277
+ break;
278
+ }
279
+ // 並行数制限チェック
280
+ while (this.newActiveTasks.size >= this.options.maxConcurrency) {
281
+ await this.waitForAnyNewTaskCompletion();
282
+ }
283
+ this.startNewGeneration(chunks[i], speakSettings);
284
+ }
285
+ }
286
+ }
287
+ }
288
+ // 現在のチャンクの完了を待機
289
+ const result = await this.waitForNewResult(currentIndex);
290
+ // エラーチェック
291
+ if (!result.success) {
292
+ logger.error(`チャンク${result.chunkIndex}生成失敗、ストリーム終了`);
293
+ yield result;
294
+ await this.cleanupNewTasks();
295
+ return;
296
+ }
297
+ // 初回完了フラグ
298
+ if (currentIndex === 0) {
299
+ newFirstChunkCompleted = true;
300
+ }
301
+ // 成功結果をyield
302
+ yield result;
303
+ currentIndex++;
304
+ }
305
+ await this.cleanupNewTasks();
306
+ }
307
+ /**
308
+ * OpenPromiseパターンで新しい生成タスクを開始
309
+ */
310
+ startNewGeneration(chunk, speakSettings) {
311
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: 生成開始(新方式)`);
312
+ // 1. OpenPromiseパターン: Promiseを先に作成
313
+ let resolveTask;
314
+ let rejectTask;
315
+ const taskPromise = new Promise((resolve, reject) => {
316
+ resolveTask = resolve;
317
+ rejectTask = reject;
318
+ });
319
+ // 2. 即座にcatchを設定(Unhandled Rejection防止)
320
+ taskPromise.catch(() => {
321
+ // エラーは waitForNewResult で処理される
322
+ });
323
+ // 3. タスクを登録
324
+ const task = {
325
+ promise: taskPromise,
326
+ resolve: resolveTask,
327
+ reject: rejectTask,
328
+ startTime: Date.now(),
329
+ };
330
+ this.newActiveTasks.set(chunk.index, task);
331
+ // 4. 後から処理を実行(仕様書通りのシンプルな実装)
332
+ this.synthesizeFunction(chunk, { speaker: speakSettings.speaker, selectedStyleId: speakSettings.styleId }, speakSettings.speed)
333
+ .then((result) => {
334
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: 生成成功(新方式)`);
335
+ resolveTask(result);
336
+ })
337
+ .catch((error) => {
338
+ logger.debug(`[ChunkGen] チャンク${chunk.index}: エラー(新方式)- ${error.message}`);
339
+ rejectTask(error);
340
+ });
341
+ }
342
+ /**
343
+ * 指定されたチャンクの生成結果を待機
344
+ */
345
+ async waitForNewResult(chunkIndex) {
346
+ const task = this.newActiveTasks.get(chunkIndex);
347
+ if (!task) {
348
+ return {
349
+ success: false,
350
+ error: new Error(`チャンク${chunkIndex}が見つかりません`),
351
+ chunkIndex,
352
+ };
353
+ }
354
+ try {
355
+ const audioResult = await task.promise;
356
+ this.newActiveTasks.delete(chunkIndex);
357
+ return { success: true, data: audioResult };
358
+ }
359
+ catch (error) {
360
+ this.newActiveTasks.delete(chunkIndex);
361
+ // 最初のエラーを記録
362
+ if (!this.errorOccurred) {
363
+ this.errorOccurred = true;
364
+ this.firstError = error;
365
+ }
366
+ else {
367
+ // 2番目以降のエラーはログ出力のみ
368
+ logger.error(`チャンク${chunkIndex}生成失敗(複数エラー): ${error.message}`);
369
+ }
370
+ return {
371
+ success: false,
372
+ error: error,
373
+ chunkIndex,
374
+ };
375
+ }
376
+ }
377
+ /**
378
+ * いずれかのタスクの完了を待機
379
+ */
380
+ async waitForAnyNewTaskCompletion() {
381
+ if (this.newActiveTasks.size === 0) {
382
+ return;
383
+ }
384
+ const promises = Array.from(this.newActiveTasks.values()).map(task => task.promise.catch(() => { }));
385
+ await Promise.race(promises);
386
+ }
387
+ /**
388
+ * 残タスクの完了を待ってクリーンアップ
389
+ */
390
+ async cleanupNewTasks() {
391
+ if (this.newActiveTasks.size > 0) {
392
+ const promises = Array.from(this.newActiveTasks.values()).map(task => task.promise.catch(() => { }));
393
+ await Promise.allSettled(promises);
394
+ }
395
+ this.newActiveTasks.clear();
396
+ this.errorOccurred = false;
397
+ this.firstError = null;
398
+ }
177
399
  }
178
400
  //# sourceMappingURL=chunk-generation-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-generation-manager.js","sourceRoot":"","sources":["../src/chunk-generation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunk-generation-manager.js","sourceRoot":"","sources":["../src/chunk-generation-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * エラー伝播のデバッグテスト
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=debug-error-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-error-test.d.ts","sourceRoot":"","sources":["../src/debug-error-test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * エラー伝播のデバッグテスト
3
+ */
4
+ import { SayCoeiroink } from './index.js';
5
+ import { createMockConfigManager } from './test-helpers.js';
6
+ async function runTest() {
7
+ console.log('=== エラー伝播デバッグテスト開始 ===');
8
+ const config = {
9
+ connection: {
10
+ host: 'localhost',
11
+ port: '50031',
12
+ },
13
+ operator: {
14
+ rate: 200,
15
+ timeout: 14400000,
16
+ assignmentStrategy: 'random',
17
+ },
18
+ audio: {
19
+ latencyMode: 'balanced',
20
+ splitMode: 'punctuation',
21
+ bufferSize: 256,
22
+ parallelGeneration: {
23
+ maxConcurrency: 2,
24
+ delayBetweenRequests: 50,
25
+ bufferAheadCount: 1,
26
+ pauseUntilFirstComplete: true,
27
+ },
28
+ },
29
+ characters: {},
30
+ };
31
+ const configManager = createMockConfigManager(config);
32
+ const sayCoeiroink = new SayCoeiroink(configManager);
33
+ // モック設定
34
+ let requestCount = 0;
35
+ global.fetch = (url) => {
36
+ console.log(`[Fetch Mock] URL: ${url}`);
37
+ if (url.includes('/v1/speakers')) {
38
+ return Promise.resolve({
39
+ ok: true,
40
+ json: async () => [
41
+ {
42
+ speakerUuid: 'test-speaker-1',
43
+ speakerName: 'テスト',
44
+ styles: [{ styleId: 0, styleName: 'ノーマル' }],
45
+ },
46
+ ],
47
+ });
48
+ }
49
+ if (url.includes('/v1/synthesis')) {
50
+ requestCount++;
51
+ console.log(`[Fetch Mock] synthesis API call #${requestCount}`);
52
+ if (requestCount === 2) {
53
+ console.log(`[Fetch Mock] Returning 500 error for request #${requestCount}`);
54
+ return Promise.resolve({
55
+ ok: false,
56
+ status: 500,
57
+ statusText: 'Internal Server Error',
58
+ });
59
+ }
60
+ console.log(`[Fetch Mock] Returning success for request #${requestCount}`);
61
+ const buffer = new ArrayBuffer(44 + 100);
62
+ return Promise.resolve({
63
+ ok: true,
64
+ arrayBuffer: async () => buffer,
65
+ });
66
+ }
67
+ return Promise.reject(new Error('Unknown endpoint'));
68
+ };
69
+ // テスト実行
70
+ await sayCoeiroink.initialize();
71
+ console.log('初期化完了');
72
+ const result = sayCoeiroink.synthesize('エラーテスト1。エラーテスト2。エラーテスト3。', {
73
+ voice: 'test-speaker-1',
74
+ });
75
+ console.log('synthesize結果:', result);
76
+ // 少し待つ
77
+ await new Promise(resolve => setTimeout(resolve, 100));
78
+ console.log('100ms待機完了');
79
+ try {
80
+ console.log('waitCompletion呼び出し...');
81
+ const waitResult = await sayCoeiroink.waitCompletion();
82
+ console.log('waitCompletion正常終了:', waitResult);
83
+ console.log('エラーが投げられませんでした!');
84
+ }
85
+ catch (error) {
86
+ console.log('waitCompletionでエラーキャッチ:', error);
87
+ }
88
+ console.log('=== テスト終了 ===');
89
+ }
90
+ // メイン実行
91
+ runTest().catch(console.error);
92
+ //# sourceMappingURL=debug-error-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-error-test.js","sourceRoot":"","sources":["../src/debug-error-test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -37,15 +37,27 @@ export declare class SayCoeiroink {
37
37
  /**
38
38
  * キューの状態を取得
39
39
  */
40
- getSpeechQueueStatus(): {
41
- queueLength: number;
42
- isProcessing: boolean;
43
- nextTaskId: number | null;
44
- };
40
+ getSpeechQueueStatus(): import("./queue/types.js").QueueStatus;
45
41
  /**
46
42
  * キューをクリア
43
+ * @param taskIds 削除するタスクIDの配列(省略時は全タスク削除)
44
+ * @returns 削除されたタスク数
45
+ */
46
+ clearSpeechQueue(taskIds?: number[]): Promise<{
47
+ removedCount: number;
48
+ }>;
49
+ /**
50
+ * clearQueue エイリアス(テスト用)
51
+ * clearSpeechQueue と同じ動作
52
+ */
53
+ clearQueue(): Promise<{
54
+ removedCount: number;
55
+ }>;
56
+ /**
57
+ * 音声再生を停止(チャンク境界で停止)
58
+ * 現在再生中のチャンクは最後まで再生され、次のチャンクから停止します
47
59
  */
48
- clearSpeechQueue(): void;
60
+ stopPlayback(): void;
49
61
  /**
50
62
  * 並行生成の有効/無効を設定
51
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOvE,OAAO,KAAK,EAGV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,kBAAkB,CAAmC;gBAEjD,aAAa,EAAE,aAAa;IAMlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBzC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAO3E;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;OAEG;IACH,oBAAoB;;;;;IAOpB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAWxB;;OAEG;IACH,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQpD;;OAEG;IACH,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAQ9E;;OAEG;IACH,kBAAkB;;;;;IAOlB;;OAEG;IACH,0BAA0B;IAW1B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiB/B;AAGD,eAAe,YAAY,CAAC;AAG5B,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOvE,OAAO,KAAK,EAGV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,kBAAkB,CAAmC;gBAEjD,aAAa,EAAE,aAAa;IAMlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC3B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBzC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,gBAAgB;IAO3E;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;OAEG;IACH,oBAAoB;IAOpB;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB7E;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAIrD;;;OAGG;IACH,YAAY,IAAI,IAAI;IAWpB;;OAEG;IACH,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQpD;;OAEG;IACH,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;IAQ9E;;OAEG;IACH,kBAAkB;;;;;IAOlB;;OAEG;IACH,0BAA0B;IAW1B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiB/B;AAGD,eAAe,YAAY,CAAC;AAG5B,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -77,7 +77,7 @@ export class SayCoeiroink {
77
77
  if (!this.speechQueue) {
78
78
  throw new Error('SpeechQueue is not initialized. Call initialize() first.');
79
79
  }
80
- return this.speechQueue.enqueue(text, options);
80
+ return this.speechQueue.enqueueSpeech(text, options);
81
81
  }
82
82
  /**
83
83
  * キューに入っているすべてのタスクの完了を待つ
@@ -118,12 +118,38 @@ export class SayCoeiroink {
118
118
  }
119
119
  /**
120
120
  * キューをクリア
121
+ * @param taskIds 削除するタスクIDの配列(省略時は全タスク削除)
122
+ * @returns 削除されたタスク数
121
123
  */
122
- clearSpeechQueue() {
124
+ async clearSpeechQueue(taskIds) {
123
125
  if (!this.speechQueue) {
124
126
  throw new Error('SpeechQueue is not initialized. Call initialize() first.');
125
127
  }
126
- this.speechQueue.clear();
128
+ // 全タスククリアまたはタスクが残らない場合は再生も停止
129
+ if (!taskIds || taskIds.length === 0) {
130
+ // 全タスククリアの場合は再生も停止
131
+ if (this.audioPlayer) {
132
+ this.audioPlayer.stopPlayback();
133
+ }
134
+ }
135
+ return await this.speechQueue.clear(taskIds);
136
+ }
137
+ /**
138
+ * clearQueue エイリアス(テスト用)
139
+ * clearSpeechQueue と同じ動作
140
+ */
141
+ async clearQueue() {
142
+ return await this.clearSpeechQueue();
143
+ }
144
+ /**
145
+ * 音声再生を停止(チャンク境界で停止)
146
+ * 現在再生中のチャンクは最後まで再生され、次のチャンクから停止します
147
+ */
148
+ stopPlayback() {
149
+ if (!this.audioPlayer) {
150
+ throw new Error('AudioPlayer is not initialized. Call initialize() first.');
151
+ }
152
+ this.audioPlayer.stopPlayback();
127
153
  }
128
154
  // ========================================================================
129
155
  // 並行生成制御
@@ -176,7 +202,7 @@ export class SayCoeiroink {
176
202
  logger.debug('SayCoeiroink cleanup開始');
177
203
  try {
178
204
  if (this.speechQueue) {
179
- this.speechQueue.clear();
205
+ await this.speechQueue.clear(); // 全タスククリア
180
206
  }
181
207
  if (this.audioPlayer) {
182
208
  await this.audioPlayer.cleanup();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * OpenPromise: 外部から解決・拒否できるPromise
3
+ * @echogarden/audio-ioの内部実装パターンを参考
4
+ */
5
+ export declare class OpenPromise<T = void> {
6
+ readonly promise: Promise<T>;
7
+ private _resolve;
8
+ private _reject;
9
+ private _resolved;
10
+ private _rejected;
11
+ constructor();
12
+ resolve(value?: T | PromiseLike<T>): void;
13
+ reject(reason?: any): void;
14
+ get isResolved(): boolean;
15
+ get isRejected(): boolean;
16
+ get isPending(): boolean;
17
+ }
18
+ //# sourceMappingURL=open-promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-promise.d.ts","sourceRoot":"","sources":["../src/open-promise.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,IAAI;IAC/B,SAAgB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;;IAS1B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IASzC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAQ1B,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF"}