AVIS Speech形式のPOSTリクエストを受け付け、棒読みちゃんの辞書ルールを適用して別のポートに転送するルーティングソフトウェアです。
- タグマッチング:
ReplaceTag.dicまたはReplaceTagRegex.dicにマッチするテキストは棒読みちゃんにGETリクエストで転送 - テキスト置換: 上記にマッチしない場合、
ReplaceStudy.dic、ReplaceWord.dic、ReplaceWordRegex.dicのルールで置換後、AVIS Speechに再スロー
AVIS Speech形式POST → [本アプリ] → タグ判定
├─ ヒット → 棒読みちゃん (GET)
└─ ミス → 置換処理 → AVIS Speech (POST)
- .NET 10.0 以降
- Windows(棒読みちゃんが動作する環境)
# 通常ビルド
dotnet build -c Release
# Native AOT(単一実行ファイル、起動が高速)
dotnet publish -c Release -r win-x64 --self-contained実行ファイルと同じディレクトリに settings.json を配置してください。
初回起動時にファイルが存在しない場合、テンプレートが自動生成されます。
{
"listenPort": 10102,
"bouyomiPort": 55544,
"avisSpeechPort": 10101,
"replaceTagDicPath": "C:\\BouyomiChan\\ReplaceTag.dic",
"replaceTagRegexDicPath": "C:\\BouyomiChan\\ReplaceTagRegex.dic",
"replaceStudyDicPath": "C:\\BouyomiChan\\ReplaceStudy.dic",
"replaceWordDicPath": "C:\\BouyomiChan\\ReplaceWord.dic",
"replaceWordRegexDicPath": "C:\\BouyomiChan\\ReplaceWordRegex.dic"
}| 項目 | 説明 |
|---|---|
listenPort |
本アプリが待ち受けるポート番号 |
bouyomiPort |
棒読みちゃんのHTTPポート番号 |
avisSpeechPort |
転送先AVIS Speechのポート番号 |
replaceTagDicPath |
ReplaceTag.dic のフルパス |
replaceTagRegexDicPath |
ReplaceTagRegex.dic のフルパス |
replaceStudyDicPath |
ReplaceStudy.dic のフルパス |
replaceWordDicPath |
ReplaceWord.dic のフルパス |
replaceWordRegexDicPath |
ReplaceWordRegex.dic のフルパス |
棒読みちゃんの辞書ファイル(TSV形式)をそのまま使用します。
優先順位<TAB>未使用<TAB>パターン<TAB>置換先
- カラム1: 優先順位(数値が大きいほど先に処理)
- カラム2: 棒読みちゃん内部用(本アプリでは未使用)
- カラム3: マッチ対象パターン
- カラム4: 置換先文字列(置換辞書の場合)
ReplaceTag.dic- 部分一致チェック(テキストにパターンが含まれるか)ReplaceTagRegex.dic- 正規表現チェック- 上記にマッチしない場合、以下の置換を優先順位順に全て実行:
ReplaceStudy.dic- 通常文字列置換(一致部分のみ置換)ReplaceWord.dic- 通常文字列置換(一致部分のみ置換)ReplaceWordRegex.dic- 正規表現置換
- 棒読みちゃんを起動(辞書ファイルが生成される)
settings.jsonを設定- 本アプリを起動
- AVIS Speech形式のPOSTリクエストを本アプリのポートに送信
Ctrl+C でサーバーを停止します。
管理者権限で実行するか、以下のコマンドでURLを予約してください:
netsh http add urlacl url=http://localhost:10102/ user=Everyone棒読みちゃんを一度起動すると辞書ファイルが自動生成されます。
settings.json のパスが正しいか確認してください。
MIT License