《Whisper :說明書 》

?[論文]?[模型卡]?[Colab 示例]

Whisper 是一種通用的語音識別模型。它基于各種音頻的大型數據集進行訓練,也是一種多任務模型,可以執行多語言語音識別、語音翻譯和語言識別。

方法

方法

Transformer 序列到序列模型針對各種語音處理任務進行訓練,包括多語言語音識別、語音翻譯、口語識別和語音活動檢測。這些任務共同表示為解碼器要預測的令牌序列,從而允許單個模型替換傳統語音處理管道的許多階段。多任務訓練格式使用一組特殊標記,用作任務說明符或分類目標。

設置

我們使用 Python 3.9.9 和?PyTorch?1.10.1 來訓練和測試我們的模型,但代碼庫預計與 Python 3.8-3.11 和最新的 PyTorch 版本兼容。代碼庫還依賴于一些 Python 包,最值得注意的是?OpenAI 的 tiktoken?用于其快速分詞器實現。您可以使用以下命令下載并安裝(或更新到)最新版本的 Whisper:

pip install -U openai-whisper

或者,以下命令將從此存儲庫中提取并安裝最新提交及其 Python 依賴項:

pip install git+https://github.com/openai/whisper.git 

要將包更新到此存儲庫的最新版本,請運行:

pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

它還需要在系統上安裝命令行工具?ffmpeg,大多數包管理器都可以使用該工具:

# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg# on Arch Linux
sudo pacman -S ffmpeg# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg

您可能還需要安裝?rust,以防?tiktoken?沒有為您的平臺提供預構建的輪子。如果您在執行上述命令時看到安裝錯誤,請按照?入門 頁面安裝 Rust 開發環境。此外,您可能需要配置環境變量,例如 .如果安裝失敗并顯示 ,則需要安裝 ,例如通過運行:pip installPATHexport PATH="$HOME/.cargo/bin:$PATH"No module named 'setuptools_rust'setuptools_rust

pip install setuptools-rust

可用的模型和語言

有六種型號尺寸,其中四種為僅英文版本,提供速度和精度的權衡。 以下是可用模型的名稱及其相對于大型模型的近似內存需求和推理速度。 以下相對速度是通過在 A100 上轉錄英語語音來測量的,實際速度可能會因許多因素(包括語言、語速和可用硬件)而有很大差異。

大小參數純英文模型多語言模型必需的 VRAM相對速度
39 Mtiny.entiny~1 GB~10 倍
基礎74 Mbase.enbase~1 GB~7 倍
244 Msmall.ensmall~2 GB~4 倍
中等769 Mmedium.enmedium~5 吉字節~2 倍
1550 M不適用large~10 GB1 倍
809 M不適用turbo~6 GB~8 倍

純英語應用程序的模型往往性能更好,尤其是 和 模型。我們觀察到 和 模型的差異變得不那么顯著。 此外,該模型是其優化版本,可提供更快的轉錄速度,同時將準確性的下降降至最低。.entiny.enbase.ensmall.enmedium.enturbolarge-v3

Whisper 的性能因語言而異。下圖顯示了在 Common Voice 15 和 Fleurs 數據集上評估的 WER(單詞錯誤率)或 CER(字符錯誤率,以體顯示)按語言劃分的性能細分。與其他模型和數據集對應的其他 WER/CER 指標可在論文的附錄 D.1、D.2 和 D.4 中找到,以及附錄 D.3 中用于翻譯的 BLEU(雙語評估研究)分數。large-v3large-v2

命令行用法

以下命令將使用模型轉錄音頻文件中的語音:turbo

whisper audio.flac audio.mp3 audio.wav --model turbo

默認設置(選擇模型)適用于轉錄英語。要轉錄包含非英語語音的音頻文件,您可以使用以下選項指定語言:turbo--language

whisper japanese.wav --language Japanese

添加會將語音翻譯成英文:--task translate

whisper japanese.wav --language Japanese --task translate

運行以下命令以查看所有可用選項:

whisper --help

有關所有可用語言的列表,請參閱?tokenizer.py。

Python 用法

轉錄也可以在 Python 中執行:

import whispermodel = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])

