棒読みちゃんで読み上げられた文章を翻訳するやつ
2018-10-26追記
Limechatと連携するスクリプト(クリップボードにコピーするだけ)、NCVと連携するプラグイン、ハンドル取得を利用しない場合に訳文を棒読みちゃんに出力する機能はつけられそうです。私個人は不要なので、要望があれば。
棒読みちゃんに流れた文章やクリップボードに貼り付けられた文章をGASを利用して翻訳/表示するソフトです。 1回分の翻訳結果をテキストファイルに出力しているので、OBSのテキスト(GDI+)で結果を表示することが出来ます。
※機能の実装方法がお粗末です。具体的には、棒読みちゃんに備わっているソケット通信の機能を不使用等。寛大な心でお使いください。
概要
棒読みちゃんに流れた文章を翻訳して表示します。クリップボード監視も一応出来ます。 日本語(+中国語)は英語に、それ以外の言語は日本語に翻訳されます(言語判定の結果に基づく)。
利用可能ソフトウェア
・棒読みちゃん+棒読みちゃんと連携できるソフトウェア(NCV、あんこちゃん、Limechat等)
ダウンロード
ココ(uploader.jp)使い方
1. Google Apps Scriptをインストールする。
ブラウザを開いてGoogleにログインし、Googleドライブを開きます。左上の「新規」→「その他」→「アプリの追加」から、Google Apps Scriptをインストールしてください。インストールが終わったら、左上の「新規」→「その他」→「Google Apps Script」を押してください。無題のプロジェクトが開きます。プロジェクト名は「Translation」等分かりやすい名前にしておくと良いでしょう。
2. スクリプトを書く。
以下をコピペしてください。
function doGet(e) { var p = e.parameter; var translatedText = LanguageApp.translate(p.text, p.source, p.target); return ContentService.createTextOutput(translatedText); }
3. APIのURLを作成する。
「公開」→「ウェブアプリケーションとして導入」を開くとURLが表示されます。このURLを本ソフトで使用するので、保管しておいてください。 (アプリケーションにできるユーザーを匿名にしてURLを他人に教えれば、その方はこの手順なしに利用することが出来ます。しかし、あまりにこのAPIの利用頻度が高いと弾かれるため、ほどほどにしておきましょう。)
4. ソフトの設定を行う。
設定を開き、先程作成したURLをGAS URL欄に記入してください。メインウィンドウの「その他の設定」から開くことが出来ます。
4-1. 棒読みちゃんのテキストを取得する場合
タイトル取得を押すと起動中アプリケーションの一覧が表示されるので、棒読みちゃんを選択してください。選択すると右側のボックスに謎の文字列が表示されますが、最下行が読み上げる文章になるように、「xx行目の文字列を取得」を調整してください(棒読みちゃんの場合は9行目で取得できると思います)。
取得方法はハンドルにします。「開始」を押すと、棒読みちゃんで読まれた内容と翻訳結果が表に表示されるようになると思います。
4-2. クリップボードのテキストを取得する場合
取得方法をクリップボードにして「開始」を押すと、クリップボードにコピーされた内容を翻訳できます。
5. 補足
・表を右クリック→設定開/閉を押すと、設定項目がいい感じに隠れます(いつもの)。
・その他の設定にある「テキストファイルに出力」にチェックを入れると、本ソフトと同じ位置にある「output.txt」に取得したテキストと翻訳されたテキストが一回分のみ保存されます。OBS Studioでテキスト(GDI+)を追加し、「ファイルからの読み取り」にチェックを入れてこのテキストファイルを選択すれば、お好きなフォントで翻訳前後のテキストを配信画面に表示できます(翻訳処理から数秒遅れて反映されます)。
6. 蛇足
テキストファイルの出力は、テキストファイルの内容表示であればOBS側で自由度高く設定ができていいんじゃないかなと思ったからです。…コメジェネ連携の仕方が分からなかったわけでは
棒読みちゃんのソケット通信の利用も(ry