日本語版 Win7 で英語音声認識機能を使う

2012年05月16日(水)20時07分

【追記:2013/09/23】「日本語版 Vista で英語音声認識機能を使う」を書きました。

語学学習

例えば外国語を習得しようという場合、たいていの言語で「読む」「書く」「聞く」「話す」の四要素が重要になります。
これらのうち、「読む」「書く」「聞く」の三つであれば、音声CD付きの参考書や問題集などの使用で独学も可能かと思われるわけですが、「話す」に関しては、やはり「正しい発音かどうか」を判定してくれる「誰か(あるいは「何か」)」が居ないと、難しい気がします。
そこで思いつくのが、Vista や Win7 に標準で付いている「音声認識」機能を利用した学習です。
つまり、音声認識ソフトで外国語の発音練習ができないだろうか?ということなのですが、残念ながら、日本語版の Windows には日本語用の音声認識エンジンしか付いていません。
ということで、何とかして日本語版 Win7 で英語(あるいは日本語以外)用の音声認識エンジンを使えるようにしてみよう、というのが今回の内容です。

Microsoft English Recognizer v5.1

まずは「Microsoft English Recognizer v5.1」で、これは Windows で音声認識アプリケーションを作るための開発キットである「Speech SDK 5.1」に含まれており、現在(2012年05月)でも Microsoft のサイトからダウンロード可能です。
ただしこれは、もともと音声認識機能が標準搭載されていなかった頃の古い Windows 用の認識エンジンで、Vista や Win7 には非対応であり、普通にインストールしただけでは動作しません。
ですが、前回「WinXP の英語音声(Sam、Mary、Mike)を Win7 で使う」に書いた作業をすることで、一応使えるようにはなります。
とはいえ、本来 32 ビット前提の認識エンジンであるため Win7x64 等では運用に難があり、また、そもそも非対応であるものを無理やり動かすことで何かしらのトラブルもあるかもしれず、あまりお勧めはできません。

エディションが Ultimate や Enterprise の場合

次に、もしインストールされている Windows のエディションが、最上位である Ultimate や企業向けの Enterprise である場合、これは非常に簡単な方法があります。
というのも、これらの上位エディションでは、Windows の表記を他言語に変更可能な「多言語ユーザインタフェース(MUI)」という仕組みが利用でき、これらのための各種言語パックを、Windows Update 経由でインストールすれば、その言語に対応した音声認識エンジンも(存在すれば)追加されるのです。
試しに、Windows Update の「追加のオプション」に表示された、全 34 種の言語パック全てをインストールしてみたところ、以下 7 種の認識エンジンが追加されました。

  • Windows 用 Microsoft 音声認識エンジン 8.0 (スペイン語 - スペイン)
  • Windows 用 Microsoft 音声認識エンジン 8.0 (ドイツ語 - ドイツ)
  • Windows 用 Microsoft 音声認識エンジン 8.0 (フランス語 - ヨーロッパ)
  • Windows 用 Microsoft 音声認識エンジン 8.0 (英語 - 英国)
  • Windows 用 Microsoft 音声認識エンジン 8.0 (英語 - 米国)
  • Windows 用 Microsoft 音声認識エンジン 8.0 (簡体字中国語 - 中国)
  • Windows 用 Microsoft 音声認識エンジン 8.0 (繁体字中国語 - 台湾)

ちなみに、「英語パック」に関しては、一つで「英語 - 英国」と「英語 - 米国」の2種類のエンジンが追加されます。
なお、表記言語はコントロールパネルの「地域と言語」で切り換えない限り変化はありませんので、「言語パックをインストールしたら Windows が外国語表示になってしまった!」というようなことにはなりません。
また、余談ですが、この「言語パック」のインストールは、一つ一つが結構時間のかかる処理で、今回の記事のために 34 種を一気にインストールしたところ、終了までに半日(12 時間)以上を要しました。
そして結果論として、「言語パック」の平均的な容量が 50MB ~ 60MB であるのに対し、音声認識エンジンが含まれていると思わしき言語のものは、すべて 100MB を超えていますので、この容量差を確認することで、その言語に対応した認識エンジンが存在するかどうかを判別できるようです。
それから、「言語パック」には基本的に音声合成エンジンは含まれないようなのですが、なぜか「Microsoft Lili - Chinese (China)」だけが追加されていました(簡体字と繁体字のどちらに入っていたのかはわかりませんが)。

エディションが Home Premium や Professional の場合

では、使用している Windows のエディションが、普及版である Home Premium や Professional の場合は為す術がないのか、という話ですが、これらは上位エディションのように、Windows Update から簡単に利用可能にはできませんが、言語パックを手動でインストールすることで、音声認識エンジンを追加することは可能なようです。
ただし、難易度は高めです。
また、公式に認められた使い方ではないため、何かしらの問題が起きる可能性はあり、その場合は当然ながら、Microsoft 社に責任を求めることはできませんし、当サイトでも責任は負いかねますので、必要であれば、自己の責任において実行していただくようお願いします。

【手順1】言語パックの入手

