とても早いですね!わずか数分で、10行未満のコードでビデオ音声をテキストに変換します。

とても早いですね!わずか数分で、10行未満のコードでビデオ音声をテキストに変換します。

みなさんこんにちは。私はFeng Kiteです

オーディオおよびビデオ ファイル内のオーディオをテキスト コンテンツに変換することは 2 年前は困難でしたが、現在では数分で解決できます。

すでにいくつかの企業では、DouyinやKuaishouなどのショートビデオプラットフォーム上のすべてのビデオを検索してトレーニングデータを取得し、音声をテキストに抽出してビッグデータモデルのトレーニングコーパスとして使用していると聞きました。

ビデオまたはオーディオ ファイルをテキストに変換する必要がある場合は、現在提供されているオープン ソース ソリューションを試してみるとよいでしょう。たとえば、映画やテレビのセリフが出てくる時間を検索します。

さっそく本題に入りましょう。

ささやき

このソリューションは、OpenAI のオープンソース Whisper であり、もちろん Python で書かれています。いくつかのパッケージをインストールし、数行のコードを書いて、少し待つだけで (マシンのパフォーマンスとオーディオとビデオの長さによって異なります)、最終的なテキスト コンテンツが表示されます。とても簡単です。

GitHubリポジトリアドレス: https://github.com/openai/whisper

ファストウィスパー

非常にシンプルですが、プログラマーにとってはまだ簡潔さが足りません。結局のところ、プログラマーは非常に怠惰です。Whisper はインストールと呼び出しが簡単ですが、それでも PyTorch、ffmpeg、さらには Rust を個別にインストールする必要があります。

そこで、より高速でシンプルな Fast-Whisper が登場しました。 Fast-Whisper は Whisper の単純なラッパーではなく、Transformer モデル用の高速推論エンジンである CTranslate2 を使用して OpenAI の Whisper モデルを再実装したものです。

まとめると、Whisper よりも高速です。公式発表では、Whisper よりも 4 ~ 8 倍高速であるとされています。 GPU だけでなく CPU もサポートしており、私の安物の Mac でも使用できます。

GitHub リポジトリ アドレス: https://github.com/SYSTRAN/faster-whisper

使い方はたったの2ステップです。

  1. 依存パッケージをインストールする
pip install faster-whisper
  1. コードを書く、
 from faster_whisper import WhisperModel model_size = "large-v3" # Run on GPU with FP16 model = WhisperModel(model_size, device="cuda", compute_type="float16") # or run on GPU with INT8 # model = WhisperModel(model_size, device="cuda", compute_type="int8_float16") # or run on CPU with INT8 # model = WhisperModel(model_size, device="cpu", compute_type="int8") segments, info = model.transcribe("audio.mp3", beam_size=5) print("Detected language '%s' with probability %f" % (info.language, info.language_probability)) for segment in segments: print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

はい、とても簡単です。

何ができるでしょうか?

たまたま、私の友人が短いビデオを作ってチキンスープ文学のビデオを投稿したいと言っていました。チキンスープは有名人のインタビュービデオから生まれました。しかし、彼はビデオ全体を視聴したくなかったので、できるだけ早くテキストコンテンツをダウンロードしてからテキストを読みたいと考えました。テキストを読む方がビデオを見るよりもはるかに速く、検索もできるからです。

言いたいのは、動画を最後まで見るという誠意さえなければ、どうやってアカウントをうまく管理できるのかということです。

そこで私は Fast-Whisper を使って彼のために作ってみました。

クライアント

クライアントは Swift を使用し、Mac のみをサポートします。

  1. ビデオを選択します。
  2. 次に「テキストの抽出」をクリックすると、Python インターフェースが呼び出されるので、しばらく待つ必要があります。
  3. 解析されたテキストとその発生の開始時刻と終了時刻を読み込みます。
  4. 開始時間と終了イベントを選択します。
  5. 「エクスポート」ボタンをクリックすると、ビデオクリップがエクスポートされます。

、再生時間 00:10

サーバ

サーバー側はもちろん Python ですが、これは Flask でパッケージ化されて外部に公開されます。

 from flask import Flask, request, jsonify from faster_whisper import WhisperModel app = Flask(__name__) model_size = "large-v2" model = WhisperModel(model_size, device="cpu", compute_type="int8") @app.route('/transcribe', methods=['POST']) def transcribe(): # Get the file path from the request file_path = request.json.get('filePath') # Transcribe the file segments, info = model.transcribe(file_path, beam_size=5, initial_prompt="简体") segments_copy = [] with open('segments.txt', 'w') as file: for segment in segments: line = "%.2fs|%.2fs|[%.2fs -> %.2fs]|%s" % ( segment.start, segment.end, segment.start, segment.end, segment.text) segments_copy.append(line) file.write(line + '\n') # Prepare the response response_data = { "language": info.language, "language_probability": info.language_probability, "segments": [] } for segment in segments_copy: response_data["segments"].append(segment) return jsonify(response_data) if __name__ == '__main__': app.run(debug=False)

上記は議論を刺激するための単なる小さなツールであり、あなた自身の使用には十分です。

<<: 

>>:  マイクロソフトが新たなAIアクセス原則を発表、同社史上最大の投資計画

ブログ    
ブログ    

推薦する

...

顔認識は常に私たちのそばにあり、中秋節は「ハッピースキャン」から始まります

[[424699]]中秋節が近づいており、旅行の計画を立てている方も多いと思います。この特別な期間中...

Testin Cloud Testingは、ビッグモデル+ソフトウェアテストの業界リーダーの技術革新の道を模索し始めました。

情報技術が急速に発展する時代において、ソフトウェア業界は活況を呈しており、高品質のソフトウェアに対す...

ルールベースのAIと機械学習の主な違いは、さまざまな業界の企業が検討し、実装している点です。

さまざまな業界の企業が、ビッグデータからロボット工学まで、ビジネスプロセスの自動化、顧客体験の向上、...

...

エッジ vs. クラウド: どちらの AI インフラストラクチャを選択すべきか?

エッジコンピューティングは最近ホットな話題です。近年最もエキサイティングな技術革新として称賛され、そ...

人工知能の最前線:ブレークスルーの機会と希望

[[253441]]人工知能技術の進歩、産業の革新、産業の発展は、産業の基礎となる人工知能の最先端の...

CNN の弱点を見つけ、MNIST の「ルーチン」に注意する

[[191828]] CNN は現在非常に人気のあるモデルです。多くの画像検索問題において、CNN ...

...

Scikit-learn を使用して機械学習用のテキストデータを準備する方法

[[208625]]テキスト データを使用して予測モデルを構築する前に、特別な準備が必要です。まずテ...

...

Kaggle機械学習モデル融合(スタッキング)体験

[[205595]]この記事では、エントリーレベルのスタッキング アプリケーションを学習する私の精神...

大学入試の願書記入や学校選びの際、人工知能を専攻するならこれらの学校を選ばなければなりません!

すでに非常に人気がある人工知能は、大学入試の願書が記入されるにつれて、間違いなく人気が続くでしょう。...

Google Brain、ロボットアームの把持速度を2倍にする並行RLアルゴリズムを提案

RL アルゴリズムでは通常、観測値の取得、アクションの計算、およびそれらの実行の間で環境の状態が変化...