語(yǔ)音識(shí)別模型

簡(jiǎn)介

Whisper 是 OpenAI 的一項(xiàng)語(yǔ)音處理項(xiàng)目,旨在實(shí)現(xiàn)語(yǔ)音的識(shí)別、翻譯和生成任務(wù)。作為基于深度學(xué)習(xí)的語(yǔ)音識(shí)別模型,Whisper 具有高度的智能化和準(zhǔn)確性,能夠有效地轉(zhuǎn)換語(yǔ)音輸入為文本,并在多種語(yǔ)言之間進(jìn)行翻譯。通過(guò)不斷的優(yōu)化和更新,Whisper 致力于提供更加優(yōu)質(zhì)和高效的語(yǔ)音處理解決方案,以滿足不同場(chǎng)景和需求下的語(yǔ)音交互應(yīng)用。

Whisper 的優(yōu)點(diǎn)

Whisper 借助豐富多樣的數(shù)據(jù)集,這些數(shù)據(jù)集中的語(yǔ)音數(shù)據(jù)與互聯(lián)網(wǎng)上的文本記錄相匹配,并結(jié)合了一種名為“注意力機(jī)制”的技術(shù)。這項(xiàng)技術(shù)使得 Whisper 在處理語(yǔ)音時(shí),能夠更加有效地捕捉到語(yǔ)音中的關(guān)鍵信息。

這種綜合運(yùn)用數(shù)據(jù)和先進(jìn)技術(shù)的方式,使得 Whisper 提高了其在各種環(huán)境下的健壯性和準(zhǔn)確性,能夠?qū)崿F(xiàn)更為精確、智能的語(yǔ)音識(shí)別和翻譯,為用戶提供更加出色的語(yǔ)音處理體驗(yàn)。

多任務(wù)

Whisper 并不僅僅是預(yù)測(cè)給定音頻的單詞,雖然這是是語(yǔ)音識(shí)別的核心,但它還包含許多其他附加的功能組件,例如語(yǔ)言活動(dòng)檢測(cè)、說(shuō)話人二值化和逆文本正態(tài)化。

采用 Transformer 序列到序列模型可以實(shí)現(xiàn)針對(duì)不同的語(yǔ)言處理任務(wù)。包括以下幾種:

  • 語(yǔ)音識(shí)別
  • 語(yǔ)音翻譯
  • 口語(yǔ)識(shí)別
  • 語(yǔ)音活動(dòng)檢測(cè)

這些任務(wù)的輸出由模型預(yù)測(cè)的令牌序列表示,使得單個(gè)模型可以代替?zhèn)鹘y(tǒng)的語(yǔ)音處理管道中的多個(gè)組件,如下所示:

image.png

應(yīng)用

安裝

openai-whisper

openai-whisper 與 python 3.8-3.11 和最新的 PyTorch 版本兼容。

使用 pip 命令安裝:pip install -U openai-whisper

ffmpeg

openai-whisper 需要 ffmpeg 的環(huán)境,ffmpeg 是一個(gè)開(kāi)源的跨平臺(tái)音視頻處理工具和框架,可以用來(lái)錄制、轉(zhuǎn)換和流式傳輸音視頻內(nèi)容 。

官網(wǎng):https://ffmpeg.org/

MAC

  • 安裝:brew install ffmpeg

  • 驗(yàn)證:ffmpeg -version 出現(xiàn)版本信息且無(wú)報(bào)錯(cuò)表示安裝成功。

image.png

Windows

image.png
  • 環(huán)境配置:下載解壓完成后,需要將 Ffmpeg 的執(zhí)行文件坐在目錄添加到系統(tǒng)的環(huán)境變量中。
image.png
  • 驗(yàn)證:在 cmd 中輸入 ffmpeg -version 出現(xiàn)版本信息且無(wú)報(bào)錯(cuò)表示安裝成功。
image.png

命令行

# 將音頻的內(nèi)容轉(zhuǎn)為文本,使用base模型whisper demo1.mp3 --model base --task transcribe

命令行常用參數(shù)

參數(shù) 含義 默認(rèn)
--model 要使用的 Whisper 模型名稱 small
--task 轉(zhuǎn)錄(transcribe)或翻譯(translate) transcribe
--language 指定執(zhí)行的語(yǔ)言 None
--temperature 指定輸出內(nèi)容的相似度 0
--output_dir 指定輸出文件的保存路徑 .

Python 代碼

import whisper
# 初始化一個(gè) base 模型
model = whisper.load_model("base")
# 傳入音頻文件,并得到音頻輸出的文本內(nèi)容
res = model.transcribe("demo.mp3")
print(res["text"])

模型調(diào)用

安裝 openai 第三方庫(kù),本篇教程使用 1.16.1 版本的 openai:pip install openai




def test_openai_whisper():
    # 初始化OpenAI對(duì)象
    client = OpenAI(base_url="xxx",api_key="xxx")
    # 打開(kāi)一個(gè)音頻文件
    audio_file1 = open("demo1.mp3", 'rb')
    audio_file2 = open("demo2.mp3", 'rb')
    # 選擇模型,并且轉(zhuǎn)錄音頻的內(nèi)容
    res1 = client.audio.transcriptions.create(model="whisper-1", file=audio_file1)
    res2 = client.audio.transcriptions.create(model="whisper-1", file=audio_file2)
    # 翻譯為英文
    res3 = client.audio.translations.create(model="whisper-1", file=audio_file2)
    print(f"audio1轉(zhuǎn)錄結(jié)果為:{res1.text}")
    print(f"audio2轉(zhuǎn)錄結(jié)果為:{res1.text}")
    print(f"audio2翻譯結(jié)果為:{res1.text}")

總結(jié)

  • 了解 Whisper 相關(guān)概念。
  • 完成環(huán)境安裝。
  • 學(xué)會(huì)基礎(chǔ)示例練習(xí)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容