2019/03/27
Google翻訳のWebサイト仕様が変更されたので、このプログラムでは翻訳結果を受け取れなくなりました。そのため公開を中止します。
2018/02/12
2017/11/22
akatran20180212.zip クリップボードの英文をGoogle翻訳で翻訳してVOICEROIDに喋らせる - 2018-02-12 公開。
アーカイブには以下が含まれています。
ファイル | 説明 |
---|---|
akatrans.exe | プログラム本体です。 |
akatran.json | akatrans.exeが読み込む定義ファイルです。 |
echoSeikAPI.dll | akatrans.exeで使用する音声制御DLLです。 |
作者は Windows 10 Pro 64bit版 + .NET Framework 4.6.1 の環境で動作確認しています。
Windows 8 以降であれば話者に SAPIの「Microsoft Haruka Desktop」が利用可能と聞いています。SAPI指定時に実行時エラーが出てしまう場合は以下のソフトウエアを導入する事で改善された旨の報告を受けています。
このプログラムは、編集メニューの「コピー(C)」やショートカットCTRL+C等でクリップボードにコピーされたテキストをGoogle翻訳で翻訳して音声合成ソフトウエアで再生します。
プログラム製作者は Windows10 Pro 64bit版上で、
での動作を確認しました。
まずはこちらをご覧ください。
クリップボードを毎秒60回監視するという過酷な労働から琴葉茜ちゃんを解放するための挑戦をしてみました。
アーカイブに同梱された akatran.json を UTF-8(BOM無し)で編集可能なテキストエディタで開いてください。
akatran.jsonのRateプロパティ(話速)とVolumeプロパティ(音量)を変更することができます。全てのSAPI話者で共用されます。
msttsRateタグおよびmsttsVolumeタグが各々対応します。指定範囲は Volume:0 ~ 100、Rate:-10 ~ 10、 です。
"msttsRate": 1, "msttsVolume": 100
akatran.jsonの“avatorConfigs”プロパティに使いたい話者のエントリを追加します。同梱の akatran.json には東北ずん子EX、京町セイカEX、さとうささら、が登録されています。
alpha, intonation, pitch, speed, volume, の各プロパティは音声効果パラメタです。必要なら適宜修正してください。alphaプロパティは今のところCeVIOで有効です。intonationプロパティに0.0を指定すると、完全棒読みになります。
"avatorConfigs": [ { "avator": "SEIKA", "alpha": 0.0, "intonation": 1.0, "pitch": 1.0, "speed": 1.2, "volume": 1.0 }, { "avator": "ZUNKO_EX", "alpha": 0.0, "intonation": 1.3, "pitch": 1.0, "speed": 1.1, "volume": 1.0 }, { "avator": "SASARA", "alpha": 100, "intonation": 50, "pitch": 50, "speed": 50, "volume": 100 } ],
指定 | 話者 |
---|---|
SEIKA | VOICEROID+ 京町セイカ EX |
YOSHIDA_EX | VOICEROID+ 鷹の爪 吉田くん EX |
AI_EX | VOICEROID+ 月読アイ EX |
SHOUTA_EX | VOICEROID+ 月読ショウタ EX |
MINASE | VOICEROID+ 水奈瀬コウ EX |
KIRITAN | VOICEROID+ 東北きりたん EX |
ZUNKO | VOICEROID+ 東北ずん子 |
ZUNKO_EX | VOICEROID+ 東北ずん子 EX |
TAMMY_EX | VOICEROID+ 民安ともえ EX |
YUKARI_EX | VOICEROID+ 結月ゆかり EX |
AKANE | VOICEROID+ 琴葉茜 |
AOI | VOICEROID+ 琴葉葵 |
TAMMY | VOICEROID+ 民安ともえ |
YUKARI | VOICEROID+ 結月ゆかり |
YOSHIDA | VOICEROID+ 鷹の爪 吉田くん |
UNA | 音街ウナTalk Ex |
SASARA | CeVIO さとうささら |
TSUZUMI | CeVIO すずきつづみ |
TAKAHASHI | CeVIO タカハシ |
IA | CeVIO IA |
ONE | CeVIO ONE |
VOICEROID、CeVIOを先に起動し、次にakatrans.exeを起動します。
この状態で例えばメモ帳で書いた英文をマウスで選択、ショートカットキー CTRL+Cでクリップボードにコピーします。するとウインドウにコピーしたテキストが表示されます。
再度ショートカットキー CTRL+Cで同じテキストをクリップボードにコピーすると、3秒ほどで英文が翻訳され読み上げが行われます。
話者を切り替えればその話者で翻訳結果を読み上げします。
「翻訳種類」で翻訳対象言語の切り替えができます。
デフォルトの akatran.json を使った場合、英日、中日、独日、仏日、日英、の5つが利用可能です。英語の話せない話者で英語を読み上げることはできないので注意してください。
Google翻訳サイトとの通信を行わず、クリップボード内容をそのまま読み上げします。このプログラムのコンセプトを否定してしまう機能です。
音声合成を抑止します。このプログラムのコンセプトを否定してしまう機能です。
チェックボックス「クリップボードを変換結果で置き換えする」をオンにしておくと、「変換テキスト」が翻訳されたタイミングでクリップボードの内容が翻訳結果に置き換わります。
ショートカットキー CTRL+Vやメモ帳等の「貼り付け」メニューで翻訳結果の貼り付けが可能です。
クリップボード監視を停止します。
このプログラムはGoogle本屋君の説明と同じように、IE(webBrowserコンポーネント)経由でクリップボードの内容をGoogle翻訳ページで翻訳し、その結果をVOICEROIDに読み上げさせる手法を使っています。
本家との違いは、
となります。
Windows Vista以降に実装されたAPI AddClipboardFormatListener() を利用しています。
このAPIでプログラムを登録すると、クリップボードに何らかの変化があった場合にOSが登録プログラムに対してウインドウメッセージ(WM_CLIPBOARDUPDATE)を送ってくれるので、ポーリングでクリップボードの監視をする必要がなくなります。
Web APIを使っているわけではなく、単純にGoogle翻訳のWebページへアクセスしています。以下のURLでテキストを渡しているだけです。
“en”を“de”に置き換えれば独日翻訳、“fr”に置き換えれば仏日翻訳です。
具体的なURLは akatran.json のurlsプロパティの定義を参照してください。
デフォルトの英日、中日、独日、仏日、日英、の5つが登録されています。この構造が理解できるなら、新たな翻訳を追加したり不要な翻訳を削除することができます。