ビデオ トピックの識別と追跡 - デモ [質問のまとめ 1.1 - ビデオ処理]

目的: ビデオ--「オーディオ--」テキスト (音声認識)

  • MP4ファイルをMP3ファイルに変換するmoviepyライブラリ

  • pydub ライブラリは MP3 ファイルを flac ファイルに変換しますが、FFmpeg をインストールする必要があります

    実際、pydub ライブラリは WAV 形式のファイルの変換のみをサポートし、FFmpeg は複数の形式のオーディオ変換をサポートできます
    公式 Web サイトから FFmpeg 圧縮パッケージをダウンロードし、解凍後に bin フォルダーをシステム環境変数に追加してから、インストールしますpydub ライブラリを正常に使用するには
    、FFmpeg をインストールしたら最後に、pydub は MP4 ファイルから MP3 ファイルへの変換もサポートしています.
    次のコードは github での例です:

     import os
     import glob
     from pydub import AudioSegment
    
     video_dir = '/home/johndoe/downloaded_videos/'  # Path where the videos are located
     extension_list = ('*.mp4', '*.flv')
    
     os.chdir(video_dir)
     for extension in extension_list:
       for video in glob.glob(extension):
         mp3_filename = os.path.splitext(os.path.basename(video))[0] + '.mp3'
         AudioSegment.from_file(video).export(mp3_filename, format='mp3')
    
  • speech_recognition ライブラリは音声認識を実行できますが、MP3 ファイルをサポートしていないため、最初に MP3 ファイルを flac ファイルに変換する必要があります。

    SpeechRecognition はオーディオ ファイル タイプをサポートしています:
    WAV: PCM/LPCM 形式である必要があります
    AIFF
    AIFF-C
    FLAC: ネイティブ FLAC 形式である必要があります; OGG-FLAC 形式は使用できません

  • SpeechRcognition の認識クラス (デバイス) は 7 つあります
    ここに画像の説明を挿入
    が、 CMU Sphinx エンジンでオフラインで動作できるのは Reception_sphinx() だけで、残りの 6 つはインターネットに接続する (API を呼び出す) 必要があります。また、SpeechRecognition には Google Web Speech API のデフォルトの API キーが付属しており、直接使用することができます。

  • インストール中に wheel と swig をインストールする必要があることがわかりました. Wheel は pip で直接インストールできますが、swig はインストールできません.

    公式サイトからswig圧縮パッケージをダウンロードし、解凍後に環境変数を追加してsphinxを正常にインストールします。cmd で正常にインストールできますが、pycharm でエラーが報告されます。

  • SpeechRcognition と認識_sphinx の両方がインストールされたら、SpeechRcognition インストール フォルダーの下にある pocketphinx-data フォルダーを見つけ、新しいフォルダー「zh-CN」を作成して、中国語の音響モデル、言語モデル、および辞書ファイルを格納し、中国語の認識を実行できるようにします。 .

    Pocketphinx がインストールする必要がある中国語と音響モデル
    ダウンロード アドレス: http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Download
    cmusphinx-zh-cn-5.2.tar.gz と解凍それに、zh-CN フォルダーを追加し、zh_cn.cd_cont_5000 フォルダーの名前を音響モデルに変更し、zh_cn.lm.bin を language-model.lm.bin に変更し、zh_cn.dic 内の dic を dict 形式に変更

ただ、認識の精度はあまり良くない気がします.Google
Web Speech API を使用すると、「接続先が一定時間後に正しく応答しなかったか、接続先ホストが応答しなかったため、接続に失敗しました」というエラーが報告されます。応答しません。"

おすすめ

転載: blog.csdn.net/weixin_45560417/article/details/123726106