🚀 克里奧爾語微調版Whisper Medium模型
本模型是基於openai/whisper-medium在克里奧爾語文本語音數據集上進行微調的版本。其主要目標是創建一個準確率達99%的海地克里奧爾語語音轉文字模型,能夠轉錄不同口音、地區和說話風格的海地語音。
🚀 快速開始
本模型可用於多種場景的海地克里奧爾語語音轉錄,如語音筆記、廣播節目、訪談等,還能為語音助手、轉錄服務等提供支持。
✨ 主要特性
- 架構:Whisper Medium
- 微調語言:海地克里奧爾語(Kreyòl Ayisyen)
- 詞彙表:基於拉丁字母(克里奧爾語正字法),保留變音符號和語言細微差別。
- 語音類型:使用女性合成語音製作。
- 採樣率:16kHz
- 訓練目標:最大化日常克里奧爾語語音的轉錄準確率
📦 安裝指南
文檔未提及安裝步驟,可參考Hugging Face平臺上關於transformers
庫的安裝說明。
💻 使用示例
基礎用法
from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq
import librosa
import numpy as np
import torch
processor = AutoProcessor.from_pretrained("jsbeaudry/whisper-medium-oswald")
model = AutoModelForSpeechSeq2Seq.from_pretrained("jsbeaudry/whisper-medium-oswald")
def transcript (audio_file_path):
speech_array, sampling_rate = librosa.load(audio_file_path, sr=16000)
speech_array_pt = torch.from_numpy(speech_array).unsqueeze(0)
input_features = processor(speech_array, sampling_rate=sampling_rate, return_tensors="pt").input_features
predicted_ids = model.generate(input_features)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
return transcription
text = transcript("/path_audio")
print(text)
高級用法
from transformers import pipeline
import gradio as gr
print("Loading model...")
pipe = pipeline(model="jsbeaudry/whisper-medium-oswald")
print("Model loaded successfully.")
def transcribe(audio_path):
if audio_path is None:
return "Please upload or record an audio file first."
result = pipe(audio_path)
return result["text"]
def create_interface():
with gr.Blocks(title="Whisper Medium - Haitian Creole") as demo:
gr.Markdown("# 🎙️ Whisper Medium Creole ASR")
gr.Markdown(
"Upload an audio file or record your voice in Haitian Creole. "
"Then click **Transcribe** to see the result."
)
with gr.Row():
with gr.Column():
audio_input = gr.Audio(source="upload", type="filepath", label="🎧 Upload Audio")
audio_input2 = gr.Audio(source="microphone", type="filepath", label="🎤 Record Audio")
with gr.Column():
transcribe_button = gr.Button("🔍 Transcribe")
output_text = gr.Textbox(label="📝 Transcribed Text", lines=4)
transcribe_button.click(fn=transcribe, inputs=audio_input, outputs=output_text)
transcribe_button.click(fn=transcribe, inputs=audio_input2, outputs=output_text)
return demo
if __name__ == "__main__":
interface = create_interface()
interface.launch()
📚 詳細文檔
預期用途
- 轉錄海地克里奧爾語語音:可用於語音筆記、廣播節目、訪談、公開演講、教育內容、合成語音等。
- 啟用克里奧爾語語音接口:可應用於語音助手、轉錄服務、語言學習工具、聊天機器人和無障礙平臺等。
侷限性
- 可能存在困難的情況:
- 大量代碼切換的語音(克里奧爾語 + 法語/英語混合)
- 音頻質量極差(如背景噪音大)
- 某些方言中語速極快或含糊不清的語音
- 長時間的音頻文件
- 未針對低資源設備進行即時轉錄優化
- 在特定數據集上進行微調,可能對完全未見的語音類型或罕見口音的泛化能力較差
訓練和評估數據
該模型在克里奧爾語文本語音數據集上進行訓練,該數據集包括:
- 5小時的海地克里奧爾語合成語音
- 按照標準克里奧爾語正字法標註的、時間對齊的文本轉錄
下一步數據來源
- 公共領域的廣播和播客存檔
- 開放訪問的訪談和口語音頻
- 社區提交的語音樣本
預處理步驟
- 語音活動檢測(VAD)
- 噪聲過濾和音頻歸一化
- 手動轉錄審核和修正
訓練超參數
- 學習率:1e-05
- 訓練批次大小:16
- 評估批次大小:8
- 隨機種子:42
- 優化器:使用OptimizerNames.ADAMW_TORCH,β值為(0.9, 0.999),ε值為1e-08,無額外優化器參數
- 學習率調度器類型:線性
- 學習率調度器熱身步數:500
- 訓練輪數:5
- 混合精度訓練:原生自動混合精度(Native AMP)
框架版本
- Transformers 4.46.1
- Pytorch 2.6.0+cu124
- Datasets 3.5.0
- Tokenizers 0.20.3
🔧 技術細節
本模型基於OpenAI的Whisper架構,通過遷移學習和在高質量的海地克里奧爾語音頻 - 文本對數據集上進行微調,使其適應海地克里奧爾語。在訓練過程中,使用了特定的超參數和優化器,以最大化日常克里奧爾語語音的轉錄準確率。
📄 許可證
本模型使用Apache 2.0許可證。
📌 引用
如果您使用此模型,請引用:
@misc{whispermediumcreoleoswald2025,
title={Whisper Medium Creole - Oswald},
author={Jean sauvenel beaudry},
year={2025},
howpublished={\url{https://huggingface.co/solvexalab/whisper-medium-creole-oswald}}
}