akatrans-002
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| akatrans-002 [2023/04/13 02:30] – [設定] k896951 | akatrans-002 [2025/03/30 02:01] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== VOICEROID2/ | ||
| + | 2019/ | ||
| + | **Google翻訳のWebサイト仕様が変更されたので、このプログラムでは翻訳結果を受け取れなくなりました。そのため公開を中止します。** | ||
| + | |||
| + | クリップボードの内容をGoogle翻訳してSeikaCenter経由でVOICEROID2/ | ||
| + | |||
| + | ===== ダウンロード ===== | ||
| + | |||
| + | <WRAP download> | ||
| + | akatrans20181030.zip 2018/ | ||
| + | </ | ||
| + | |||
| + | 2018/ | ||
| + | * SeikaCenterを利用するバージョンを作成(20190324/ | ||
| + | |||
| + | アーカイブには以下が含まれています。 | ||
| + | ^ ファイル | ||
| + | | akatrans.exe | ||
| + | | akatran.json | ||
| + | | SeikaCenterAPI.dll | ||
| + | |||
| + | |||
| + | 作者は Windows 10 Pro 64bit版 + .NET Framework 4.6.1 の環境で動作確認しています。 | ||
| + | Windows 8 以降であれば話者に SAPIの「Microsoft Haruka Desktop」が利用可能と聞いています。SAPI指定時に実行時エラーが出てしまう場合は以下のソフトウエアを導入する事で改善された旨の報告を受けています。 | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== 概要 ===== | ||
| + | |||
| + | このプログラムは、編集メニューの「コピー(C)」やショートカット< | ||
| + | プログラム製作者は Windows10 Pro 64bit版上で、 | ||
| + | * VOICEROID2 | ||
| + | * CeVIO(CeVIO CS 6.1) | ||
| + | * SAPI(ASPI5) | ||
| + | * SeikaCenter 20190327/c | ||
| + | での動作を確認しました。 | ||
| + | |||
| + | akache-chan so cute! | ||
| + | https:// | ||
| + | {{: | ||
| + | |||
| + | ===== 注意 ===== | ||
| + | |||
| + | * VOICEROID2やCeVIO、SeikaCenterはこのプログラム実行前に起動しておく必要があります。 | ||
| + | * このプログラムではGoogle翻訳のWebサイトへアクセスしています。あまりに過剰なアクセスがあった場合、Googleから接続を遮断されてしまうかもしれません。常識の範囲内での利用を推奨します。 | ||
| + | * 英文でなくてもGoogle翻訳のWebサイトにクリップボードの内容が転送されるので、機密情報を扱うような作業時には利用しない事を推奨します。 | ||
| + | * また、エラーに関しての考慮が決定的に欠けています。ご注意ください。 | ||
| + | |||
| + | ===== 始まりは過酷な労働からの解放 ===== | ||
| + | |||
| + | こちらのプロダクトをまずはこちらをご覧ください。 | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | クリップボードを毎秒60回監視するという過酷な労働から琴葉茜ちゃんを解放するための挑戦をしてみました。 | ||
| + | |||
| + | ===== プログラムの使い方と説明 ===== | ||
| + | |||
| + | これは、echoseika版を手直しして SeikaCenter を利用するように再構成したものです。\\ | ||
| + | |||
| + | ==== 設定 ==== | ||
| + | |||
| + | アーカイブに同梱された akatran.json を UTF-8(BOM無し)で編集可能なテキストエディタで開いてください。 | ||
| + | akatran.jsonの" | ||
| + | |||
| + | <code javascript> | ||
| + | { | ||
| + | " | ||
| + | { " | ||
| + | { " | ||
| + | { " | ||
| + | { " | ||
| + | ], | ||
| + | " | ||
| + | { " | ||
| + | { " | ||
| + | { " | ||
| + | { " | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | tkey は翻訳方向を設定するプロパティです。" | ||
| + | cid はSeikaCenterで表示されている話者のcidです。 | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | cid=1000 はMicrosoft Haruka Desktop、cid=2000 は琴葉茜、cid=3000 はさとうささら、cid=1005 はMicrosoft Zira Desktop、となります。 | ||
| + | |||
| + | alpha, intonation, pitch, speed, volume, の各プロパティは音声効果パラメタです。\\ | ||
| + | 音声合成製品毎に範囲が異なりますので、SeikaCenter オプションの説明 をご確認ください。なおemotionパラメータは利用できません。 | ||
| + | |||
| + | ==== 起動 ==== | ||
| + | |||
| + | 前提として、先に音声合成製品、SeikaCenter、が起動している必要があります。 | ||
| + | その次にakatrans.exeを起動します。 | ||
| + | |||
| + | ==== 基本機能 ==== | ||
| + | |||
| + | この状態で例えばメモ帳で書いた英文をマウスで選択、ショートカットキー < | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 再度ショートカットキー < | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 話者を切り替えればその話者で翻訳結果を読み上げします。 | ||
| + | |||
| + | ==== その他機能 ==== | ||
| + | |||
| + | === 翻訳しない === | ||
| + | |||
| + | Google翻訳サイトとの通信を行わず、クリップボード内容をそのまま読み上げします。このプログラムのコンセプトを否定してしまう機能です。 | ||
| + | |||
| + | === 音声を出力しない === | ||
| + | |||
| + | 音声合成を抑止します。このプログラムのコンセプトを否定してしまう機能です。 | ||
| + | |||
| + | === クリップボードを変換結果で置き換えする === | ||
| + | |||
| + | チェックボックス「クリップボードを変換結果で置き換えする」をオンにしておくと、「変換テキスト」が翻訳されたタイミングでクリップボードの内容が翻訳結果に置き換わります。\\ | ||
| + | ショートカットキー < | ||
| + | |||
| + | === 動作一時停止 === | ||
| + | |||
| + | クリップボード監視を停止します。 | ||
| + | |||
| + | |||
| + | ===== 技術的な説明 ===== | ||
| + | |||
| + | このプログラムはGoogle本屋君の説明と同じように、IE(webBrowserコンポーネント)経由でクリップボードの内容をGoogle翻訳ページで翻訳し、その結果をSeikaCenter経由で指定の音声合成製品で読み上げさせます。 | ||
| + | |||
| + | ==== 本家との差異 ==== | ||
| + | |||
| + | 本家との違いは、 | ||
| + | * 動作トリガーはショートカットキー< | ||
| + | * 話者を変更できる。 | ||
| + | * 翻訳結果を残さない(記録しない)。 | ||
| + | * 英日以外の翻訳も可能。 | ||
| + | * 毎秒60回の監視はしないのでPCに多少優しい。 | ||
| + | |||
| + | となります。 | ||
| + | |||
| + | ==== Win API AddClipboardFormatListener() ==== | ||
| + | |||
| + | Windows Vista以降に実装されたAPI AddClipboardFormatListener() を利用しています。\\ | ||
| + | このAPIでプログラムを登録すると、クリップボードに何らかの変化があった場合にOSが登録プログラムに対してウインドウメッセージ(WM_CLIPBOARDUPDATE)を送ってくれるので、ポーリングでクリップボードの監視をする必要がなくなります。\\ | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Google翻訳呼び出しURL ==== | ||
| + | |||
| + | Web APIを使っているわけではなく、単純にGoogle翻訳のWebページへアクセスしています。以下のURLでテキストを渡しているだけです。 | ||
| + | * https:// | ||
| + | |||
| + | " | ||
| + | 具体的なURLは akatran.json のurlsプロパティの定義を参照してください。 | ||
| + | デフォルトの英日、中日、独日、仏日、日英、の5つが登録されています。この構造が理解できるなら、新たな翻訳を追加したり不要な翻訳を削除することができます。 | ||
| + | |||
| + | ==== Google翻訳結果取り出し ==== | ||
| + | |||
| + | 最初に取得できるHTMLには翻訳結果は入っておらず、JavaScriptの実行により後から非同期に翻訳結果が返ってきます。\\ | ||
| + | JavaScript実行とその結果生成されるDOMを操作する必要があるため、IEコンポーネントを利用しています。 | ||
| + | |||
| + | ダサいロジックで翻訳終了を検知しているため、3秒ほどかかってしまいます。もう少しスマートな方法もありますが手間に見合わないのでこのままにしています。\\ | ||
| + | |||
| + | |||
| + | {{tag> 技術資料 Windows SeikaCenter voiceroid2 CeVIO SAPI Google翻訳 Win32API }} | ||