在內部,該方法讀取整個文件并使用 30 秒的滑動窗口處理音頻,在每個窗口上執行自回歸序列到序列預測。transcribe()

下面是 和 的示例用法,它提供對模型的較低級別訪問。whisper.detect_language()whisper.decode()

import whispermodel = whisper.load_model("turbo")# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio, n_mels=model.dims.n_mels).to(model.device)# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")# decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)# print the recognized text
print(result.text)

更多示例

請使用 討論區?中的 Show and tell 類別來分享 Whisper 和第三方擴展的更多示例用法,例如 Web 演示、與其他工具的集成、不同平臺的端口等。 🙌

許可證

Whisper 的代碼和模型權重在 MIT 許可證下發布。有關更多詳細信息,請參閱?LICENSE?。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84847.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84847.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

回溯----8.N皇后

題目鏈接 /** 將n個棋子放在n*n的棋盤上,不同列,不同行,不同斜線 大致執行流程: 首先選取第一行第一格放置第一個棋子,再從第二行第一個位置開始選取合法的位置(不同行不同列不同斜線)放置棋子,重復上述流程迭代行數, 直到放置n個棋子。 若放置途中出現無合法位置的情況,回溯將…

微機電子拉伸試驗機

對于不同材料的試樣,由于其化學成分及組織的不同,在拉伸過程中會體現 出不同的物理現象及力學性質。西安力創(LETRY)公司專業制造WDL/WDW系列微機控制電子萬能試驗機,主要適用于金屬板材、棒材、管材、金屬絲、金屬箔、…

【數據結構與算法】數據結構核心概念系統梳理

第一章 緒論:基礎概念體系 ??算法:問題求解步驟的描述。 ??非遞歸的算法效率更高。 1.1 邏輯結構 vs 存儲結構 維度邏輯結構存儲結構(物理結構)定義數據元素之間的邏輯關系數據結構在計算機中的實現方式分類線性/樹形/圖/集合順序/鏈式/索引/散列獨立性獨立于存儲結構…

73頁PPT | 大數據平臺規劃與數據價值挖掘應用咨詢項目解決方案

推薦摘要:在數字化浪潮中,企業數據量呈幾何級增長,卻常因缺乏科學規劃的大數據平臺,陷入數據孤島、處理效率低下的困境,難以充分挖掘數據價值。特推出大數據平臺規劃與數據價值挖掘應用咨詢項目解決方案,正…

gRPC 與 Protobuf 的深度集成 —— 從服務定義到多語言交互(Go + Java 示例)

在前幾篇文章中,我們已經掌握了 Protobuf 的基礎語法、高級特性和序列化反序列化操作。本篇文章將深入講解 gRPC 與 Protobuf 的集成,重點介紹如何通過 .proto 文件定義服務接口,并在 Go 和 Java 中實現 gRPC 服務與客戶端的完整交互流程。我…

可信計算的基石:TPM技術深度解析與應用實踐

可信計算的基石:TPM技術深度解析與應用實踐 引言:數字世界的"信任之錨" 在數據泄露事件頻發的時代,傳統軟件級安全防護已力不從心。TPM(可信平臺模塊)作為硬件級安全解決方案,正成為現代計算設…

「ECG信號處理——(18)基于時空特征的心率變異性分析」2025年6月23日

一、HRV概述 心率變異性(Heart rate variability ,HRV)分析是通過測量分析連續正常R-R間期的時間變化來反映心率的變化程度的,根據計算RR 序列的統計指標,或者是畫出RR間期的直方圖和散點圖來反映HRV的大小情況。下面我們從男性與…

【學習筆記】深入理解Java虛擬機學習筆記——第10章 前端編譯與優化

第10章 前端編譯與優化 10.1 概述 1>前端編譯器:Javac命令。 【.java文件->.class文件】 2>即時編譯器:Hotspot.C1.C2 【.class文件->機器碼】 3>提前編譯器:JDK的Jaotc等【.java->機器碼】 10.2 Javac 編譯器 10.2.1 …

Python 區塊鏈與Web3開發指南

https://www.python.org/static/community_logos/python-logo-master-v3-TM.png 區塊鏈基礎概念 區塊鏈核心特性 python 復制 下載 class Block:def __init__(self, index, timestamp, data, previous_hash):self.index indexself.timestamp timestampself.data datas…

工業智能體調參閉環:從物料感知到智慧工藝的落地路徑

用戶定義目標:智能工藝的起點不是機器,而是人 在智能制造系統中,工藝調優的第一步并非直接依賴AI或自動化設備,而是始于用戶的明確輸入。用戶需要在系統中定義產品的工藝要求,包括目標尺寸與規格(如長寬高…

【Linux學習筆記】進程間通信之共享內存

【Linux學習筆記】進程間通信之共享內存 🔥個人主頁:大白的編程日記 🔥專欄:Linux學習筆記 文章目錄 【Linux學習筆記】進程間通信之共享內存前言一. system V共享內存1.1 共享內存數據結構1.2 共享內存函數1.3 共享內存實現通信…

郭碧婷闖入女團賽道 與劉忻張予曦蔡詩蕓組成ROLLING SISTERS

近日,郭碧婷與劉忻、張予曦、蔡詩蕓組成的女團ROLLING SISTERS正式官宣,并發布《Rolling Life》《Alpha》兩首單曲! 此次幾位姐姐的組合讓大家眼前一亮,尤其是郭碧婷造型顛覆以往。銀灰色挑染短發搭配棱角分明的黑色煙熏妝&#x…

2025再升級:醫療數智立體化體系V2.0架構簡介

在醫療數智立體化體系第一版基礎上,融入量子物理的第一性原理計算、人工智能(AI)、高性能云計算(HPC)和標準化機器人自動化整合成“醫療數智立體化體系2.0”,代表了醫療研發未來的重要發展方向。這個體系的核心在于深度融合物理世界規律、智能計算與自動化執行,為醫療AI…

Day40 訓練和測試的規范寫法

目錄 一、彩色和灰度圖片測試和訓練的規范寫法:封裝在函數中 單通道圖片的規范寫法 彩色圖片的規范寫法 二、展平操作:除第一個維度batchsize外全部展平 圖像任務中的張量形狀 NLP任務中的張量形狀 1. Flatten操作 2. view/reshape操作 總結 三…

Linux 文件 I/O 與標準 I/O 緩沖機制詳解

一、什么是標準 I/O?(FILE* 接口) 標準 I/O 是 C 標準庫為我們提供的一套高級文件操作接口,核心基于結構體 FILE,常見函數如: fopen() / fclose() fread() / fwrite() fprintf() / fscanf() fflush() /…

C++的前世今生-C++11

C98(ISO/IEC 14882:1998) C98 是 C 的第一個標準化版本(ISO/IEC 14882:1998),它正式確立了 C 的核心語言特性和標準庫。以下是 C98 的主要特性總結: 一、核心語言特性** 模板(Templates&…

詞編碼模型怎么進行訓練的,輸出輸入是什么,標簽是什么

詞編碼模型怎么進行訓練的,輸出輸入是什么,標簽是什么 詞編碼模型的訓練本質是通過數據驅動的方式,將離散的文本符號映射為連續的語義向量。 一、訓練機制:從符號到向量的映射邏輯 1. 核心目標 將單詞/子詞(Token)映射為低維向量,使語義相關的詞在向量空間中距離更近…

【Linux指南】文件管理高級操作(復制、移動、查找)

引言 在Linux系統管理中,文件的復制、移動與查找是比基礎操作更進階的核心技能,它們構成了高效管理文件系統的"三駕馬車"。當我們需要備份重要數據、重構目錄結構或在龐大的文件系統中定位目標文件時,cp、mv、find等命令將成為最得…

【棧】-----【小C的記事本】

小C的記事本 題目描述 小C最近學會了 Java 小程序的開發,他很開心,于是想做一個簡單的記事本程序練練手。 他希望他的記事本包含以下功能: append(str):向記事本插入字符串 str(英文字符)。delete(k)&am…

技能系統詳解(2)——特效表現

特效會有個EffectManager用于統一管理所有特效,技能特效只是各類特效中的一種 EffectManager需要提供特效的創建,返回被封裝為EffectHandle 每類特效都有各種不同的配置參數,這些配置參數會傳遞給EffectManager用于生成EffectHandler 為支…