本指南將教您如何使用 Streamlit st.audio_input 小部件在與 OpenAI Whisper 模型配對的設備麥克風上錄製您的聲音,以將您的語音轉錄和/或翻譯為英語文本。您稍後可以將轉錄內容下載為 .txt 格式的文字檔案。
Whisper 是一個訓練有素的開源神經網絡,在英語語音識別方面接近人類水平的穩健性和準確性。
OpenAI API 提供兩個端點:
從官方網站來看,Streamlit 是建立和分享資料應用程式的更快方式。它是一個開源 Python 庫,可幫助您建立 Web 應用程式以共享分析結果、建立複雜的互動體驗以及在新的機器學習模型之上進行迭代。
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 檔案中的金鑰,確保我們作為使用者進行身份驗證。
PS:使用 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 用於創建音頻轉錄所需的文件格式,並使用 st.write() 函數輸出文本,該函數接受一個字串並將其直接寫入我們的 Web 應用程式。
要使用應用程式左上角的確切徽標,請下載此徽標並將其保存在您的專案目錄中。
現在,讓我們在終端機中使用以下命令運行此應用程式:
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中文網其他相關文章!