====== SeikaCenterAPI.dllの説明 ====== SeikaCenterのサポートは終了いたしました。\\ この製品に修正や機能拡張は今後行われません。現時点での最新版のダウンロードは可能です。\\ 後継プロダクト AssistantSeika をご利用ください。 ===== 概要 ===== 20190428/uでの説明です。 SeikaCenterAPI.dll は .NET Framework 4.7.2 環境で作成したDLLです。その使用例の説明をします。 IPCもしくはHTTPを使ってSeikaCenterへ接続し制御ができます。 ===== DLLを利用した操作例 ===== using System.Collections.Generic; using SeikaCenter; namespace a_test { class Program { static void Main(string[] args) { SeikaCenterControl scc = new SeikaCenterControl(); double len = 0.0; Dictionary effects = new Dictionary() { {"speed", 0.90m }, {"pitch", 1.30m } }; Dictionary emotions = new Dictionary() { {"喜び", 0.60m } }; // 音声発声時 len = scc.Talk(2000, "あー嬉しーなー", "", effects, emotions); // 音声保存時 // len = scc.Talk(2000, "あー嬉しーなー", @"E:\seikacenter\ureshi.wav", effects, emotions); } } } ===== 接続モード ===== SeikaCenterAPI.dllを使ったプログラムは、プログラムのリコンパイルをすることなく接続モードを変更することができます。 ==== 通常モード(IPC接続モード) ==== SeikaCenterAPI.DLLでIPC接続を使う接続モードの事です。 ==== リモート接続モード ==== SeikaCenterAPI.DLLでHTTP接続を行わせる状態を「リモート接続モード」と称します。\\ SeikaCenter稼働PCと異なるPCから制御したい場合、またはIPCが利用できない環境では、リモート接続モードが利用できます。 {{pasted:20230411-194325.png?nolink}} リモート接続モードはHTTPを利用するので、SeikaCenterの設定「HTTP機能」を有効にする必要があります。 利用するSeikaCenterAPI.DLLと同じディレクトリに名称 SeikaCenterAPI.json のJSONファイルを配置すると、DLL内部処理がリモート接続モードに切り替ります。\\ SeikaCenterAPI.DLLを利用する側はプログラムを変更する必要はありません。 SeikaCenterAPI.jsonに記述する4つのプロパティは必須プロパティです。 { "HostAddr" : "http://localhost:7180", "SampleRate" : 22050 , "User" : "ユーザ", "Password" : "パスワード" } ^ プロパティ ^ 説明 ^ | HostAddr | 接続先 SeikaCenterの待ち受けURIです | | SampleRate | 音声のサンプリングレートです。音声はモノラルで指定のサンプリングレート(この例では22.05kHz)に変換されます | | User | 接続先 SeikaCenter で定義されているユーザです | | Password | 接続先 SeikaCenter で定義されているパスワードです | ===== メソッド/プロパティ ===== 現時点では以下のDLLメソッド、プロパティが公開されています。接続モードに関係なく利用できます。 ^ メソッド/プロパティ |^ 説明 ^ ^ 戻り値 ^ 名前 ^ ::: ^ | string | DLLVersion | DLLのバージョン。SeikaCenterのバージョンではありません。 | | Dictionary | AvatorList | SeikaCenterで利用可能な話者の一覧を返します。 | | Dictionary > > | GetAvatorParams2(\\   int cid\\ ) | 指定の話者のデフォルトパラメタ情報を返します。 | | Dictionary > > | GetAvatorParams_current2(\\   int cid\\ ) | 指定の話者の現在パラメタ情報を返します。 | | double | Talk(\\   int cid,\\   string talktext,\\   string filepath,\\   Dictionary effects,\\   Dictionary emotions\\ ) | 指定の話者で指定テキストを発声/音声保存させます。\\ ファイルパスが空の時は音声再生、ファイルパスが設定されていれば音声保存が実行されます。\\ 戻り値は\\   発声時:発声にかかった時間\\   保存時:保存した音声ファイルの音声長さ\\ 単位はミリ秒です。エラー時はマイナスの数値になります。 | ==== エフェクトパラメタ ==== Talk()の引数effectsで指定できる名前。英小文字で記述。範囲は[[seikacenter-101]]を参照。 ^ 名前 ^ 対応するパラメタ ^ VOICEROID+EX ^ VOICEROID2 ^ CeVIO ^ ガイノイドTalk ^ 棒読みちゃん ^ SAPI ^ SpeechPlatform ^ | volume | 音量 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | | speed | 話速 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | | pitch | 高さ(CeVIOではトーン) | 〇 | 〇 | 〇 | 〇 | 〇 | | | | intonation | 抑揚(CeVIOではトーンスケール) | 〇 | 〇 | 〇 | 〇 | | | | | alpha | 声質 ※CeVIOでのみ有効 | | | 〇 | | | | | ==== 感情パラメタ ==== Talk()の引数emotionsは話者により異なります。 ^ ^ 感情パラメタ ||||||||||||||||| ^ 話者 ^ "喜び" ^ "怒り" ^ "悲しみ" ^ "セクシー" ^ "パワフル" ^ "あたふた" ^ "元気" ^ "普通" ^ "怒り" ^ "哀しみ" ^ "クール" ^ "照れ" ^ "へこみ" ^ "High" ^ "Mid" ^ "MidLow" ^ "Low" ^ | VOICEROID2 | ○ | ○ | ○ | | | | | | | | | | | | | | | | 東北イタコ(VOICEROID2) | | | | ○ | ○ | ○ | | | | | | | | | | | | | さとうささら | | | | | | | ○ | ○ | ○ | ○ | | | | | | | | | すずきつづみ | | | | | | | | | | | ○ | ○ | | | | | | | タカハシ | | | | | | | ○ | ○ | | | | | ○ | | | | | | ONE | | | | | | | | | | | | | | ○ | ○ | ○ | ○ | ==== 再生時間 ==== Talk()で返る時間/長さは、同じ文面を再生/保存させても毎回異なります。\\ これは、製品の機能を使わず発声の終了を自前で監視しているため、PCの状態やタイミング等の問題で変動します。 音声保存時は一度保存した音声ファイルから算出させています。 エラーがあった場合、時間/長さにマイナスの値が返ります。 {{tag> 技術資料 Windows voiceroid Voiceroid2 Codeer.Friendly tool}}