オフライン音声認識用のパッケージをダウンロードします。 .NETデスクトップアプリケーションを使用した音声認識

)家電製品制御の実際のHelloWorldの例について。
なぜ家電なのか? なぜなら、そのような例のおかげで、 速度と精度これは、 完全にローカルのようなサーバーなしの音声認識 Google ASRまた Yandex SpeechKit.
また、Android用のプログラムとアセンブリ自体のすべてのソースコードを記事に添付します。

なぜ突然なのか?

最近、著者が自分のプログラムにサーバー側の音声認識を使用したいと思った理由に出会いました(私の意見では、これは冗長であり、いくつかの問題を引き起こしました)。 それについてはどうでしょうか。何も認識する必要がなく、辞書が有限の単語セットで構成されているプロジェクトでの代替方法の使用について詳しく説明できますか。 また、実用例を挙げて...

YandexとGoogle以外に何かが必要なのはなぜですか?

その非常に「実用的なアプリケーション」として、私はトピックを選びました 音声制御スマートホーム.
なぜそのような例ですか? クラウドベースの音声認識に比べて、完全にローカルな音声認識のいくつかの利点を示しているからです。 すなわち:
  • スピード-サーバーに依存しないため、サーバーの可用性や帯域幅などに依存しません。 要因
  • 正確さ-私たちのエンジンは、私たちのアプリケーションが関心を持っている辞書でのみ動作するため、認識の質が向上します
  • 価格-サーバーへのリクエストごとに料金を支払う必要はありません
  • 音声起動-最初のポイントへの追加のボーナスとして-トラフィックを無駄にすることなく、サーバーをロードすることなく、常に「ブロードキャストを聞く」ことができます

ノート

これらのメリットがメリットと考えられることを早急にご予約させていただきます。 特定のクラスのプロジェクトのみ、 ここはどこ 私たちは正確に事前に知っています、ユーザーが操作する辞書と文法。 つまり、任意のテキスト(SMSメッセージや検索クエリなど)を認識する必要がない場合です。 それ以外の場合は、クラウド認識が不可欠です。

そのため、Androidはインターネットがなくても音声を認識できます。
はい、はい... JellyBeanでのみ。 そして、わずか0.5メートルから、それ以上はありません。 そして、この認識は同じディクテーションですが、はるかに小さなモデルを使用しているだけです。 そのため、管理やカスタマイズもできません。 そして、彼女が次回私たちに何を返すかは不明です。 SMSの場合でも-大丈夫です!

私たちは何をしますか?

数メートルから、さらには非常に安価なAndroidスマートフォン、タブレット、時計の安価なブレーキジャンクでも、正確かつ迅速に動作する家電製品用の音声コントロールパネルを実装します。
ロジックは単純ですが、非常に実用的です。 マイクをアクティブにして、1つ以上のデバイス名を言います。 アプリケーションはそれらを認識し、現在の状態に応じてオン/オフを切り替えます。 または、彼は彼らから状態を受け取り、それを心地よい女性の声で発音します。 たとえば、現在の室温。

実用的なアプリケーションがたくさんあります

朝、目を開けずにベッドサイドテーブルのスマホ画面で手のひらを叩き、「おはよう!」と命令。 -スクリプトが開始され、コーヒーメーカーがオンになり、ブーンという音が鳴り、心地よい音楽が聞こえ、カーテンが引き離されます。
壁の各部屋に安い(2000、それ以上)スマートフォンを掛けます。 私たちは仕事を終えて家に帰り、「スマートホーム! 光、テレビ!」 -次に何が起こるかを言う必要はないと思います。

転写



文法は何を説明します ユーザーが言うことができること..。 Pocketsphinxが知るために どうやって彼はそれを発音します。文法の各単語は、対応する言語モデルでどのように聞こえるかを書く必要があります。 あれは 転写すべての単語。 いわゆる 辞書.

トランスクリプションは、特別な構文を使用して記述されます。 例えば:
スマートuum n ayjハウスdom

原則として、複雑なことは何もありません。 転写の二重母音はストレスを示します。 二重子音は、母音が後に続く柔らかい子音です。 ロシア語のすべての音のすべての可能な組み合わせ。

ユーザーがデバイスに付ける名前が事前にわからないため、アプリケーションのすべての文字起こしを事前に説明できないことは明らかです。 したがって、ロシア語の音声学のいくつかの規則に従って、そのような文字起こしを「オンザフライ」で生成します。 これを行うには、入力として文字列を受け取り、その正しい文字起こしを生成できるようなPhonMapperクラスを実装できます。

