Metadata-Version: 2.3
Name: fasr-lid-firered
Version: 0.5.7
Summary: FireRedLID language identification model for fasr
Author: osc
Author-email: osc <790990241@qq.com>
Requires-Dist: fasr
Requires-Dist: torch>=2.0.0
Requires-Dist: numpy>=1.24
Requires-Dist: kaldiio>=2.18.0
Requires-Dist: kaldi-native-fbank>=1.19.0
Requires-Python: >=3.10, <3.13
Description-Content-Type: text/markdown

# fasr-lid-firered

英文文档地址: [README_EN.md](README_EN.md)

FireRedLID 语种识别插件。输入 `Waveform`，返回 `"zh"`、`"en"` 等语言标签。

## 安装

```bash
pip install fasr-lid-firered
```

## 注册模型

| 注册名 | 类 | 适用场景 |
|---|---|---|
| `firered` | `FireRedForLID` | 使用 FireRedLID 做音频语种识别 |

默认 checkpoint 是 `FireRedTeam/FireRedLID`。

## 单独使用

```python
from fasr.config import registry
from fasr.data import Waveform

model = registry.lid_models.get("firered")(
    use_gpu=True,
    use_half=True,
    max_chunk_seconds=60.0,
)

waveform = Waveform.from_file("example.wav")
language = model.identify(waveform)
print(language)
```

## Confection 配置

```toml
[lid_model]
@lid_models = "firered"
use_gpu = true
use_half = false
max_chunk_seconds = 60.0
```

## 参数

| 参数 | 类型 / 范围 | 默认值 | 调高 / 开启时 | 调低 / 关闭时 | 什么时候改 |
|---|---|---|---|---|---|
| `use_gpu` | `bool` | `True` | 使用 CUDA | 使用 CPU | 需要 CPU 部署或 GPU 加速 |
| `use_half` | `bool` | `False` | GPU 上使用 FP16，显存更低 | 使用 FP32，更稳定 | 显存紧张或 FP16 不稳定 |
| `max_chunk_seconds` | `float > 0` | `60.0` | 切块更少，单次内存更高 | 切块更多，单次内存更低 | 长音频 OOM 或吞吐调优 |

## 调参建议

| 现象 | 优先尝试 |
|---|---|
| 长音频 GPU OOM | 把 `max_chunk_seconds` 降到 `20.0` 或 `30.0` |
| GPU 显存紧张 | 设置 `use_half=True` |
| CPU-only 部署 | 设置 `use_gpu=False` |

## 依赖

- `fasr`
- `torch >= 2.0.0`
- `numpy >= 1.24`
- `kaldiio >= 2.18.0`
- `kaldi-native-fbank >= 1.19.0`
- Python 3.10-3.12
