訓練 OpenAI Whisper V2-幫你的影片上字幕

閱讀時間約 9 分鐘

前言:

幫影片上字幕好麻煩也好無聊,使用網路上的上字幕服務又會擔心腳本外洩,被人侵害著作權,要解決以上痛點,現在有很好用的模型可以自行訓練,讓您製作影片可以把重心放在內容與其他呈現方式。相信本文介紹的解法,你會喜歡💕,想知道更多可以參加免費諮詢,讓我多瞭解各種生活上的痛點,好讓我可以逐步提出解決方案給大家!

大名鼎鼎的openai推出Whisper-large-v2 AI 的第二版,用於語音辨識與翻譯的預訓練模型,Whisper 是Alec Radford 等人在論文Robust Speech Recognition via Large-Scale Weak Supervision中提出的。來自 OpenAI。原始程式碼存儲庫可以在這裡找到。

可以用來辨識多國語言,有興趣的人可以先玩玩看範例

範例包含一個語音檔,以及翻譯後的文字

範例包含一個語音檔,以及翻譯後的文字

影片上字幕程式片段範例:

以下為範例程式,輸入為影片音檔,輸出為翻譯以及語音出現的起始時間與終點時間

import torch
from transformers import pipeline
from datasets import load_dataset

device = "cuda:0" if torch.cuda.is_available() else "cpu"

pipe = pipeline(
"automatic-speech-recognition",
model="openai/whisper-large-v2",
chunk_length_s=30,
device=device,
)

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = ds[0]["audio"]

prediction = pipe(sample.copy(), batch_size=8)["text"]

# we can also return timestamps for the predictions
prediction = pipe(sample.copy(), batch_size=8, return_timestamps=True)["chunks"]

#[{'text': ' Mr. Quilter is the apostle of the middle classes and we are glad to welcome his gospel.',
# 'timestamp': (0.0, 5.44)}]

影片字幕翻譯程式片段範例:

下面為字幕自動由法文翻譯成英文的範例

from transformers import WhisperProcessor, WhisperForConditionalGeneration
from datasets import Audio, load_dataset

# load model and processor
processor = WhisperProcessor.from_pretrained("openai/whisper-large-v2")
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-large-v2")
forced_decoder_ids = processor.get_decoder_prompt_ids(language="french", task="translate")

# load streaming dataset and read first audio sample
ds = load_dataset("common_voice", "fr", split="test", streaming=True)
ds = ds.cast_column("audio", Audio(sampling_rate=16_000))
input_speech = next(iter(ds))["audio"]
input_features = processor(input_speech["array"], sampling_rate=input_speech["sampling_rate"], return_tensors="pt").input_features

# generate token ids
predicted_ids = model.generate(input_features, forced_decoder_ids=forced_decoder_ids)
# decode token ids to text
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)

# [' A very interesting work, we will finally be given on this subject.']​

模型簡介:

Whisper 是一種基於 Transformer 的編碼器-解碼器模型,也稱為Seq-to-seq模型。它接受了 68 萬小時的標記語音資料的訓練,這些資料使用大規模弱監督進行註釋。

這些模型是根據純英語資料或多語言資料進行訓練的。僅英語模型接受了語音辨識任務的訓練。多語言模型接受了語音辨識和語音翻譯的訓練。對於語音識別,該模型會預測與音訊相同語言的轉錄。對於語音翻譯,該模型會預測轉錄為與音訊不同的語言。

Whisper 檢查點有五種不同型號尺寸的配置。最小的四個接受純英語或多語言資料的訓練。最大的檢查站僅支援多種語言。Hugging Face Hub上提供了所有十個預先訓練的預訓練存檔模型

Finetune Whisper模型:

FineTune可以讓模型針對特定任務加以強化,由於預訓練模型是使用英文音檔訓練而成,如果要翻譯中文字幕,則需要對中文的語音資料集Finetune,所幸Mozilla資料集裡面有大量的繁體中文與台灣口音的資料,Finetune起來給台灣人專用也不成問題。

關於Finetune 模型的方法,可以在以下網址找到

https://github.com/openai/whisper/discussions/988

訓練資料採用非營利組織Mozilla所提供的大型多語言監督學習資料

https://huggingface.co/datasets/mozilla-foundation/common_voice_11_0

用電腦自行Finetune成功畫面,Finetune完以後便可自動替所有影片產生字幕SRT檔

用電腦自行Finetune成功畫面,Finetune完以後便可自動替所有影片產生字幕SRT檔

心得:

各種基於Transformer邊解碼器的大型語言模型不斷地冒出來,準確率高,對語言的理解能力強,超乎大眾所想像,相較於傳統的人類上字幕,Openai 公開發表的Whisper V2 可以快速準確且全年無休的把字幕檔產生出來,未來對於內容創作者,可以說是一大福音!

引用:

@misc{radford2022whisper,
doi = {10.48550/ARXIV.2212.04356},
url = {https://arxiv.org/abs/2212.04356},
author = {Radford, Alec and Kim, Jong Wook and Xu, Tao and Brockman, Greg and McLeavey, Christine and Sutskever, Ilya},
title = {Robust Speech Recognition via Large-Scale Weak Supervision},
publisher = {arXiv},
year = {2022},
copyright = {arXiv.org perpetual, non-exclusive license}
}

廣告:

本課程早鳥20人已全數招收完畢,感謝支持,不另外招生。

如果你對 AI 充滿熱情,又不想浪費時間,歡迎點擊連結參加免費諮詢,請點擊以下連結預約時間,跟我聊聊你對於目前人工智慧的看法,還有其他想法上變得交流。請準時參加,否則會取消後續參加資格。

 https://calendly.com/universe_ai/free_appointment

92會員
128內容數
帶你用上帝視角,針對市面上具有高度價值的影片/論文/書籍,用東方取象,與西方邏輯辯證的角度同時出發,跟著我一起來探討宇宙萬事萬物的本質,隨時隨地都可以來一場說走就走的思維旅行。作者在台積電 / 聯發科等科技產業有累計10年的資歷,近期對於人工智慧,東方易經,西方辯證邏輯,還有佛法向內求有深度興趣。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
用獎勵品建立自閉症者的學習動機在應用行為分析的重點,有提到〝獎勵品〞的部分。 因此,只要是根據自閉症者的喜愛物品,做最初的獎勵品。 可以自製代幣 不管是用畫的、用蓋印章的,甚至,用魔鬼粘結合,都可以做代幣。 用一對一的方式,以簡單具體的指令為主。 剛開始,可以藉由觀察自閉症者需要訓練的項目,做簡單的評估。 在見到自閉症者需要訓練
avatar
宋雲燕
2023-05-22
用自閉症者的喜愛動漫做媒介,協助自閉症者學社交以基本社交來說,動漫不是沒有。 就以情緒做例子,像是有情緒障礙的自閉症者,因為玩遊戲王的戰鬥怪獸牌,可以用遊戲王動漫,做媒介。 要以自閉症者的障礙為主 像是,這自閉症者對遊戲王怪獸之決鬥第162集的鞭屍羽蛾,印象深刻。 因此,這以這樣引導。 訓練師:來,肯納,我知道你喜歡這劇情橋段,那麼,你知道闇遊
avatar
宋雲燕
2023-05-07
【用AI助攻,3個步驟讓你的個人反思轉化為行動計劃】對於希望建立個人反思習慣的你, 這篇文章將教你如何利用AI輔助進行有效的反思, 並將這些反思轉化為具體的行動計劃! 步驟1 - 一分鐘自言自語,捕捉潛意識:在手機或電腦上開啟語音辨識功能,接著就進行一分鐘的自言自語!不要想太多,就說出你此刻的想法和感受吧!你會發現,這將幫助你探究自己潛意識中的關注點
Thumbnail
avatar
王啟樺
2023-05-04
用三個問題,找到你的自媒體經營之路!我在一開始想經營自媒體的時候,也是摸索了很久,沒有頭緒該如何跨出第一步,想不到能夠分享什麼內容...但在建立兩個平台時發現,我選擇的主題很相似,都是以語錄分享和紀錄生活感悟為主。如果你也有這樣的疑慮,想知道怎麼找到方向的話,不妨問問自己這三個問題...
Thumbnail
avatar
陳拾(10)
2023-03-22
用不到150行python代碼打造專屬你自己的自動化binance自動下單交易程式在這篇文章中,我們將介紹如何使用Python來創建自動化的Binance交易程式。我們將利用Binance API,這是一個允許我們通過程式訪問Binance交易所的接口。這樣,我們就可以在程式中設定交易策略和條件,自動下單交易。 在開始之前,您需要先申請一個Binance交易所帳戶。
Thumbnail
avatar
于正龍(Ricky)
2023-03-01
【OpenAI 應用】ChatGPT 震驚全球!取代人類新聞標題寫手,究竟有多強?在台灣,常常使用含糊不清且引人注目的方式以吸引眼球,這現象在 Wikipedia 的「台灣媒體亂象」一頁也有特別說明。 那麼,ChatGPT能否替代人類新聞標題寫手,並具有多強的能力呢?本文將深入探討。
Thumbnail
avatar
Logan
2023-02-06
【OpenAI 應用】取代 Siri 最智慧的語音助理 ChatGPT本文將介紹如何利用 Siri 與 iOS 捷徑,連接 OpenAI API,製作出一個可以語音對話的 ChatGPT。
Thumbnail
avatar
Logan
2023-02-06
用自閉症者喜歡的動漫元素,做提升社交媒介。一般來說,大部分的動漫,較少有社交元素。 而有的話,不外乎,就是我們這一家。 不只是有活用小單元,也有實用的社交訊息。 突然有事和因病無法行動的時候 主要是,花柚子的麻吉,藤野,原本約好一起去游泳池游泳。結果,因病無法行動。 因此,花油子無可奈何,就和川島一起去。 當然,其中也有小小搞笑的劇情。 見
avatar
宋雲燕
2023-01-28
用OpenAI的ChatGPT聊天機器人寫出投資心法文案最近人工智慧研究實驗室OpenAI推出ChatGPT聊天機器人,討論度很高,非常熱門,大家都在測試這個ChatGPT聊天機器人能做到甚麼樣的事情,包括寫文案、寫程式代碼…等等,ChatGPT似乎表現得都不錯,我也請它來告訴大家投資心法應該做那些方面,大家來看看ChatGPT表現的如何吧。 我:可以跟
Thumbnail
avatar
Afren投資筆記
2023-01-05
試用 OpenAI 新服務 ChatGPT ,雜想 AI 將為創作環境帶來的影響註冊 OpenAI 一陣子了,今天跟風測試了 OpenAI 的新服務 ChatGPT,分享一點個人心得與看法。 ChatGPT 如其名,主打對話與問答,但實際上涵蓋的範圍也包含 coding ,甚至劇本等等的創作領域。輸入簡單的問句後,AI 就會吐給你完整的回答,隨著使用者大量提問,以及AI..
Thumbnail
avatar
翁子騏 David
2022-12-06