音声起動

これは、音声認識エンジンが、あらかじめ決められた1つまたは複数のフレーズに反応するために、常に「ブロードキャストを聞く」機能です。 この場合、他のすべての音と音声は破棄されます。 これは、文法を説明してマイクをオンにすることと同じではありません。 ここでは、この問題の理論とその仕組みについては説明しません。 最近、Pocketsphinxに取り組んでいるプログラマーがそのような関数を実装し、APIで「箱から出して」利用できるようになりました。

確かに言及する価値のあることが1つあります。 アクティベーションフレーズについては、文字起こしを示すだけでなく、適切なものを選択する必要があります 感度しきい値..。 値が小さすぎると、多くの誤検知が発生します(これは、アクティベーションフレーズを言わなかった場合ですが、システムはそれを認識します)。 そして高すぎる-免疫には。 したがって、この設定は特に重要です。 おおよその値の範囲は1e-1から1e-40です アクティベーションフレーズに応じて.

近接センサーのアクティブ化

このタスクは私たちのプロジェクトに固有のものであり、直接認識とは関係ありません。 コードはメインアクティビティで見ることができます。
彼女は実装します SensorEventListenerそして、接近した瞬間(センサー値が最大値よりも小さい)にタイマーをオンにし、一定の遅延後にセンサーがまだ閉じているかどうかを確認します。 これは、誤検知を回避するために行われます。
センサーが再びブロックされない場合、認識を停止し、結果を受け取ります(以下の説明を参照)。

認識を開始します

Pocketsphinxは、認識プロセスを構成および開始するための便利なAPIを提供します。 これらはクラスです SppechRecognizerSpeechRecognizerSetup.
認識の構成と起動は次のようになります。

PhonMapper phonMapper = new PhonMapper(getAssets()。Open( "dict / ru / hotwords")); 文法grammar = new Grammar(names、phonMapper); grammar.addWords(hotword); DataFiles dataFiles = new DataFiles(getPackageName()、 "ru"); ファイルhmmDir =新しいファイル(dataFiles.getHmm()); ファイルdict =新しいファイル(dataFiles.getDict()); ファイルjsgf =新しいファイル(dataFiles.getJsgf()); copyAssets(hmmDir); saveFile(jsgf、grammar.getJsgf()); saveFile(dict、grammar.getDict()); mRecognizer = SpeechRecognizerSetup.defaultSetup()。setAcousticModel(hmmDir).setDictionary(dict).setBoolean( "-remove_noise"、false).setKeywordThreshold(1e-7f).getRecognizer(); mRecognizer.addKeyphraseSearch(KWS_SEARCH、ホットワード); mRecognizer.addGrammarSearch(COMMAND_SEARCH、jsgf);

ここでは、最初に必要なすべてのファイルをディスクにコピーします(Pocketpshinxには、音響モデル、文法、およびディスク上の文字起こしを含む辞書が必要です)。 次に、認識エンジン自体が構成されます。 モデルファイルと辞書ファイルへのパス、およびいくつかのパラメーター(アクティブ化フレーズの感度しきい値)が示されています。 次に、文法ファイルへのパスとアクティベーションフレーズが設定されます。

このコードからわかるように、文法とアクティベーションフレーズの両方の認識のために1つのエンジンがすぐに構成されます。 なぜこれが行われるのですか? そのため、現時点で認識する必要のあるものをすばやく切り替えることができます。 アクティベーションフレーズ認識プロセスの開始は次のようになります。

MRecognizer.startListening(KWS_SEARCH);
そして、これは音声認識が与えられた文法に基づいている方法です:

MRecognizer.startListening(COMMAND_SEARCH、3000);
2番目の引数(オプション)は、誰も何も言わなかった場合に認識が自動的に終了するまでのミリ秒数です。
ご覧のとおり、両方のタスクに使用できるエンジンは1つだけです。

認識結果の取得方法

認識結果を取得するには、インターフェイスを実装するイベントリスナーも指定する必要があります RecognitionListener.
イベントの1つが発生したときにpocketsphinxによって呼び出されるいくつかのメソッドがあります。
  • onBeginningOfSpeech-エンジンが音を聞いた、多分それはスピーチ(または多分そうではない)
  • onEndOfSpeech-音が終わりました
  • onPartialResult-中間認識結果があります。 アクティベーションフレーズの場合、これは機能したことを意味します。 口論 仮説
  • onResult-認識の最終結果。 このメソッドは、メソッドを呼び出した後に呼び出されます ストップSpeechRecognizer..。 口論 仮説認識データ(文字列とスコア)が含まれています

