ChotTTS (音声読上げ)

10月27日のJTF翻訳祭にて翻訳チェックに関する講演をしましたが、その際に「ホモグラフエラー」や「タイポグリセミア」は、音声読み上げソフトウェアに音読させると検出可能であるというお話しをしました。

そういう認識を既にお持ちの方は、既に有償ソフトウェア(例えば、JustSystemの詠太など)を利用されていると思います。ちょっと試してみたいと考えた方が気軽に使えるフリーウェアがあると良いなぁ…ということで、作ってみました。といっても、私が本業で必要となり(でもお金はかけらないので)仕方なく自作したスクリプトを、今回、公開できるように形を整えただけの代物です(笑)ので、あまり期待しないでください。

「ChotTTS」という名称で公開いたします。(ちょっと試せる Text To Speech)

ダウンロードは、WildLightライブラリからしてください。
https://app.box.com/v/WildLight
ファイル名: ChotTTS.zip

【概要】

  • ChotTTS は、クリップボードにコピーされたテキストを音読します。
  • 日本語で発話しますが、2バイト文字の含まない文は、英語で発話します。
    (つまり、英文は英語で音読されます)
  • Microsoft Speech APIで発話を実現しているため、(ご存じのとおり)日本語の読みがデタラメなときがあり、気になります。それをカバーするため、読み辞書を登録/編集できるようにしています。
  • ただしイントネーションなどはまったく変えられません。

【インストール方法】

  1. ChotTTS.zip を解凍すると、以下の2つのファイルができます。
    ・ChotTTS.exe (ソフトウェア本体)
    ・ChotTTS_ReadMe.txt (簡単な説明書)
  2. ChotTTS.exe を任意のフォルダにコピーしてください。

【起動方法】

  1. ChotTTS.exe をダブルクリックして起動してください。
  2. 起動すると、タスクバーにアイコンが表示されます。(メモリに常駐します)

    PC起動時に自動的に起動したい場合は、1) Win + R キーを押して「ファイル名を指定して実行」画面を出し、「名前」に「shell:startup」と入力して「OK」を押すとスタートアップフォルダが開きます。 2) スタートアップフォルダに「ChotTTS.exe」本体もしくはショートカットをコピーしてください。

【使い方】

  1. タスクバーのChotTTSアイコンを右クリックするとメニューが現れます。
  2. クリップボードを読み上げる:クリップボードの監視を開始し、新たなテキスト文字列がコピーされると読み上げます。
  3. 読み上げを終了:読み上げを終了します。
  4. 読み辞書登録:文字列とその読みを辞書に登録できます。読みは「カタカナ」もしくは「ひらなが」で入力してください。(日本語の読み上げにのみ適用されます)
    なお、正規表現を利用できます。
    正規表現は、以下のURLを参照してください。(AutoHotKeyの正規表現)
    https://www.autohotkey.com/docs/v1/misc/RegEx-QuickRef.htm
  5. 読み辞書編集:メモ帳が起動し、登録した読み辞書を編集できます。
    辞書形式は、TAB区切りです。「用語<TAB>ヨミ」という形式です。

【その他】
開発言語は AutoHotKey です。ゆえに、時々ウイルス検出ソフトにウイルス認定されて使えないことがあります(そういう声が既に聞こえています)。使えなかったら、素直に諦めてくださいm(_ _)m
プログラムを知っている方なら簡単に作れる類いのソフトウェアです。VBAなどでも実現可能です。事実、私は本業のOutlookにVBAで組み込み、自分宛のメールを音読させています。(作業をしていても、すぐにメールに認識でき、かつ、耳でメールが確認できるので重宝しています。)

AutoHotKey で省入力/キーアサイメント変更などやってみよう

以下の別記事の内容を実行された方は、既にAutoHotKeyが使える状態にあると思います。

  1. AutoHotKeyをインストールする
  2. AutoHotKeyを使う準備をする
  3. AHKスクリプトを作ったら、おまじないを追加する

この記事では、比較的ハードルの低い「Hotstrings」の機能を使った文字入力の省力化を、まずはご紹介します。その後で、キーのアサイメントの変更方法をご紹介したいと思います。

“AutoHotKey で省入力/キーアサイメント変更などやってみよう”の続きを読む

AHKスクリプトを作ったら、おまじないを追加する

AutoHotKeyを使う準備をする」の記事にしたがってAutoHotKeyのスクリプトファイルを作成すると、ファイルの中身は以下のような記述になっていると思います。

