努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:voiceroid:seikacenter:seikacenter-004

SeikaServerCompact の説明

※20190428/uから同梱されていません。提供を終了しました。

概要

20190330/uでの説明です。

SeikaServerCompactは、HTTPのリクエストを受け付けてIPCリクエストに変換しSeikaCenterへ指示を出すサーバープログラムです。SeikaCenterAPI.dllを利用しています。

SeikaServerCompactはSeikaCenterと同じPCで実行されている必要があります。

SeikaCenter SeikaServer Compact Your Application 1 IPC API DLL HTTP Listen API DLL Your Application 2 IPC HTTP HTTP

起動方法

最初にSeikaCenterを起動し音声合成製品が利用可能な状態にしておいてください。

次に、SeikaServerCompact.json を編集して必要なプロパティを編集してください。
プロパティは全て必須プロパティです。設定が無いと起動しません。

SeikaServerCompact.json
{
  "Addr"        : "*",
  "Port"        : 7180,
  "User"        : "ユーザー名",
  "Password"    : "パスワード",
  "WorkDir"     : "./work",
  "HtmlDir"     : "./html",
  "HtmlContents": {
    ".html": "text/html; charset=utf-8",
    ".css" : "text/css; charset=utf-8",
    ".js"  : "text/javascript; charset=utf-8",
    ".json": "applocation/json; charset=utf-8",
    ".jpg" : "image/jpeg",
    ".png" : "image/png",
    ".gif" : "image/gif",
    ".wav" : "audio/wav",
    ".ico" : "image/x-icon"
  }
}
プロパティ 説明
Addr 接続を待ち受けするアドレスを指定します。“*”はそのPCで割り当てられているすべてのアドレスを意味します。限定したければ“192.168.1.100”や“api.hgotoh.jp”のようにIPアドレスもしくはホスト名を記述します。
Port 接続を待ち受けするポートを指定します。標準は7180です。
User 接続を許すユーザを指定します。
Password 接続を許すユーザのパスワードを指定します。
WorkDir SeikaServerCompact の作業用ディレクトリを指定します。
HtmlDir SeikaServerCompact が扱う静的コンテンツの格納ディレクトリを指定します。
HtmlContents SeikaServerCompact が扱う静的コンテンツの種類とコンテンツタイプを指定します。

上記ができたら、SeikaServerCompact.exe を実行してください。
NAudio.dll,SeikaServerCompact.json,SeikaServerCompact.exe は同じパスにないといけません。

以下のコマンドラインで起動します。

start SeikaServerCompact.exe

バッチファイル run.bat を同梱したので、これを実行しても構いません。こんな表示がされたらアクセスが可能となっています。

work:E:\SeikaCenter\sandbox\SeikaServerCompact\work
html:E:\SeikaCenter\sandbox\SeikaServerCompact\html
seikaserver 20181021/u, DLL 20181021/u asm
listen http://*:7180/ start

使い方

HTTPプロトコルで以下に示すエントリーポイントURIを参照して下さい。
常時BASIC認証が適用されます。SeikaServerCompact.jsonに定義したUser,Passwordを使ってください。

例えばアドレス 192.168.1.1、ポート7180で起動しているのであれば、GETメソッドで

http://User:Password@192.168.1.1:7180/AVATOR

を参照するとSeikaCenterの話者一覧が取得できます。

curlコマンドですとこんな感じです。

curl -X GET -i http://User:Password@192.168.1.1:7180/AVATOR

もちろんAuthorizationヘッダを付与してアクセスしても問題ありません。

curl -X GET -H 'Authorization: Basic VXNlcjpQYXNzd29yZA==' -i http://192.168.1.1:7180/AVATOR

発声させるための例は以下となります。

このファイルはUTF-8 BOM無しのJSON形式です。

x.json
{
  "talktext":"これは 組み込みのプロキシー経由で発声させた例です"
}

このx.jsonをcurlコマンドを使ってSeikaCenterへ送り込みます。

curl -X POST -H "Content-Type: application/json" -d @x.json -i http://User:Password@192.168.1.1:7180/PLAY2/1700

音声を 1700.wav の名前で保存する時はこうなります。

curl -X POST -H "Content-Type: application/json" -d @x.json -i http://User:Password@192.168.1.1:7180/SAVE2/1700 -o 1700.wav

エントリーポイントURI

エントリーポイントURIについてはSeikaCenter制御URI の説明を参照してください。

静的コンテンツの利用

エントリーポイントURI /html はGETメソッドのみで扱えます。ブラウザからの操作を行うアプリケーションサンプルを作ったり、マニュアルを置くなどしたい場合に利用します。

SeikaServerCompact.jsonのプロパティHtmlDirで指すディレクトリがルートディレクトリになります。このディレクトリ以下にコンテンツを配置してください。

プロパティHtmlDirが E:\SeikaCenter\sandbox\SeikaServerCompact\html だった場合、

URI 対応ファイル
/html/a1.png E:\SeikaCenter\sandbox\SeikaServerCompact\html\a1.png
/html/audio/a2.mp4 E:\SeikaCenter\sandbox\SeikaServerCompact\html\audio\a2.mp4

となります。

SeikaServerCompact.jsonのプロパティHtmlContentsで指定した拡張子を持つファイルだけ利用可能です。指定のないファイルは実体が配置されていてもアクセスできません。

documents/voiceroid/seikacenter/seikacenter-004.txt · 最終更新: 2019/07/24 17:32 by k896951

ページ用ツール