ユーザ用ツール

サイト用ツール


seikacenter-103

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
seikacenter-103 [2023/04/13 00:43] – 削除 - 外部編集 (Unknown date) 127.0.0.1seikacenter-103 [2023/04/13 00:43] (現在) – ↷ limited-004 から seikacenter-103 へページを名称変更しました。 k896951
行 1: 行 1:
 +====== SeikaCenterAPI.dllの説明 ======
 +
 +SeikaCenterのサポートは終了いたしました。\\ この製品に修正や機能拡張は今後行われません。現時点での最新版のダウンロードは可能です。\\
 +後継プロダクト AssistantSeika をご利用ください。
 +
 +===== 概要 =====
 +
 +20190428/uでの説明です。
 +
 +SeikaCenterAPI.dll は .NET Framework 4.7.2 環境で作成したDLLです。その使用例の説明をします。
 +
 +IPCもしくはHTTPを使ってSeikaCenterへ接続し制御ができます。
 +
 +===== DLLを利用した操作例 =====
 +
 +<code csharp sample.cs>
 +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<string, decimal> effects = new Dictionary<string, decimal>()
 +            {
 +                {"speed", 0.90m },
 +                {"pitch", 1.30m }
 +            };
 +            Dictionary<string, decimal> emotions = new Dictionary<string, decimal>()
 +            {
 +                {"喜び", 0.60m }
 +            };
 +
 +            // 音声発声時
 +            len = scc.Talk(2000, "あー嬉しーなー", "", effects, emotions);
 +
 +            // 音声保存時
 +            // len = scc.Talk(2000, "あー嬉しーなー", @"E:\seikacenter\ureshi.wav", effects, emotions);
 +        }
 +    }
 +}
 +</code>
 +
 +===== 接続モード =====
 +
 +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つのプロパティは必須プロパティです。
 +<code javascript SeikaCenterAPI.json>
 +{
 +  "HostAddr"   : "http://localhost:7180",
 +  "SampleRate" : 22050 ,
 +  "User"       : "ユーザ",
 +  "Password"   : "パスワード"
 +}
 +</code>
 +
 +^ プロパティ    ^ 説明    ^
 +| HostAddr     | 接続先 SeikaCenterの待ち受けURIです    |
 +| SampleRate   | 音声のサンプリングレートです。音声はモノラルで指定のサンプリングレート(この例では22.05kHz)に変換されます   |
 +| User         | 接続先 SeikaCenter で定義されているユーザです    |
 +| Password     | 接続先 SeikaCenter で定義されているパスワードです    |
 +
 +
 +
 +===== メソッド/プロパティ =====
 +
 +現時点では以下のDLLメソッド、プロパティが公開されています。接続モードに関係なく利用できます。
 +^ メソッド/プロパティ                                                                                                                                                                        |^ 説明                                                                                                                                                      ^
 +^ 戻り値                          ^ 名前                                                                                                                                                  ^ :::                                                                                                                                                     ^
 +| string                       | DLLVersion                                                                                                                                          | DLLのバージョン。SeikaCenterのバージョンではありません。                                                                                                                     |
 +| Dictionary<int, string>      | AvatorList                                                                                                                                          | SeikaCenterで利用可能な話者の一覧を返します。                                                                                                                            |
 +| Dictionary<string,Dictionary<string,Dictionary<string, decimal> > >  | GetAvatorParams2(\\   int cid\\ )                                                                                                                    | 指定の話者のデフォルトパラメタ情報を返します。                                                                                                                                 |
 +| Dictionary<string,Dictionary<string,Dictionary<string, decimal> > >  | GetAvatorParams_current2(\\   int cid\\ )                                                                                                            | 指定の話者の現在パラメタ情報を返します。                                                                                                                                    |
 +| double                       | Talk(\\   int cid,\\   string talktext,\\   string filepath,\\   Dictionary<string, decimal> effects,\\   Dictionary<string, decimal> 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}}
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki