Pythonで音声をテキストに変換する方法[ステップバイステップのプロセス]
公開: 2020-08-07目次
スピーチからテキストへの紹介
私たちは、機械との関わり方が多様で複雑になっている時代に生きています。 私たちは、分厚い機械式ボタンからタッチスクリーンインターフェースに進化しました。 しかし、この進化はハードウェアに限定されていません。 コンピュータへの入力の現状は、構想以来テキストでした。 それでも、NLP(自然言語処理)とML(機械学習)の進歩により、データサイエンスには、ガジェットと対話するための媒体として音声を組み込むためのツールがあります。
これらのツールはすでに私たちを取り囲んでおり、最も一般的には仮想アシスタントとして機能します。 Google、Siri、Alexaなどは、デジタル世界と対話するためのもう1つのより個人的で便利な側面を追加するという画期的な成果です。
ほとんどの技術革新とは異なり、音声認識技術は、消費とプロジェクトの構築の両方で、誰もが探索できるようになっています。
Pythonは、世界で最も一般的なプログラミング言語の1つであり、音声認識をテキストアプリケーションに作成するためのツールがあります。
テキストへのスピーチの歴史
Pythonでステートメントからテキストへの変換を検討する前に、この分野でどれだけ進歩したかを理解することは価値があります。 以下は、:の簡略化されたタイムラインです。
- オードリー、1952年:ベル研究所の3人の研究者によって開発された最初の音声認識システム。 数字しか認識できませんでした。
- IBM Showbox(1962):数字に加えて16語をコイルで認識するIBM初の音声認識システム。 単純な算術ディクテーションを解き、結果を出力できます。
- 国防高等研究計画局(DARPA)(1970):DARPAは音声理解研究に資金を提供し、ハーピーは1011語を認識するようになりました。
- 隠れマルコフモデル(HMM)、1980年代:HMMは、順次情報を必要とする問題をモデル化する統計モデルです。 このモデルは、音声認識のさらなる進歩に適用されました。
- Googleによる音声検索、2001年:Googleは、ユーザーが音声を使用して検索できるようにする音声検索機能を導入しました。 これは、非常に人気が出た最初の音声対応アプリケーションでした。
- Siri 、2011年:Appleは、デバイスと対話するためのリアルタイムで便利な方法を実行できるSiriを発表しました。
- Alexa 、2014& google home 、2016:Google homeとAlexaが合計で1億5000万ユニット以上を販売するにつれて、音声コマンドベースの仮想アシスタントが主流になりました。
また読む:トップ7のPythonNLPライブラリ

スピーチからテキストへの挑戦
音声認識は依然として複雑な問題であり、真に完成した製品とはほど遠いものです。 いくつかの技術的な問題により、これはせいぜい不完全なツールになっています。 音声認識テクノロジーの一般的な課題は次のとおりです。
1.私は解釈を正確にします
音声認識は、話された単語を常に正しく解釈するとは限りません。 VUI(Voice User Interface)は、単語と文の関係を変える理解の文脈では、人間ほど熟練していません。 したがって、マシンは文のセマンティクスを理解するのに苦労する可能性があります。
2.時間
音声認識システムの処理に時間がかかりすぎる場合があります。 これは、人間が持っている音声パターンの多様性が原因である可能性があります。 このような音声認識の難しさは、音声を遅くしたり、発音をより正確にすることで回避できます。これにより、ツールの利便性が失われます。
3.アクセント
VUIは、平均とは異なる方言を理解するのが難しい場合があります。 同じ言語内で、話者は同じ単語を話す方法が大きく異なる可能性があります。
4.バックグラウンドノイズとラウドネス
理想的な世界では、これらは問題にはなりませんが、そうではないため、VUIは、騒がしい環境(公共スペース、大規模オフィスなど)での作業が難しい場合があります。
必読:Pythonでチャットボットを作成する方法
Pythonでの音声認識
ゼロからテキストへのステートメントを作成するという骨の折れるプロセスを経たくない場合は、以下をガイドとして使用してください。 このガイドは、独自の音声認識アプリケーションを作成するための基本的な紹介にすぎません。 比較的最近のバージョンのPythonに加えて、機能しているマイクがあることを確認してください。
ステップ1 :
次のPythonパッケージをダウンロードします。
- Speech_recogntion (pip install SpeechRecogntion):これは、音声をテキストに変換する最も重要なステップを実行するメインパッケージです。 他の選択肢には、アピール、アセンブリ、google-cloud-search、pocketsphinx、Watson-developer-cloud、witなどの長所と短所があります。
- 私のオーディオ(pip install Pyaudio)
- Portaudio (pip install Portaudio)
ステップ2 :
プロジェクトを作成し(任意の名前を付けます)、speech_recogntionをsrとしてインポートします。
レコグナイザークラスのインスタンスをできるだけ多く作成します。
ステップ3 :
これらのインスタンスを作成したら、入力のソースを定義する必要があります。
今のところ、ソースをマイク自体として定義しましょう(既存のオーディオファイルを使用できます)