onPartialResultメソッドとonResultメソッドを何らかの方法で実装することにより、認識ロジックを変更して最終結果を得ることができます。 これは、私たちのアプリケーションの場合に行われる方法です。

@Override public void onEndOfSpeech()(Log.d(TAG、 "onEndOfSpeech"); if(mRecognizer.getSearchName()。Equals(COMMAND_SEARCH))(mRecognizer.stop();))@ Override public void onPartialResot(Hypothesis)( if(hypothesis == null)return; String text = hypothesis.getHypstr(); if(KWS_SEARCH.equals(mRecognizer.getSearchName()))(startRecognition();)else(Log.d(TAG、text);)) @Override public void onResult(Hypothesis hypothesis)(mMicView.setBackgroundResource(R.drawable.background_big_mic); mHandler.removeCallbacks(mStopRecognitionCallback); String text = hypothesis(!= Null?hypothesis.getHypstr():null?hypothesis.getHypstr() :null、 "onResult" + text); if(COMMAND_SEARCH.equals(mRecognizer.getSearchName()))(if(text!= null)(Toast.makeText(this、text、Toast.LENGTH_SHORT).show(); process (テキスト);)mRecognizer.startListening(KWS_SEARCH);))

onEndOfSpeechイベントを受信し、同時に実行するコマンドを認識した場合は、認識を停止する必要があります。その後、onResultがすぐに呼び出されます。
onResultで、何が認識されたかを確認する必要があります。 これがコマンドの場合は、それを実行し、エンジンを切り替えてアクティベーションフレーズを認識する必要があります。
onPartialResultでは、アクティベーションフレーズの認識にのみ関心があります。 見つかった場合は、すぐにコマンド認識プロセスを開始します。 これはそれがどのように見えるかです:

プライベート同期voidstartRecognition()(if(mRecognizer == null || COMMAND_SEARCH.equals(mRecognizer.getSearchName()))return; mRecognizer.cancel(); new ToneGenerator(AudioManager.STREAM_MUSIC、ToneGenerator.MAX_VartOLTone TONE_CDMA_PIP、200); (400、new Runnable()(@ Override public void run()(mMicView.setBackgroundResource(R.drawable.background_big_mic_green); mRecognizer.startListening(COMMAND_SEARCH、3000); Log.d(TAG、 "Listencommands"); post( 4000、mStopRecognitionCallback);)));)
ここでは、最初に小さな信号を再生して、ユーザーの声を聞いてコマンドの準備ができたことをユーザーに通知します。 この間、マイクをオフにする必要があります。 したがって、短いタイムアウト(エコーが聞こえないように、信号の持続時間よりわずかに長い)の後に認識を開始します。 ユーザーが長時間話すと認識を強制的に停止するスレッドも起動されます。 この場合、3秒です。

認識された文字列をコマンドに変換する方法

まあ、すべてはすでに特定のアプリケーションに固有です。 ヌードの例の場合、行からデバイス名を取り出し、目的のデバイスを検索して、HTTPリクエストを使用してスマートホームコントローラーに状態を変更するか、現在の状態を報告します(サーモスタット付きの場合)。 このロジックは、Controllerクラスで確認できます。

音声合成の方法

音声合成は認識の反対です。 ここでは、逆に、ユーザーがそれを聞くことができるように、テキストの行を音声に変換する必要があります。
サーモスタットの場合、Androidデバイスに現在の温度を表示させる必要があります。 APIの使用 TextToSpeechこれを行うのは非常に簡単です(ロシア語の素晴らしい女性TTSをGoogleに感謝します):

プライベートボイドスピーク(文字列テキスト)(同期(mSpeechQueue)(mRecognizer.stop(); mSpeechQueue.add(テキスト); HashMap params =新しいHashMap (2); params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID、UUID.randomUUID()。toString()); params.put(TextToSpeech.Engine.KEY_PARAM_STREAM、String.valueOf(AudioManager.STREAM_MUSIC)); params.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS、 "true"); mTextToSpeech.speak(text、TextToSpeech.QUEUE_ADD、params); ))

