ホームページ >バックエンド開発 >Python チュートリアル >OpenAI Whisper と Streamlit を使用した音声文字起こしおよび翻訳アプリの構築
このガイドでは、Streamlit st.audio_input ウィジェットを使用してデバイスのマイクで音声を録音し、OpenAI Whisper モデルと組み合わせて音声を英語で文字に起こしたりテキストに翻訳したりする方法を説明します。後で、文字起こしされたコンテンツを .txt 形式のテキスト ファイルとしてダウンロードできます。
Whisper は、英語音声認識における人間レベルの堅牢性と精度に近づく、訓練されたオープンソース ニューラル ネットワークです。
OpenAI API は 2 つのエンドポイントを提供します:
公式 Web サイトより、Streamlit はデータ アプリをより迅速に構築して共有する方法です。これは、分析結果を共有し、複雑なインタラクティブなエクスペリエンスを構築し、新しい機械学習モデル上で反復処理するための Web アプリケーションを構築するのに役立つオープンソースの Python ライブラリです。
Streamlit は、テキスト、数値、日付などのユーザー入力の取り込みから、最も一般的で強力な Python グラフ作成ライブラリを使用したインタラクティブなグラフの表示まで、便利なメソッドが組み込まれているため、Python 開発者にとって最適な選択肢です。
Streamlit アプリを実行するには、まず次のコマンドを使用して Streamlit をインストールする必要があります。
pip install streamlit
音声をテキストに変換する作業を行っているため、環境変数を安全に保存する必要があります。
pip install openai python-dotenv
ルート プロジェクト ディレクトリに新しいファイルを作成し、.env という名前を付けます。
OpenAI API キーを貼り付けます:
.env
OPENAI_API_KEY="sk-..."
ディレクトリに、このファイル streamlit_app.py を作成します。このファイルには、音声を文字起こしおよび翻訳し、結果のテキストを出力するためのすべての Python コードが含まれます。
OpenAI クライアントのインスタンスを初期化するには、次のコードをコピーして貼り付けます:
streamlit_app.py
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() api_key = os.getenv('OPENAI_API_KEY') client = OpenAI()
コード ブロックは接続して .env ファイル内の秘密キーを読み取り、ユーザーとして認証されていることを確認します。
追記: OpenAI API の使用は無料ではなく、サービスを使用するにはクレジットを購入する必要があります。
次のように streamlit_app.py を更新しましょう:
streamlit_app.py
... import streamlit as st st.logo( "logo.png", size="medium", link="https://platform.openai.com/docs", ) st.title("Transcription with Whisper") audio_value = st.audio_input("record a voice message to transcribe") if audio_value: transcript = client.audio.transcriptions.create( model="whisper-1", file = audio_value ) transcript_text = transcript.text st.write(transcript_text)
文字起こし API は、st.audio_input ウィジェットを使用して音声を変換し、音声を録音します。録音が存在する場合、モデル Whisper を使用して音声の書き起こしに必要なファイル形式が作成され、文字列を取得して Web アプリに直接書き込む st.write() 関数を使用してテキストが出力されます。
アプリの左上にある正確なロゴを使用するには、これをダウンロードしてプロジェクト ディレクトリに保存します。
次に、ターミナルで次のコマンドを使用してこのアプリを実行してみましょう:
pip install streamlit
文字起こしされたメッセージを後でダウンロードできる機能は、必要なときに記録を保持するのに役立ちます。
Streamlit は、ダウンロード ボタンを表示できる入力ウィジェットを提供します。 streamlit_app.py ファイルに戻り、次のようにコードベースを更新します。
streamlit_app.py
pip install openai python-dotenv
上記のコード行では次のことが発生します:
st.success ステータス要素は、次のようにファイルが保存されると成功メッセージを表示します。
翻訳を作成するプロセスは、文字起こしを作成するプロセスと似ています。翻訳エンドポイントは、音声ファイルの入力から外国語を英語の文章に翻訳します。
このコードをコピーして貼り付けます。
streamlit_app.py
OPENAI_API_KEY="sk-..."
翻訳した音声ファイルをテキストとして保存するファイルを作成する場合は、文字起こしをダウンロード ボタンと同じ操作を行うことができます。
完全なソース コードはこのリポジトリにあります。このアプリであなたの音声を文字に起こしてテキストに翻訳してみてください。
頑張ってください!
OpenAI のドキュメントにあるように、インターネットから事前に録音された音声を使用する代わりに、Streamlit では、自分の音声を使用し、OpenAI が提供する文字起こしおよび翻訳のエンドポイントと組み合わせて、この優れたプロジェクトを作成する機会が提供されます。
テクノロジーの進歩により、デバイスのマイクは会議や通話中のコミュニケーションに使用するだけでなく、さまざまなことが可能になりました。
以上がOpenAI Whisper と Streamlit を使用した音声文字起こしおよび翻訳アプリの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。