Simple Subtitling:自動生成影視字幕工具
Simple Subtitling是什么?
Simple Subtitling 是一個能自動給影視作品生成字幕的ai工具。它用 WhisperX 技術(shù)把音頻文件變成帶時間戳和說話人 ID 的字幕文件(SRT)。然后通過說話人嵌入提取和聚類來分配說話人ID,并且在有音頻范例時可以分配確切的說話人姓名。具體來說,它先把音頻轉(zhuǎn)成文本,加上時間戳;再提取每個說話者的特征,用凝聚層次聚類(AHC)把特征分組,最后給說話人分配 ID。要是用戶提供了演員的語音樣本,它還能給說話人命名。這個工具就是為了讓字幕生成更簡單,讓影視作品更方便觀看。

Simple Subtitling功能特點(diǎn)
語音識別與時間戳生成:使用 WhisperX 技術(shù),能夠逐字逐句精準(zhǔn)識別音頻內(nèi)容,并生成帶時間戳的語音文本。
說話人識別:通過提取句子級別的說話人嵌入,并應(yīng)用凝聚層次聚類(AHC)對嵌入進(jìn)行分組,從而分配說話人 ID。
支持多語言:支持多種語言的音頻輸入,并可生成對應(yīng)的字幕。
自定義設(shè)置:用戶可以指定音頻樣本目錄,為說話人分配確切名稱。
高精度語音識別和聚類:實(shí)現(xiàn)高精度的語音識別和聚類,準(zhǔn)確地將語音轉(zhuǎn)換為文字,并對不同說話人的語音進(jìn)行分類,提高字幕的準(zhǔn)確和可讀性。
Simple Subtitling安裝及使用方法
安裝步驟
創(chuàng)建并激活一個名為simplesub的conda環(huán)境,指定Python版本為3.11。
在該環(huán)境下安裝項目所需的Python包,通過pip install -r requirements.txt命令完成。
還需要安裝ffmpeg,具體安裝方法可參考相關(guān)文檔。
使用方法
基本用法
運(yùn)行python main.py --input_file [INPUT_FILE_PATH] --output_file [OUTPUT_SRT_PATH],例如python main.py --input_file data/friends.wav --output_file result/friends.srt,這將根據(jù)輸入的音頻文件生成字幕文件。
使用音頻范例指定說話人姓名
首先按照特定結(jié)構(gòu)組織--exemplar_dir目錄,每個子文件夾代表一個說話人,里面包含該說話人的音頻樣本。
然后運(yùn)行python main.py --input_file [INPUT_FILE_PATH] --output_file [OUTPUT_SRT_PATH] --exemplar_dir [PATH_OF_EXEMPLARS],例如python main.py --input_file data/friends.wav --output_file result/friends_exemplars.srt --exemplars exemplars。
參數(shù)說明
input_file:輸入音頻文件的路徑。
output_file:輸出字幕文件(SRT格式)的路徑。
whisper_model_type:Whisper模型的類型,默認(rèn)為'medium',可以在相關(guān)文檔中查看可選類型。
language:語言代碼(兩個字母,如英語為'en'),如果為None,Whisper會在前30秒檢測語言,默認(rèn)為None。
embedding_model:說話人嵌入提取器,可選'ecapatdnn'或'wespeaker',默認(rèn)為'wespeaker'。
n_cluster:如果已知說話人數(shù)量,可以指定該參數(shù),默認(rèn)為None。
distance_threshold:如果n_cluster未指定,這是AHC(凝聚層次聚類)的距離閾值,默認(rèn)為0.8。
exemplar_dir:包含音頻范例的目錄路徑,默認(rèn)為None。
exemplar_threshold:用于決定“未知”說話人的余弦相似度閾值,默認(rèn)為0.2。
Github:https://github.com/JaesungHuh/simple-subtitling
提交您的產(chǎn)品
Ai應(yīng)用
Ai資訊
AI生圖
AI生視頻
開源AI應(yīng)用平臺










