Indic Seamless
基於SeamlessM4T-v2微調的印度語言語音轉文字翻譯模型,支持13種印度語言,性能超越基礎模型及競爭系統。
下載量 917
發布時間 : 3/4/2025
模型概述
該模型專用於印度語言的語音轉文字翻譯(STT),在BhasaAnuvaad數據集上微調而成,在Fleurs數據集上創下新紀錄。
模型特點
多語言支持
支持13種印度語言,覆蓋主要印度語系。
高性能
在Fleurs數據集上創下新紀錄,並在BhasaAnuvaad測試集上顯著優於其他系統。
嚴格數據篩選
訓練前對數據集進行了對齊分數(0.8)和挖掘分數(0.6)的閾值過濾。
模型能力
語音轉文字翻譯
多語言語音識別
批量音頻處理
使用案例
語音轉錄
單音頻轉錄
將單個音頻文件轉錄為指定印度語言的文字
準確率高於基礎模型和競爭系統
批量處理
數據集批量轉錄
對Fleurs等語音數據集進行批量轉錄處理
支持批量處理,效率高
🚀 IndicSeamless語音轉文本翻譯模型
IndicSeamless是一個用於印度語言語音轉文本翻譯的模型,它基於SeamlessM4T - v2在特定數據集上微調而來,在性能上超越了基礎模型和其他競爭系統。
🚀 快速開始
安裝
確保你已經安裝了所需的依賴項:
pip install torch torchaudio transformers datasets
加載模型
import torchaudio
from transformers import SeamlessM4Tv2ForSpeechToText
from transformers import SeamlessM4TTokenizer, SeamlessM4TFeatureExtractor
model = SeamlessM4Tv2ForSpeechToText.from_pretrained("ai4bharat/indic-seamless").to("cuda")
processor = SeamlessM4TFeatureExtractor.from_pretrained("ai4bharat/indic-seamless")
tokenizer = SeamlessM4TTokenizer.from_pretrained("ai4bharat/indic-seamless")
單音頻推理
audio, orig_freq = torchaudio.load("../10002398547238927970.wav")
audio = torchaudio.functional.resample(audio, orig_freq=orig_freq, new_freq=16_000) # must be a 16 kHz waveform array
audio_inputs = processor(audio, sampling_rate=16_000, return_tensors="pt").to("cuda")
text_out = model.generate(**audio_inputs, tgt_lang="hin")[0].cpu().numpy().squeeze()
print(tokenizer.decode(text_out, clean_up_tokenization_spaces=True, skip_special_tokens=True))
在Fleurs數據集上推理
from datasets import load_dataset
dataset = load_dataset("google/fleurs", "hi_in", split="test")
def process_audio(example):
audio = example["audio"]["array"]
audio_inputs = processor(audio, sampling_rate=16_000, return_tensors="pt").to("cuda")
text_out = model.generate(**audio_inputs, tgt_lang="hin")[0].cpu().numpy().squeeze()
return {"predicted_text": tokenizer.decode(text_out, clean_up_tokenization_spaces=True, skip_special_tokens=True)}
dataset = dataset.map(process_audio)
dataset = dataset.remove_columns(["audio"])
dataset.to_csv("fleurs_hi_predictions.csv")
使用Fleurs進行批量翻譯
from datasets import load_dataset
import torch
def process_batch(batch):
audio_arrays = [audio["array"] for audio in batch["audio"]]
audio_inputs = processor(audio_arrays, sampling_rate=16_000, return_tensors="pt", padding=True).to("cuda")
text_outs = model.generate(**audio_inputs, tgt_lang="hin")
batch["predicted_text"] = [tokenizer.decode(text_out.cpu().numpy().squeeze(), clean_up_tokenization_spaces=True, skip_special_tokens=True) for text_out in text_outs]
return batch
def batch_translate(language_code="hi_in", tgt_lang="hin"):
dataset = load_dataset("google/fleurs", language_code, split="test")
dataset = dataset.map(process_batch, batched=True, batch_size=8)
return dataset["predicted_text"]
# Example usage
target_language = "hi_in"
translations = batch_translate(target_language, tgt_lang="hin")
print(translations)
✨ 主要特性
- 性能卓越:該模型在性能上超越了基礎的SeamlessM4Tv2模型以及所有競爭的語音轉文本系統,包括級聯方法。
- 創造新紀錄:在Fleurs數據集上取得了新的最優成績,並在BhasaAnuvaad測試集上顯著超越了所有其他系統,該測試集包含來自新領域的多樣化數據。
📦 安裝指南
確保你已經安裝了所需的依賴項:
pip install torch torchaudio transformers datasets
💻 使用示例
基礎用法
import torchaudio
from transformers import SeamlessM4Tv2ForSpeechToText
from transformers import SeamlessM4TTokenizer, SeamlessM4TFeatureExtractor
model = SeamlessM4Tv2ForSpeechToText.from_pretrained("ai4bharat/indic-seamless").to("cuda")
processor = SeamlessM4TFeatureExtractor.from_pretrained("ai4bharat/indic-seamless")
tokenizer = SeamlessM4TTokenizer.from_pretrained("ai4bharat/indic-seamless")
audio, orig_freq = torchaudio.load("../10002398547238927970.wav")
audio = torchaudio.functional.resample(audio, orig_freq=orig_freq, new_freq=16_000) # must be a 16 kHz waveform array
audio_inputs = processor(audio, sampling_rate=16_000, return_tensors="pt").to("cuda")
text_out = model.generate(**audio_inputs, tgt_lang="hin")[0].cpu().numpy().squeeze()
print(tokenizer.decode(text_out, clean_up_tokenization_spaces=True, skip_special_tokens=True))
高級用法
在Fleurs數據集上推理
from datasets import load_dataset
dataset = load_dataset("google/fleurs", "hi_in", split="test")
def process_audio(example):
audio = example["audio"]["array"]
audio_inputs = processor(audio, sampling_rate=16_000, return_tensors="pt").to("cuda")
text_out = model.generate(**audio_inputs, tgt_lang="hin")[0].cpu().numpy().squeeze()
return {"predicted_text": tokenizer.decode(text_out, clean_up_tokenization_spaces=True, skip_special_tokens=True)}
dataset = dataset.map(process_audio)
dataset = dataset.remove_columns(["audio"])
dataset.to_csv("fleurs_hi_predictions.csv")
使用Fleurs進行批量翻譯
from datasets import load_dataset
import torch
def process_batch(batch):
audio_arrays = [audio["array"] for audio in batch["audio"]]
audio_inputs = processor(audio_arrays, sampling_rate=16_000, return_tensors="pt", padding=True).to("cuda")
text_outs = model.generate(**audio_inputs, tgt_lang="hin")
batch["predicted_text"] = [tokenizer.decode(text_out.cpu().numpy().squeeze(), clean_up_tokenization_spaces=True, skip_special_tokens=True) for text_out in text_outs]
return batch
def batch_translate(language_code="hi_in", tgt_lang="hin"):
dataset = load_dataset("google/fleurs", language_code, split="test")
dataset = dataset.map(process_batch, batched=True, batch_size=8)
return dataset["predicted_text"]
# Example usage
target_language = "hi_in"
translations = batch_translate(target_language, tgt_lang="hin")
print(translations)
📚 詳細文檔
本倉庫託管了IndicSeamless模型,它是基於SeamlessM4T - v2在BhasaAnuvaad數據集上進行微調的,用於跨印度語言的語音轉文本翻譯(STT)。在訓練前,數據集使用以下閾值進行了過濾:
- 對齊分數:0.8
- 挖掘分數:0.6
🔧 技術細節
該模型基於SeamlessM4T - v2進行微調,在BhasaAnuvaad數據集上進行訓練。訓練前對數據集進行了過濾,設置了對齊分數和挖掘分數的閾值,以保證數據質量。在性能上,它超越了基礎的SeamlessM4Tv2模型以及所有競爭的語音轉文本系統,在Fleurs和BhasaAnuvaad測試集上取得了優異的成績。
📄 許可證
本模型根據知識共享署名 - 非商業性使用 4.0 國際許可協議(CC BY - NC 4.0)發佈。
📄 引用
如果你在工作中使用了BhasaAnuvaad,請引用我們:
@misc{jain2024bhasaanuvaadspeechtranslationdataset,
title={BhasaAnuvaad: A Speech Translation Dataset for 13 Indian Languages},
author={Sparsh Jain and Ashwin Sankar and Devilal Choudhary and Dhairya Suman and Nikhil Narasimhan and Mohammed Safi Ur Rahman Khan and Anoop Kunchukuttan and Mitesh M Khapra and Raj Dabre},
year={2024},
eprint={2411.04699},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2411.04699},
}
📋 模型信息
屬性 | 詳情 |
---|---|
庫名稱 | transformers |
數據集 | ai4bharat/NPTEL、ai4bharat/IndicVoices - ST、ai4bharat/WordProject、ai4bharat/Spoken - Tutorial、ai4bharat/Mann - ki - Baat、ai4bharat/Vanipedia、ai4bharat/UGCE - Resources |
任務類型 | 自動語音識別 |
支持語言 | 英語、阿薩姆語、孟加拉語、古吉拉特語、印地語、泰米爾語、泰盧固語、烏爾都語、卡納達語、馬拉雅拉姆語、馬拉地語、信德語、尼泊爾語 |
許可證 | 知識共享署名 - 非商業性使用 4.0 國際許可協議(CC BY - NC 4.0) |
Voice Activity Detection
MIT
基於pyannote.audio 2.1版本的語音活動檢測模型,用於識別音頻中的語音活動時間段
語音識別
V
pyannote
7.7M
181
Wav2vec2 Large Xlsr 53 Portuguese
Apache-2.0
這是一個針對葡萄牙語語音識別任務微調的XLSR-53大模型,基於Common Voice 6.1數據集訓練,支持葡萄牙語語音轉文本。
語音識別 其他
W
jonatasgrosman
4.9M
32
Whisper Large V3
Apache-2.0
Whisper是由OpenAI提出的先進自動語音識別(ASR)和語音翻譯模型,在超過500萬小時的標註數據上訓練,具有強大的跨數據集和跨領域泛化能力。
語音識別 支持多種語言
W
openai
4.6M
4,321
Whisper Large V3 Turbo
MIT
Whisper是由OpenAI開發的最先進的自動語音識別(ASR)和語音翻譯模型,經過超過500萬小時標記數據的訓練,在零樣本設置下展現出強大的泛化能力。
語音識別
Transformers 支持多種語言