まず最初の難関が、この言語パックの入手で、これはもともと Windows Update で自動ダウンロードされることが前提であるため、Microsoft のサイトのどこかにダウンロード用のページがある、というものではありません。
とりあえず、検索サイトで「KB2483139」などを検索すると、各言語用のダウンロード URL を独自に調べて掲載しているサイトがいくつか見つかりますので、そういう情報をもとに目的の言語パックをダウンロードします。
この際、ウイルス被害などを避けるために、URL の信頼性(リンク先が Microsoft のサイトになっているかどうか等)には十分に注意を払ってください。
また、OS が「Vista か Win7 か」「x86 版か x64 版か」「サービスパックを適用しているか」で使用する言語パックが違うため、自身の環境に応じたものを探し出す必要もあります。

【手順2】言語パックの展開

次の難関がこれで、ダウンロードされた言語パックは実行ファイル形式(EXE ファイル)であり、このままでは次の【手順3】で使えないため、CAB ファイルに変換する必要があります。
そのためにまず、一度 EXE ファイル(言語パック)を実行します。
この実行自体は失敗(何のメッセージもなく終了してます)に終わるのですが、実行してから失敗するまでのあいだ、EXE ファイルと同じフォルダ内に、「lp.cab」という CAB ファイルが一時的に生成されているのです。
この一時生成される「lp.cab」を、どうにかして確保することになります。
具体的には、実行失敗によって消えてしまう前に、ほかの場所にコピーするか、あるいは名前を変更(aでもbでも何でもかまいません)します(「ファイルが使用中です」のようなメッセージが表示されても再実行で粘ると成功します)。
「消えるのが早すぎて間に合わない!」という場合には、(ハードディスクより読み書きの遅い)USB メモリや SD メモリカードなどに EXE ファイルをコピーし、そこで実行すると、少し余裕が出ると思います。
なお、「一度きりしかチャンスがない」というわけではなく、失敗しても再度実行すればまた「lp.cab」が出てきますので、何度でもチャレンジできます。

【手順3】言語パックの適用

CAB ファイルの確保まですめば、あとは簡単です。
例えば「lp.cab」を「C:\LangPack」フォルダに置いた場合、管理者権限でコマンドプロンプトを開き、以下のコマンドを実行します。

dism.exe /online /Add-Package /PackagePath:"C:\LangPack\lp.cab"

前述のとおり、結構時間がかかりますので、気長にお待ちください。

表示言語変更ツール「Vistalizator

この表示言語変更処理を行うためのツールとして「Vistalizator」というアプリケーションがあるようです。
今回は使用しなかったため詳しくはわかりませんが、上記【手順2】【手順3】の処理を代行してくれるもののように思われます。
ツールのサイト(の日本語版)は「http://www.froggie.sk/jp/index.html」で、ここには Windows の多言語化に関するさまざまな情報や、上記【手順1】で必要になる各種言語パックのダウンロード URL 一覧などもあります。

確認

音声認識エンジンを追加した後は、「コントロール パネル → コンピューターの簡単操作 → 音声認識」の右上、「高度な音声オプション」の「言語」欄で、標準で使用するエンジンの切り替えができるようになります。
そこで切り換えて「発音を試してみよう」というわけですが、意外に「ただちょっと確認する」だけの音声認識アプリケーションというのが見つからないため、以前「Windows の音声認識を JavaScript で(基礎編)」で書いたスクリプトを再掲しておきます。

DictJS00.js ← 矢印左側の文字の上で右クリックし、「対象をファイルに保存(A)…」して保存します。

詳しくは以前の記事を見ていただきたいのですが、ダウンロードした上記「DictJS00.js」を実行しますと、「プロファイルの選択」と「音源(マイク)の選択」が表示され(たいていの場合 Enter キー二連打で OK です)、その後は延々と認識された文字の表示が繰り返されます(終わらせるときはコンソール画面右上のバツ印で閉じてください)。
ぜひとも「自分の発音が全く通じない!」という恐怖を味わってみてください。
なお、本当に「全くまともに認識されない」という場合には、一度試しに「日本語認識エンジン」に戻して、日本語で話してみてください。
「日本語ですら認識不能」レベルですと、マイクやサウンドカードの品質や設定などに問題がある可能性もあります。

【追記:2013/04/21】音声認識の確認にも便利な「音声合成して音声認識するスクリプト」を書きました。

関連記事

【同じタグを付けた記事の一覧】
ソフト紹介 eラーニング Windows 音声技術 語学学習 音声認識

スポンサーサイト

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: はじめまして。質問なのですが

はじめして、電脳太助です。

メッセージを拝見する限り、手順は正しいように思えますので、
考えられる中で可能性が高いと思われるのは、使用した言語パックがOSに合っていないということです。
現状、Win7には「サービスパックの有無」「32ビットか64ビットか」の組み合わせで
「Win7x86」「Win7x64」「Win7sp1x86」「Win7sp1x64」の4パターンが存在します。
そして言語パックについても、一つの言語につき4種類が存在し、OSに合わせて選択する必要があります。

スタートボタンを押し、スタートメニュー右側の「コンピューター」の文字上で右クリックし、
「プロパティ」を選択してみてください。