ステップ4 :
次に、入力を格納する変数を定義します。 'listen'メソッドを使用して、ソースから情報を取得します。 したがって、この場合、前のコード行で確立したソースとしてマイクを使用します。
ステップ5 :
input(ソースとしてのマイク)が定義され、変数('audio')に格納されたので、単にrecognize_googleメソッドを使用してテキストに変換する必要があります。 結果を変数に格納することも、単に結果を出力することもできます。 Recognition_googleだけに依存する必要はありません。同様に機能する、さまざまなAPIを使用する他のメソッドがあります。 このような方法の例は次のとおりです。
Recognition_bing()
recongize_google_cloud()
recongize_houndify()
recongize_ibm()
recongize_Sphinx()(オフラインでも機能します)
次の方法では、既存のパッケージを使用して、音声認識ソフトウェアを最初からテキスト認識ソフトウェアに開発する必要性を減らしました。 これらのパッケージには、より具体的な問題を解決するプロジェクトの構築に役立つツールがさらに含まれています。 便利な機能の1つの例は、デフォルトの言語を英語からヒンディー語に変更できることです。 これにより、ヒンディー語に出力される結果が変更されます(現在のところ、英語を理解するために音声認識が最も発達しています)。
しかし、そのようなソフトウェアがどのように実行されるかを理解することは、厳しい開発者の良い考えの練習です。
分解してみましょう。
最も基本的には、スピーチは単なる音波です。 このような音波またはオーディオ信号には、振幅、山と谷、波長、周期、周波数など、いくつかの特徴的な特性(音響の物理学に馴染みがあるように見える場合があります)があります。
このようなオーディオ信号は連続的であるため、無限のデータポイントがあります。 コンピュータがそれを処理できるように、そのような音声信号をデジタル信号に変換するために、ネットワークは、音声信号の連続性に非常に似ているサンプルの離散分布をとらなければならない。
適切なサンプリング周波数が得られたら(ほとんどの音声周波数がこの範囲にあるため、8000 Hzが適切な標準です)、LibROSAやSciPyなどのPythonライブラリでオーディオ信号を処理できるようになります。 次に、データセットを2つに分割し、モデルをトレーニングし、もう1つを使用してモデルの結果を検証することにより、これらの入力に基づいて構築できます。
この段階では、1次元のみに沿って実行される畳み込みニューラルネットワークであるConv1dのモデルアーキテクチャを使用できます。 次に、モデルを構築し、その損失関数を定義し、ニューラルネットワークを使用して、音声からテキストへの変換から最適なモデルを保存できます。 ディープラーニングとNLP(自然言語処理)を使用して、ステートメントをテキストに改良し、より広範なアプリケーションと採用を実現できます。
音声認識の応用
私たちが学んだように、これは主にソフトウェアの革新であり、誰もそれを所有していないため、この技術革新を実行するためのツールはよりアクセスしやすくなっています。 このアクセシビリティは、限られたリソースの開発者がこのテクノロジーのアプリケーションを考え出すための扉を開きました。

