UNPKG

@kajidog/mcp-tts-voicevox

Version:

VOICEVOX integration for MCP - Text-to-Speech server using VOICEVOX engine

96 lines 2.78 kB
import { AudioQuery } from "../types"; /** * キューアイテムの状態 */ export declare enum QueueItemStatus { PENDING = "pending",// 初期状態 GENERATING = "generating",// 音声生成中 READY = "ready",// 再生準備完了 PLAYING = "playing",// 再生中 DONE = "done",// 再生完了 PAUSED = "paused",// 一時停止中 ERROR = "error" } /** * キューアイテムの情報 */ export interface QueueItem { id: string; text: string; speaker: number; status: QueueItemStatus; createdAt: Date; audioData?: ArrayBuffer; tempFile?: string; query?: AudioQuery; error?: Error; } /** * キュー管理イベントの種類 */ export declare enum QueueEventType { ITEM_ADDED = "item_added",// アイテム追加 ITEM_REMOVED = "item_removed",// アイテム削除 ITEM_STATUS_CHANGED = "item_status_changed",// 状態変更 ITEM_COMPLETED = "item_completed",// アイテム再生完了 QUEUE_CLEARED = "queue_cleared",// キュークリア PLAYBACK_STARTED = "playback_started",// 再生開始 PLAYBACK_PAUSED = "playback_paused",// 再生一時停止 PLAYBACK_RESUMED = "playback_resumed",// 再生再開 PLAYBACK_COMPLETED = "playback_completed",// 再生完了 ERROR = "error" } /** * キューイベントリスナー関数の型 */ export type QueueEventListener = (event: QueueEventType, item?: QueueItem) => void; /** * キュー管理のインターフェース */ export interface QueueManager { /** * キューに新しいテキストを追加 */ enqueueText(text: string, speaker: number, isKara?: boolean): Promise<QueueItem>; /** * キューに音声合成用クエリを追加 */ enqueueQuery(query: AudioQuery, speaker: number): Promise<QueueItem>; /** * キューからアイテムを削除 */ removeItem(itemId: string): Promise<boolean>; /** * キューをクリア */ clearQueue(): Promise<void>; /** * 再生を開始 */ startPlayback(): Promise<void>; /** * 再生を一時停止 */ pausePlayback(): Promise<void>; /** * 再生を再開 */ resumePlayback(): Promise<void>; /** * イベントリスナーを追加 */ addEventListener(event: QueueEventType, listener: QueueEventListener): void; /** * イベントリスナーを削除 */ removeEventListener(event: QueueEventType, listener: QueueEventListener): void; /** * 現在のキュー内のアイテムを取得 */ getQueue(): QueueItem[]; /** * 特定のアイテムの状態を取得 */ getItemStatus(itemId: string): QueueItemStatus | null; } //# sourceMappingURL=types.d.ts.map