W
openai
4.0M
2,317
Wav2vec2 Large Xlsr 53 Russian
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53模型微調的俄語語音識別模型,支持16kHz採樣率的語音輸入
語音識別 其他
W
jonatasgrosman
3.9M
54
Wav2vec2 Large Xlsr 53 Chinese Zh Cn
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53模型微調的中文語音識別模型,支持16kHz採樣率的語音輸入。
語音識別 中文
W
jonatasgrosman
3.8M
110
Wav2vec2 Large Xlsr 53 Dutch
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53微調的荷蘭語語音識別模型,在Common Voice和CSS10數據集上訓練,支持16kHz音頻輸入。
語音識別 其他
W
jonatasgrosman
3.0M
12
Wav2vec2 Large Xlsr 53 Japanese
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53模型微調的日語語音識別模型,支持16kHz採樣率的語音輸入
語音識別 日語
W
jonatasgrosman
2.9M
33
Mms 300m 1130 Forced Aligner
基於Hugging Face預訓練模型的文本與音頻強制對齊工具,支持多種語言,內存效率高
語音識別
Transformers 支持多種語言

M
MahmoudAshraf
2.5M
50
Wav2vec2 Large Xlsr 53 Arabic
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53微調的阿拉伯語語音識別模型,在Common Voice和阿拉伯語語音語料庫上訓練
語音識別 阿拉伯語
W
jonatasgrosman
2.3M
37
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98