音声認識が成長している分野のいくつかは次のとおりです。
- 検索エンジンの進化:音声認識は、口頭と書面によるコミュニケーションのギャップを埋めることにより、検索の精度を向上させるのに役立ちます。
- 医療業界への影響:音声認識は、医療報告の完了を支援することにより、医療部門で一般的な機能になりつつあります。 VUIが医療用語の理解を深めるにつれて、このテクノロジーを採用することで、医師の管理作業から時間を解放できます。
- サービス産業:自動化の増加傾向では、顧客が人間にクエリに応答させることができない場合があります。したがって、音声認識システムはこのギャップを埋めることができます。 この機能は、空港や公共交通機関などで急速に成長するでしょう。
- サービスプロバイダー:電気通信プロバイダーは、発信者の要求を確立し、適切な支援に誘導することで待機時間を短縮できるテキストベースのシステムへの音声にさらに依存する場合があります。
また読む:音声検索技術–興味深い事実
結論
スピーチからテキストへの変換は、まもなく普及する強力なテクノロジーです。 Python(世界で最も人気のあるプログラミング言語の1つ)と組み合わせたそのかなり簡単な使いやすさにより、アプリケーションの作成が容易になります。 この分野で進歩を遂げるにつれ、私たちはデジタル世界へのアクセスが指先だけでなく話し言葉でもある世界への道を開いています。
自然言語処理について詳しく知りたい場合は、機械学習とAIプログラムのエグゼクティブPGをご覧ください。このプログラムは、働く専門家と450時間以上の厳格なトレーニング向けに設計されています。
データサイエンスについて知りたい場合は、IIIT-B&upGradのデータサイエンスのエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップを提供します。1業界のメンターとの1対1、400時間以上の学習、トップ企業との仕事の支援。
音声からテキストへの変換とは何ですか?
音声認識の初期の頃、転写士はヘッドセットを持って座って音声を録音していました。 このプロセスには長い時間がかかり、低品質のトランスクリプトが生成されました。 今日、音声認識システムはコンピューターを使用して音声をテキストに変換します。 これは、音声からテキストへの変換と呼ばれます。 音声認識(音声からテキストへの変換とも呼ばれます)は、話し言葉を機械可読データに変換するプロセスです。 目的は、人々が音声で機械と通信できるようにし、機械が音声を生成して人々と通信できるようにすることです。 この変換を実行するには、音声からテキストへのソフトウェアが使用されます。
音声からテキストへの変換における課題は何ですか?
音声からテキストへの変換には多くの課題があります。 主な課題は次のとおりです。ユーザーの意図を抽出するために、システムが話し言葉を正しく取得する必要がある精度。 速度、システムは、ユーザーが受け入れられるのに十分な速度で上記を実行できる必要があります。 自然さ、システムは可能な限り自然に聞こえる必要があるため、ユーザーは不自然な方法で話す必要があるとは感じません。 堅牢性、システムは、変換プロセスを妨げる可能性のある大量のバックグラウンドノイズ、その他の音声、およびその他の影響を処理できる必要があります。
音声のテキスト処理への応用は何ですか?
音声をテキストに変換する必要がある理由は、それが非常に高速で便利なコミュニケーション方法だからです。 音声からテキストへの処理は、さまざまなアプリケーションで使用できます。たとえば、ユーザーがキーボードで入力する代わりに、音声を使用してメッセージを送信したり電話をかけたりできるモバイル通信デバイスで使用できます。 テキスト処理への音声の別のアプリケーションは、機械制御です。 それは、エンジンやその他の産業用機械に話しかけることによって制御する方法です。