“AHKスクリプトを作ったら、おまじないを追加する”の続きを読む

AutoHotKeyを使う準備をする

AutoHotKeyをインストールする」の記事にしたがって、AutoHotKeyのインストールが終わったら、AutoHotKeyを実際に使うための準備をします。

具体的には、AutoHotKeyのスクリプトファイルを作成し、編集できるようにする手順を以下に示します。

“AutoHotKeyを使う準備をする”の続きを読む

AutoHotKeyをインストールする

AutoHotKey にはさまざまな機能がありますが、翻訳者にとって嬉しいのは、キー入力をいろいろと便利にしてくれる機能でしょう。そのため、このツールを利用している翻訳者は多いようです。

過去記事を見渡してみましたが、AutoHotKeyのインストール方法を記事にしていないようなので、こちらにインストール方法をまとめておきます。

“AutoHotKeyをインストールする”の続きを読む

1/23日WildLight初級オンラインセミナー開催

Twitterで先行して公開いたしましたが、WildLight初級セミナーをオンラインにて開催いたします。

コロナ影響もあり、集合セミナーを開催できずにおりましたが、今後はZoomを使ったオンラインセミナーに切換えて開催していきます。

日時:2021年1月23日(土) 13:00開始 (最長で2時間)
申込み方法: 次のURLにあるPassMarket から申し込んでください。

https://passmarket.yahoo.co.jp/event/show/detail/014ezc11fcm0t.html

参加費:無料。ただし、今回はWildLightの精神に則り、カンパ式セミナーとします。
セミナー後、セミナー内容が有益だった、価値があったと評価していただけるようでしたら、カンパをお願いいたします。(強要するものではございません)

【ご注意】

  • ZOOM接続URLなどは、参加登録された方へ別途ご案内いたします。
  • ZOOMへの接続について、主催者側は一切のサポートを行いません。参加される方は事前に接続方法を確認し、実績のある機器で接続するようにお願いいたします。
  • WildLightのインストール方法をセミナー内でご説明する予定ですが、インストールのサポートはセミナー内で行いませんので、御了承ください。

内容
予定している内容は、次のとおりです。

  1. WildLight開発の背景
  2. WildLightの基本機能
  3. 提供辞書の使い方 (WildLight-Dic-Library)
  4. 簡単な辞書ファイルの作成
  5. 翻訳への応用方法

【ワイルドカード】英単語を検索する上でのお約束技

英単語を検索する場合のお約束技です。
次のように記述します。(英数字とハイフンからなる単語が検索される)

<[0-9a-zA-Z\-]@>

これを基本形にして、ing形を検索したいなど、単語の接尾辞を指定して検索する場合は、以下のように記述します。

<[0-9a-zA-Z\-]@ing>

はい、そうです。@の後に(>の前に)ingを付ければOKです。
sやed、er、ableなどを付けて検索するなど、さまざまな活用が想像できますね。

では、単語の接頭辞を付けて検索する場合は、どう記述するでしょうか?
例えば、unを頭に持つ単語を検索する場合は、以下のように記述します。

<un[0-9a-zA-Z\-]@>

はい、そうです。<の後にunを付ければOKです。

いずれも<の後、>の前に挿入すると覚えると覚えやすいです。

画面を2分割、4分割

前回のWildLight中級セミナーで、画面2分割使用をお見せしたら、「おぉ」という驚きの声があがっていたので、ここに「画面の2分割」と「画面4分割」表示の方法をご紹介しておきます。(Windows10です)

画面2分割の方法

画面半分に表示させたいアプリケーションをクリックし、Win キーを押しながら方向キー「←」「→」を押すと、アプリケーション画面が左へ右へ移動し、画面の半分に表示されます。右、左、自分の好きな位置で操作を止めればOKです。

もう半面に表示するアプリケーション選択画面になりますので、表示したいアプリケーション画面を選ぶか、ESCキーで終了します。

画面4分割の方法

上記の画面2分割の方法で、アプリケーションを画面半分に表示させた状態で、Win キーを押しながら方向キー「↑」「↓」を押すと、4分の1の大きさに表示されます。ただし、これはアプリケーションが対応している必要がありますので、できないアプリケーションは諦めましょう。

 

【ワイルドカード】{1,}と@の違い

以前からワイルドカードの記述で {1,} と @ に違いを認識しながら、明確にその差を理解していませんでした。ちょうどSNSで話題になったため、調べてみましたので、その結果を以下にまとめておきます。

{1,} でダメで @ ならうまく行くケース

