@kajidog/mcp-tts-voicevox
Version:
VOICEVOX integration for MCP - Text-to-Speech server using VOICEVOX engine
73 lines • 2.31 kB
TypeScript
import { AudioQuery } from "./types";
import { VoicevoxQueueManager } from "./queue";
/**
* VOICEVOX音声プレイヤークラス
* キュー管理システムを使用して音声の合成と再生を行う
*/
export declare class VoicevoxPlayer {
private queueManager;
/**
* コンストラクタ
* @param voicevoxUrl VOICEVOX Engine API URL
* @param prefetchSize 事前生成するアイテム数
*/
constructor(voicevoxUrl?: string, prefetchSize?: number);
/**
* テキストをキューに追加
* @param text 合成するテキスト
* @param speaker 話者ID
*/
enqueue(text: string, speaker?: number): Promise<void>;
/**
* クエリを使ってキューに追加
* @param query 音声合成用クエリ
* @param speaker 話者ID
*/
enqueueWithQuery(query: AudioQuery, speaker?: number): Promise<void>;
/**
* テキストから音声合成用クエリを生成
* キューマネージャーの内部機能を使用
* @param text 合成するテキスト
* @param speaker 話者ID
*/
generateQuery(text: string, speaker?: number): Promise<AudioQuery>;
/**
* 音声合成用クエリから音声ファイルを生成
* 重複を避けるためにQueueManagerの機能に委譲
*
* @param query 音声合成用クエリ
* @param output 出力ファイルパスまたは出力ディレクトリ(省略時は一時ディレクトリに生成)
* @param speaker 話者ID
*/
synthesizeToFile(query: AudioQuery, output?: string, speaker?: number): Promise<string>;
/**
* 再生を開始
*/
startPlayback(): void;
/**
* 再生を一時停止
*/
pausePlayback(): void;
/**
* 再生を再開
*/
resumePlayback(): void;
/**
* キュー内のアイテム数を取得
*/
getQueueLength(): number;
/**
* キューが空かどうかを確認
*/
isQueueEmpty(): boolean;
/**
* キューが再生中かどうかを確認
*/
isPlaying(): boolean;
/**
* キューマネージャーインスタンスを取得
* 高度な操作のため公開
*/
getQueueManager(): VoicevoxQueueManager;
}
//# sourceMappingURL=player.d.ts.map