・「Windows Edition」の項目に「Service Pack 1」の記載がなければノーマル版です。
・「システム」の項目に「システムの種類:32 ビット オペレーティング システム」とあればx86版です。

「そのくらいわかっている」つもりでも、勘違いしていた、ということもあるかと思いますし、
あるいは、うっかりミスで別の版をダウンロードしていた、という可能性もありますので、
今一度、OSの確認からダウンロードまでをやり直してみてはいかがでしょうか。

ただ、それでもダメだった場合、Windows Updateのタイミング等の関係で、
Windowsのシステム自体に何かしらの矛盾・問題が発生しているのかもしれません。
こうなると、もはや我々一般消費者レベルでは、おそらくどうしようもありませんので、
残念ながら諦めるか、あるいはOSを一から入れなおすクリーンインストールぐらいしかないと思われます。

それでは、ご成功をお祈りいたします。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

質問です

windows7の音声認識を英語で使用する方法を探してこのサイトを見つけました

このページの方法を試して英語の音声認識エンジンを追加することはできたのですが
コントロールパネルから音声認識を開始しようとすると
「言語設定がサポートされていないため、音声認識を起動できませんでした。」と表示され
windows7標準の音声認識が使用できません

日本語に戻せば使えますし、このページにある「DictJS00.js」を使うと英語で認識します

windows7標準の音声認識を使うためにはOSの言語自体を音声認識の言語に合わせる必要があるのでしょうか

Re: 質問です

ようこそ、はじめまして。

コントロールパネルの「音声認識の開始」で起動するのは
Windowsが操作できるようになる「コマンド&コントロール」な音声認識パネルですね。
どうやらこれは、おっしゃる通りOSの表示言語と一致したものしか起動しないようです。
試してみたところレジストリエディタで
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language」の
「InstallLanguage」を例えば英語(米語)の場合「0409」に変更した後再起動すれば
英語(米語)版の音声認識パネルを起動することが可能ではありましたが、
当然ながら表示もすべて英語になってしまいます。

他にもいくつか関係ありそうなレジストリを書き換えたりして実験してみたのですが、
残念ながら今のところ日本語表記のままで英語認識パネルを使う方法は見つかりませんでした。
もしかしたら、メニューやボタンを選択するために必要な発音を、
それぞれその都度、表示されているボタンなどから直接読み込む仕組みになっている等により、
使用言語と表示言語が一致していないとそれらの選択操作ができない、
というような構造的な問題によって、そもそも不可能なことなのかもしれません。

それでは。

No title

RE: RE: 質問です

回答ありがとうございます
とても良く分かりました
確かに標準の音声認識はwindowsの操作も行えるので
OSが日本語のままでは無理そうですね
とりあえずこのサイトのスクリプト等から少しずつ試していこうと思います
最新記事
最新コメント
Amazonサーチウィジェット
カテゴリ
タグクラウド
Amazonサーチウィジェット
カレンダー
11 | 2023/12 | 01
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
月別アーカイブ
プロフィール

電脳太助

Author:電脳太助
Website:電脳スピーチ web

RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

サイト内検索
Ads by Google
FC2アクセスランキング
Ads by Google
FC2拍手ランキング
ユーザータグ

音楽管理(66)
ポータブル(57)
ソフト紹介(44)
プログラミング(42)
音声技術(41)
自作ソフト(35)
サイト運営(33)
FC2(32)
ブログ(31)
iTunes(27)
Windows(25)
LISMO(24)
音声合成(23)
電子ブック(22)
x-アプリ(22)
音声認識(22)
eラーニング(20)
バックアップ(19)
語学学習(19)
foobar2000(18)
ソースコード(18)
WindowsLiveWriter(15)
画像管理(15)
C++(14)
アフィリエイト(10)
DnspTools(10)
FLAC(9)
JavaScript(9)
fi-6130(9)
ウォークマン(9)
Gracenote(8)
ベクター(8)
雑記(8)
英語音読学習計画(8)
Prolog(8)
spcbght(7)
SyntaxHighlighter(7)
TraConv(7)
wxWidgets(7)
CodeBlocks(7)
iGoinLM(6)
W63CA(6)
ExactAudioCopy(6)
WindowsLiveMesh(6)
MP3Gain(6)
VirtualBox(6)
DCP-J552N(6)
WinRT(6)
英語発音矯正実験(6)
LAME(5)
音楽技術(5)
楽器演奏(5)
Mery(5)
MIDI(4)
WindowsLiveSkyDrive(4)
nLite(4)
ホームページ(4)
GalateaProject(4)
GalateaTalk(4)
拍手(4)
LLVM(4)
PC-98(3)
カウンター(3)
PK-513L(3)
iTCDini(3)
AACGain(3)
UniversalExtractor(3)
アクセスランキング(3)
OverCutChecker(3)
OCR(2)
qtaacenc(2)
アクセス解析(2)
ImageCompositeEditor(2)
AquesCmdDl(1)
資格試験(1)
AquesTalk(1)

FC2アクセスランキング
最新トラックバック
アクセスランキング
[ジャンルランキング]
コンピュータ
256位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
30位
アクセスランキングを見る>>
FC2カウンター