例えば、英単語のing形を検索してヒットさせるワイルドカードを考えるとき、以下のような記述を思い付くと思います。

[A-Za-z]{1,}ing

しかし、これではまったくヒットしません。WildLight辞書ライブラリーにある「WLDIC_ECHK_簡易技術英文チェック.txt」で、これを検索するワイルドカードの記述がありますが、以下のように記述します。

[A-Za-z]@ing

そもそも、{,}と@の意味は、ワードの以下の説明から理解しています。

スクリーンショット 2019-05-04 10.50.12

差が良く分からないですよね。{1,} と @ が同じ動きをするという解釈自体が間違っているのかもしれません。

{1,} と @ による検索の動きがどう違うのかを実際にMicrosoft Wordで見てみました。
以下の英文をサンプルにして、{1,} と @ で検索の違いを見てみます。

スクリーンショット 2019-05-04 10.12.111

ヒット数の違いに着目してみます。

{1,} 

Inkedスクリーンショット 2019-05-04 10.13.34_LI

27件がヒットしています。

@

Inkedスクリーンショット 2019-05-04 10.14.04_LI

155件がヒットしています。

実は、27件というのは単語数と同じ、155件は文字数と同じです(カンマ、コンマを含まず)。

スクリーンショット 2019-05-04 10.11.35

どうも @ は1文字ずつヒットするようです。実際にどのような検索範囲になるのかを見てみると、以下のようになります。

{1,} 

スクリーンショット 2019-05-04 10.15.11

@

スクリーンショット 2019-05-04 10.14.36

やはり、前者は単語単位、後者は文字単位でヒットしていることが分かります。

さて、元に戻って、 {1,} ではダメで @ ならうまく行く理由を知りたいのですが、例として上記サンプル英文の「example」を利用して検索してみます。

[A-Za-z]{1,}ple

もちろん、これでは、まったくヒットしません。これを以下のように変えてみたらヒットしました。

[A-Za-z]{1,4}ple

これを「[A-Za-z]{1,3}ple」にすれば「xample」、「[A-Za-z]{1,2}ple」にすれば「ample」、「[A-Za-z]{1}ple」にすれば「mple」がヒットしますが、次の記述だとヒットしなくなります。

[A-Za-z]{1,5}ple

{1,5}の5を4より大きな数字にすると、まったくヒットしなくなります。これは{n, m}のmの数字に影響を受けていることになります。pleの前にm個分の文字が存在しないとヒットしないということのようで、{1,}では無限大の文字数ということになり、何もヒットしないのでしょう。

ところが ple を半角スペースにすると、「[A-Za-z]{1,} 」でも文字数に関係なくヒットするのです。もしかすると{1,}の後の文字数の問題かと「[A-Za-z]{1,}e」を試しましたが、まったくヒットしません。

ん~、良く分かりません。
誰か、この辺りを説明できる方、教えてくださいm(_ _)m

==== < 2019/05/04 17時追記> ====
早速、SNSで反応をいただきました。

{1,}は、先行するパターンがマッチする範囲で一番長い部分で一致し (最長一致)、@は、全体のパターンがマッチする一番短い部分で一致 します(最短一致)

ということで、検索挙動の違いは、この説明通りですね。

また、「[A-Za-z]{1,}ple」の場合、「example」まで最長で一致し、その後に「ple」を探すため、マッチしないという現象になるようです。

情報をくださった方、ありがとうございました。

段落下に訳文入力。原文を一括削除したい。

昨日のWildLight中級セミナーで、表題のような質問をいただきました。

原文の各段落の下に訳文を入力していくスタイルで翻訳をされていて、最後に原文を一気に消したいという要望です。

この解決策として提案したのは、翻訳を開始する前に、WildLightを使って以下の辞書を原稿に適用し、段落に区切りマーク(罫線のペア)を埋め込んでから、翻訳を行う方法です。

WLDIC_一発対訳_(1)原稿の文節末尾にマーカー追加.txt

この辞書を原稿に適用すると、以下のようになります。
そして罫線の間に訳文を入力していきます。

原文第1段落・・・・
└────
訳文を入れる
┌────
原文第2段落・・・・
└────
訳文を入れる
┌────

あとは、区切りマーク(罫線)を手掛かりに、原文を削除する辞書を作ればいいと説明しましたが、でも、そんなWildLight辞書を作るのはハードルが高過ぎますよね。

そこで早速作ってみました。以下のものがそうです。

WLDIC_一発対訳_(2)原文を削除する.txt

役立つようでしたら、ご利用ください。