私はおそらく陳腐さを言うでしょうが、 合成プロセスの前に、認識を無効にすることが不可欠です..。 一部のデバイス(たとえば、すべてのサムスン)では、マイクを同時に聞いて何かを合成することは一般に不可能です。
音声合成の終了(つまり、シンセサイザーでテキストを話すプロセスの終了)は、リスナーで追跡できます。

Private final TextToSpeech.OnUtteranceCompletedListener mUtteranceCompletedListener = new TextToSpeech.OnUtteranceCompletedListener()(@ Override public void onUtteranceCompleted(String utteranceId)(synchronized(mSpeechQueue)(mSpeechQueue。;))));

その中で、合成キューに何か他のものがあるかどうかをチェックし、他に何もない場合はアクティベーションフレーズの認識をオンにします。

そしてそれはすべてですか?

はい! ご覧のとおり、Pocketsphinxなどのすばらしいプロジェクトが存在するため、デバイス上で音声を直接すばやく効率的に認識することは難しくありません。 音声認識に関連する問題を解決するために使用できる非常に便利なAPIを提供します。

この例では、完全に一貫性のある問題に認識を付けました- スマートホームデバイスの音声制御..。 現地での認知により、非常に高速な作業と最小限のエラーを実現しました。
同じコードが音声に関連する他のタスクにも使用できることは明らかです。 スマートホームである必要はありません。

  • 音声制御
  • 音声エンジン
  • タグを追加する

    この電話は持っています 音声認識または音声入力ですが、インターネット経由でのみ機能し、Googleサービスに接続します。 しかし、電話はインターネットなしで音声を認識するように教えることができます、私たちはロシア語の認識を可能にする方法を見ていきます オフライン..。 この方法を機能させるには、2つのアプリケーションをインストールする必要があります。 音声検索Google検索、これらのプログラムはすでに工場出荷時のファームウェアに存在しますが。

    ファームウェアの場合

    電話の設定に移動し、を選択します

    ロシア語を選択してダウンロードします。

    ファームウェア2.8Bの場合

    新しいファームウェアでは、メニュー項目「 オフライン音声認識" 不在。

    ファームウェアの更新前にオフラインパッケージがインストールされていて、更新中にワイプ(設定のリセット)を行わなかった場合は、それらが保存されているはずです。 それ以外の場合は、ファームウェアにロールバックする必要があります 2.2 、ボイスパックをインストールしてから、システムを次のように更新します。 2.8B.

    Rev.Bデバイスの場合

    リカバリーを通じてアップデートをインストールし、オイリンで音声認識を楽しんでいます。

    2.ロシア語のスピーチのベースをダウンロードし、SDカードにコピーします

    Russian_offline.zip1301をダウンロード

    3.電話の電源を切った状態で(音量+とオン)を押し続けて、リカバリを開始します。

    4.を選択します 外部ストレージからアップデートを適用するダウンロードしたアーカイブを選択します。

    録音された音声を書き写す手作業に完全に取って代わるソフトウェアはありません。 ただし、音声のテキストへの翻訳を大幅に高速化および促進できる、つまり文字起こしを簡素化できるソリューションがあります。

    音声文字変換とは、音声またはビデオファイルをテキスト形式で録音することです。 インターネット上には、テキストの書き起こしのために一定の金額がパフォーマーに支払われるときに、有料の有料タスクがあります。

    音声からテキストへの翻訳は便利です

    • 録音されたオーディオまたはビデオの講義をテキストに翻訳する学生、
    • ウェブサイトやブログをリードするブロガー、
    • 作家、本やテキストを書くためのジャーナリスト、
    • ウェビナーやスピーチなどの後にテキストが必要な情報ビジネスマン、
    • 入力が難しいと感じる人は、手紙を口述して家族や友人に送ることができます。
    • 別のオプション。

    PC、モバイルアプリケーション、およびオンラインサービスで利用できる最も効果的なツールについて説明しましょう。

    1ウェブサイトspeechpad.ru

    これは、GoogleChromeブラウザを介して音声をテキストに翻訳できるオンラインサービスです。 このサービスは、マイクと既製のファイルで機能します。 もちろん、外部マイクを使用して自分で指示すると、品質ははるかに高くなります。 ただし、このサービスはYouTubeビデオでもかなりうまく機能します。

    [録音を有効にする]をクリックし、[マイクの使用]に関する質問に答えます。この場合は[許可]をクリックします。

    図のボタン1をクリックすると、サービスの使用に関する長い説明を折りたたむことができます。 3.簡単な登録を行うことで広告を取り除くことができます。

    米。 3.スピーチパッドサービス

    完成した結果は簡単に編集できます。 これを行うには、選択した単語を手動で修正するか、もう一度口述する必要があります。 作業の結果は個人アカウントに保存され、コンピューターにダウンロードすることもできます。

    スピーチパッドの操作に関するビデオチュートリアルのリスト:

    Youtubeまたはコンピューターからビデオを転記できますが、ミキサーが必要です。詳細は次のとおりです。

    音声文字起こしビデオ

    このサービスは7つの言語で機能します。 小さなマイナスがあります。 完成したオーディオファイルを書き写す必要がある場合、そのサウンドがスピーカーに配信され、エコーの形で追加のノイズが発生するという事実にあります。

    2サービスdictation.io

    音声をテキストに無料で簡単に翻訳できる素晴らしいオンラインサービス。

    米。 4.サービスdictation.io

    図1 4-ロシア語はページの最後で選択できます。 Google Chromeブラウザでは言語が選択されていますが、Mozillaでは何らかの理由でそのような可能性はありません。

    完成した結果を自動保存する機能が実装されていることは注目に値します。 これにより、タブまたはブラウザを閉じて誤って削除するのを防ぐことができます。 このサービスは、完成したファイルを認識しません。 マイクで動作します。 口述するときは句読点に言及する必要があります。

    テキストは非常に正しく認識され、スペルミスはありません。 キーボードから句読点を自分で挿入できます。 完成した結果はコンピュータに保存できます。

    3 RealSpeaker

    このプログラムを使用すると、人間の音声をテキストに簡単に翻訳できます。 Windows、Android、Linux、Macなどのさまざまなシステムで動作するように設計されています。 その助けを借りて、音声をマイクに変換したり(たとえば、ラップトップに組み込むことができます)、オーディオファイルに録音したりできます。

    世界の13の言語を知覚できます。 オンラインサービスとして機能するプログラムのベータ版があります。

    上記のリンクにアクセスし、ロシア語を選択し、オーディオまたはビデオファイルをオンラインサービスにアップロードして、その文字起こしの料金を支払う必要があります。 書き起こし後、結果のテキストをコピーできます。 転記用のファイルが大きいほど、ファイルの処理にかかる時間が長くなります。詳細は次のとおりです。

    2017年には、RealSpeakerを使用した無料の文字起こしオプションがありましたが、2018年にはそのようなオプションはありません。 転記されたファイルがすべてのユーザーにダウンロード可能であるのは非常に恥ずかしいことです。おそらくそれは改善されるでしょう。

    プログラムの開発者の連絡先(VKontakte、Facebook、Youtube、Twitter、電子メール、電話)は、彼のサイトのページ(より正確には、サイトの地下)にあります。

    4スピーチロガー

    Androidで実行されているモバイルデバイス用の以前のアプリの代替。 アプリストアで無料で入手可能:

    テキストは自動的に編集され、句読点が配置されます。 メモを口述したり、リストを作成したりするのに非常に便利です。 結果として、テキストは非常にまともな品質になります。

    5ドラゴンディクテーション

    これは、Appleからモバイルデバイス用に無料で配布されるアプリケーションです。

    プログラムは15の言語で動作します。 結果を編集したり、リストから目的の単語を選択したりできます。 不必要な一時停止やイントネーションを避けるために、すべての音をはっきりと発音する必要があります。 単語の終わりに間違いがあることがあります。

    Dragon Dictationアプリケーションは、たとえば、アパート内を移動しながら店舗のショッピングリストを口述するために所有者によって使用されます。 私がそこに着くと、メモのテキストを見ることができ、聞く必要はありません。

    練習で使用するプログラムが何であれ、結果を再確認し、特定の調整を行う準備をしてください。 これは、エラーなしで完璧なテキストを取得する唯一の方法です。

    また便利なサービス:

    最新のコンピュータリテラシー記事を受信トレイに直接入手する.
    すでにもっと 3.000人の加入者

    .

    更新日:2017年7月31日月曜日

    コンピューターと話すという半幻想的なアイデアは、プロの写真と何の関係がありますか? あなたが人の技術的環境全体の無限の開発のアイデアのファンでなければ、ほとんどありません。 カメラに音声コマンドを与えて焦点距離を変更し、露出補正を0.5ストッププラスで行うことを想像してみてください。 カメラのリモコンはすでに実装されていますが、ボタンを静かに押す必要があります。ここでは聴覚フォーマーです。

    コンピュータとの人の音声コミュニケーションの例としてSF映画を引用することは伝統になりました、まあ、少なくともスタンリー・キューブリック監督の「A SpaceOdyssey2001」。 そこでは、搭載されたコンピューターが宇宙飛行士と有意義な対話を行うだけでなく、聴覚障害者のように唇を読むことができます。 言い換えれば、機械はエラーなしで人間の音声を認識することを学びました。 おそらく、カメラのリモート音声制御は不要に見えるかもしれませんが、多くの人がこのフレーズを望んでいます 「離陸、ベイビー」ヤシの木を背景にした家族全員の写真ができあがりました。

    さて、ここで私は伝統に敬意を表して、少し空想しました。 しかし、心から言えば、この記事は書くのが難しく、すべてAndroid 4OSを搭載したスマートフォンの形での贈り物から始まりました。 このHUAWEIU8815モデルには、小さな4インチのタッチスクリーンとオンスクリーンキーボードがあります。 入力するのは少し珍しいですが、特に必要ないことがわかりました。 (image01)

    1. AndroidOSで実行されているスマートフォンでの音声認識

    新しいおもちゃをマスターしているときに、検索バーにマイクのグラフィック画像があることに気づきました。 グーグルとNotesのキーボード。 以前は、この記号が何を表すのか興味がありませんでした。 私はで会話をしました Skype、およびキーボードで入力した文字。 これはほとんどのインターネットユーザーが行うことです。 しかし、彼らが後で私に説明したように、検索エンジンで グーグルロシア語の音声検索が追加され、ブラウザを使用するときにショートメッセージを口述できるプログラムが登場しました "クロム".

    私は3つの単語のフレーズを発音し、プログラムはそれらを識別し、青い背景のセルに表示しました。 すべての単語が正しくつづられていたので、驚くべきことがありました。 このセルをクリックすると、Androidノートブックのテキストフィールドにフレーズが表示されます。 そこで彼はさらにいくつかのフレーズを言い、SMS経由でアシスタントにメッセージを送信しました。


    2.音声認識プログラムの簡単な歴史。

    音声制御の分野における現代の進歩により、家電製品、自動車、ロボットにコマンドを与えることができるということは、私にとっては発見ではありませんでした。 コマンドモードは、Windows、OS / 2、およびMacOSの過去のバージョンで導入されました。 トークプログラムを見たことがありますが、用途は何ですか? おそらくこれは、キーボードで入力するよりも話すほうが簡単で、携帯電話では何も入力できないという私の特徴です。 通常のキーボードを使用してラップトップの連絡先を書き留め、USBケーブルで転送する必要があります。 しかし、マイクに向かって話すだけで、コンピューター自体がエラーなしでテキストを入力しました。それは私にとって夢でした。 絶望の雰囲気は、フォーラムの議論によって煽られました。 彼らのいたるところにそのような悲しい考えがありました:

    「しかし、実際には、これまで、実際の音声認識(およびロシア語でさえ)のためのプログラムは実際には存在せず、それらは明らかにすぐには作成されません。 さらに、認識の逆のタスクでさえ、認識よりもはるかに簡単に見える音声合成でさえ、完全には解決されていません。」 (ComputerPress#12、2004)

    「コンピューターにとってタスクはかなり難しいので、(ロシア語だけでなく)通常の音声認識プログラムはまだありません。 そして最悪なのは、人間の単語認識メカニズムがまだ理解されていないことです。そのため、認識プログラムを作成するときに最初から始めることは何もありません。」 (フォーラムでの別の議論)。

    とはいえ、英語の音声入力プログラムのレビューは、明確な成功を示しました。 例えば、 IBM ViaVoice 98 Executive Edition 64,000語の基本的な語彙と、同じ数の自分の単語を追加する機能がありました。 プログラムを訓練しない場合の単語認識の割合は約80%であり、特定のユーザーとのその後の作業で95%に達しました。

    ロシア語の認識プログラムの中で、英語のDragon Dictate2.5に追加された「Gorynych」は注目に値します。 検索について、そして「5人のゴリニッチとの戦い」については、レビューの後半でお話しします。 最初に見つけたのは「イングリッシュドラゴン」。

    3.連続音声認識プログラム「DragonNaturallySpeaking」

    会社のプログラムの最新版 "ニュアンス"ミンスク外国語研究所の旧友と一緒にいることがわかりました。 彼女は海外旅行から持ってきて、「コンピューター秘書」になれると思って買った。 しかし、何かが機能せず、プログラムはラップトップでほとんど忘れられたままでした。 わかりやすい経験がなかったので、自分で友達のところに行かなければなりませんでした。 この長い紹介はすべて、私が導き出した結論を正しく理解するために必要です。

    私の最初のドラゴンのフルネームは次のように聞こえました: ..。 プログラムは英語で書かれており、マニュアルがなくてもすべてが理解できます。 最初のステップは、特定のユーザーのプロファイルを作成して、彼のパフォーマンスにおける言葉の音の特性を判断することです。 私がしたこと-話者の年齢、国、発音の特殊性は重要です。 私の選択は次のとおりです。22〜54歳、英国英語、標準発音。 次は、マイクを設定するいくつかのウィンドウです。 (image04)

    深刻な音声認識プログラムの次の段階は、特定の人の発音のトレーニングです。 テキストの性質を選択するように求められます。私の選択はディクテーションに関する短い指示ですが、ユーモラスなストーリーを「注文」することもできます。

    プログラムを操作するこの段階の本質は非常に単純です。テキストがウィンドウに表示され、その上に黄色の矢印が表示されます。 正しく発音されると、矢印がフレーズを移動し、下部にワークアウトの進行状況バーが表示されます。 会話英語は私にはほとんど忘れられていたので、進むのは困難でした。 時間も限られていました-コンピューターは私のものではなく、ワークアウトを中断しなければなりませんでした。 しかし、友人は彼女が30分以内に試験を受けたと言いました。 (image05)

    発音プログラムの適応を拒否して、メインウィンドウに移動し、組み込みのテキストエディタを起動しました。 彼はコンピューターで見つけたいくつかのテキストから個々の単語を話しました。 それが正しく発音した、プログラムが印刷した、それが不十分に言ったそれらの単語は、何か「英語」に置き換えられました。 コマンド「行を消去」を英語ではっきりと発音したので、プログラムはそれを実行しました。 これは、私がコマンドを正しく読んだことを意味し、プログラムは事前のトレーニングなしでコマンドを認識します。

    しかし、この「ドラゴン」がロシア語でどのように書かれているかは私にとって重要でした。 前の説明から理解したように、プログラムをトレーニングするときは、英語のテキストのみを選択できます。そこにはロシア語はありません。 ロシア語のスピーチの認識を訓練することが機能しないことは明らかです。 次の写真では、ロシア語の「ハロー」を発音するときにプログラムが入力したフレーズを確認できます。 (image06)

    最初のドラゴンとのコミュニケーションの結果は少しコミカルであることが判明しました。 公式サイトのテキストを注意深く読むと、このソフトウェア製品の英語の「専門分野」を見ることができます。 また、読み込み時にプログラムウィンドウで「英語」を読みます。 それで、なぜそれがすべて必要だったのですか。 フォーラムや噂が原因であることは明らかです...

    しかし、やりがいのある経験もあります。 私の友人は私に彼女のラップトップの状態を見るように頼んだ。 どういうわけかゆっくりと彼は働き始めた。 これは驚くべきことではありません。システムパーティションには5%の空き領域しかありませんでした。 不要なプログラムを削除すると、公式バージョンが2.3GBを超えていることがわかりました。 この図は後で役立ちます。 (image.07)



    結局のところ、ロシア語のスピーチの認識は簡単な作業ではありませんでした。 ミンスクでは、友達のところに「ゴリニッチ」を見つけることができました。 長い間、彼は古い瓦礫の中のディスクを探していました、そして彼によると、これは公式の出版物です。 プログラムはすぐにインストールされ、その辞書には5000のロシア語と100のコマ​​ンド、600の英語の単語と31のコマンドが含まれていることがわかりました。

    まず、マイクをセットアップする必要があります。これは私が行いました。 それから辞書を開いて単語を追加しました "検査"プログラム辞書に載っていなかったからです。 私ははっきりと単調に話そうとしました。 最後に、プログラム「Gorynych Pro 3.0」を開き、ディクテーションモードをオンにして、次の「似たような単語」のリストを取得しました。 (image.09)

    得られた結果は、Androidスマートフォンの動作とは明らかに悪い点が異なるため、戸惑いました。「」から他のプログラムを試すことにしました。 オンラインストアGoogleChrome "..。 そして彼は後で「山のヘビ」に対処するために延期しました。 それは私には思えた 延期元のロシアの精神での行動

    5.Googleの音声機能

    通常のWindowsコンピューターで音声を操作するには、ブラウザーをインストールする必要があります グーグルクローム..。 インターネットで使用している場合は、右下にあるソフトウェアストアのリンクをクリックしてください。 そこで、完全に無料で、テキストの音声入力用の2つのプログラムと2つの拡張機能を見つけました。 プログラムは呼ばれます 「音声メモ帳」「Voisnot-VoicetoText」..。 インストール後、それらはタブで見つけることができます 「アプリケーション」あなたのブラウザ "クロム". (画像.10)

    拡張機能はと呼ばれます 「GoogleVoiceSearch Hotword(Beta)0.1.0.5」「音声テキスト入力-Speechpad.ru5.4」..。 インストール後、タブでオフにするか削除することができます 「拡張機能」.(画像11)

    VoiceNote..。 Chromeブラウザの[アプリケーション]タブで、プログラムアイコンをダブルクリックします。 次の図のようなダイアログボックスが開きます。 マイクアイコンをクリックすると、マイクに短いフレーズを話します。 プログラムはあなたの単語を音声認識サーバーに送信し、ウィンドウにテキストを入力します。 図に示されているすべての単語とフレーズは、最初に入力されたものです。 明らかに、この方法はアクティブなインターネット接続でのみ機能します。 (画像12)

    音声メモ帳..。 アプリケーションタブでプログラムを実行すると、インターネットページの新しいタブが開きます Speechpad.ru..。 このサービスの使い方の詳細な説明とコンパクトなフォームがあります。 後者を下の図に示します。 (画像13)

    音声入力テキストを使用すると、インターネットページのテキストフィールドに自分の声で入力できます。 たとえば、私は自分のページに行きました Google+..。 新しいメッセージ入力フィールドで、右クリックして選択しました 「SpeechPad」..。 ピンク色の入力ボックスは、テキストを口述するように指示します。 (画像14)

    Google音声検索音声で検索できます。 この拡張機能をインストールしてアクティブ化すると、検索バーにマイクの記号が表示されます。 クリックすると、大きな赤い円の中に記号が表示されます。 検索フレーズを言うだけで、検索結果に表示されます。 (画像15)

    重要な注意:マイクをChrome拡張機能と連携させるには、ブラウザの設定でマイクへのアクセスを許可する必要があります。 セキュリティ上の理由から、デフォルトでは無効になっています。 に移動 設定->個人データ->コンテンツ設定..。 (すべての設定にアクセスするには、リストの最後にあるをクリックします 詳細設定を表示する)..。 ダイアログボックスが開きます ページコンテンツ設定..。 リストからアイテムを選択します マルチメディア→マイク.

    6.ロシア語の音声認識プログラムを使用した結果

    音声入力プログラムを使用した少しの経験は、インターネット会社のサーバーでのこの機能の優れた実装を示しています グーグル..。 事前のトレーニングがなくても、単語は正しく認識されます。 これは、ロシア語の音声認識の問題が解決されたことを示しています。

    今、私たちは開発の結果と言うことができます グーグル他のメーカーの製品を評価するための新しい基準になります。 認識システムを会社のサーバーにアクセスせずにオフラインで動作させたいので、より便利で高速です。 しかし、ロシア語のスピーチの連続ストリームを処理するための独立したプログラムがいつリリースされるかは不明です。 ただし、トレーニングの可能性があるため、この「作成」は真のブレークスルーになると想定する必要があります。

    ロシアの開発者のプログラム 「ゴリニッチ」, 「ディクトグラファー」"戦闘"このレビューの後半で詳しく説明します。 この記事は、オリジナルのディスクの検索が困難になったため、非常にゆっくりと書かれました。 現時点では、「Combat 2.52」を除いて、ロシア語の音声からテキストへの「認識機能」のすべてのバージョンがすでにあります。 私の友人や同僚は誰もこのプログラムを持っていません、そして私自身はフォーラムでほんの少しの賞賛のコメントを持っています。 確かに、そのような奇妙なオプションがありました-SMS経由で「戦闘」をダウンロードしますが、私はそれが好きではありません。 (画像16)


    短いビデオクリップは、AndroidOSを搭載したスマートフォンで音声認識がどのように行われているかを示します。 音声ダイヤルの機能は、Googleサーバーに接続する必要があることです。 したがって、インターネットはあなたのために働くはずです