Skip to content

es2z/AvisSpeechRouter

Repository files navigation

AVIS Speech Router

AVIS Speech形式のPOSTリクエストを受け付け、棒読みちゃんの辞書ルールを適用して別のポートに転送するルーティングソフトウェアです。

機能概要

  1. タグマッチング: ReplaceTag.dic または ReplaceTagRegex.dic にマッチするテキストは棒読みちゃんにGETリクエストで転送
  2. テキスト置換: 上記にマッチしない場合、ReplaceStudy.dicReplaceWord.dicReplaceWordRegex.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 を配置してください。 初回起動時にファイルが存在しない場合、テンプレートが自動生成されます。

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: 置換先文字列(置換辞書の場合)

処理順序

  1. ReplaceTag.dic - 部分一致チェック(テキストにパターンが含まれるか)
  2. ReplaceTagRegex.dic - 正規表現チェック
  3. 上記にマッチしない場合、以下の置換を優先順位順に全て実行:
    • ReplaceStudy.dic - 通常文字列置換(一致部分のみ置換)
    • ReplaceWord.dic - 通常文字列置換(一致部分のみ置換)
    • ReplaceWordRegex.dic - 正規表現置換

使用方法

  1. 棒読みちゃんを起動(辞書ファイルが生成される)
  2. settings.json を設定
  3. 本アプリを起動
  4. AVIS Speech形式のPOSTリクエストを本アプリのポートに送信

終了方法

Ctrl+C でサーバーを停止します。

トラブルシューティング

ポートにアクセスできない

管理者権限で実行するか、以下のコマンドでURLを予約してください:

netsh http add urlacl url=http://localhost:10102/ user=Everyone

辞書ファイルが見つからない

棒読みちゃんを一度起動すると辞書ファイルが自動生成されます。 settings.json のパスが正しいか確認してください。

ライセンス

MIT License

About

AvisSpeech形式で受け取ったデータを棒読みちゃん変換辞書を元に、必要であれば棒読みちゃんに転送そうでなければ辞書適用したものをAvisSpeecにスロー

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages