| 特性 | 說明 |
|---|---|
| 🚀 並行載入 | 多線程並行載入模型,大幅縮短初始化時間 |
| 🎯 VAD 優化 | 智能語音活動檢測,精準分段識別 |
| 📝 標點恢復 | 自動添加標點符號,輸出更自然 |
| 🔄 簡繁轉換 | 內建簡繁體轉換,一鍵輸出繁體中文 |
| 🎙️ 串流辨識 | 支援即時串流辨識,低延遲場景適用 |
| 🔌 IPC 服務器 | 內建 stdin/stdout 服務器,輕鬆整合 Electron 等應用 |
# 基本安裝
pip install hanzi-asr
# 包含簡繁轉換支援
pip install hanzi-asr[traditional]
# 完整安裝(含開發工具)
pip install hanzi-asr[all]from hanzi_asr import create_engine
# 創建引擎
asr = create_engine()
# 初始化(並行載入模型)
asr.initialize()
# 轉錄音頻
result = asr.transcribe("audio.wav")
print(result["text"])from hanzi_asr import create_engine
# 啟用繁體轉換
asr = create_engine(convert_traditional=True)
asr.initialize()
result = asr.transcribe("audio.wav")
print(result["text"]) # 繁體中文輸出from hanzi_asr import create_engine
import numpy as np
asr = create_engine()
asr.initialize()
# 開始串流
asr.streaming_start()
# 餵入音頻數據(模擬)
for chunk in audio_chunks:
result = asr.streaming_feed(chunk)
print(f"即時結果: {result['partial_text']}")
# 結束並獲取最終結果
final = asr.streaming_end()
print(f"最終結果: {final['text']}")# 啟動服務器(輸出繁體)
hanzi-asr-server --traditional
# 或在 Python 中
python -m hanzi_asr.server --traditional服務器通過 stdin/stdout 進行 JSON 通信:
// 輸入
{"action": "transcribe", "audio_path": "/path/to/audio.wav"}
// 輸出
{"success": true, "text": "識別結果", "duration": 5.2, "rtf": 0.15}from hanzi_asr import HanziASR
asr = HanziASR(
device="cpu", # 運算設備: "cpu" 或 "cuda"
ncpu=4, # CPU 線程數
use_vad=True, # 啟用 VAD 語音活動檢測
use_punc=True, # 啟用標點恢復
convert_traditional=False, # 簡繁轉換
model_revision="v2.0.4", # FunASR 模型版本
)在 4 核 CPU 上的測試結果:
| 指標 | 數值 |
|---|---|
| 模型載入時間 | ~15 秒(並行載入) |
| RTF (Real-Time Factor) | ~0.4 |
| 記憶體使用 | ~2GB |
Hanzi-ASR 最初是 聲聲慢 項目的 ASR 核心,現已抽離為獨立項目,方便其他開發者使用。
聲聲慢是一個開源免費的語音輸入工具,Hanzi-ASR 為其提供高質量的中文語音識別能力。
Apache License 2.0
- FunASR - 阿里巴巴開源的工業級語音識別工具包
- ModelScope - 模型託管平台