Metadata-Version: 2.4
Name: fasr-enhancement-gtcrn
Version: 0.5.8
Summary: GTCRN audio enhancement model for fasr
Author-email: fasr <790990241@qq.com>
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/markdown
Requires-Dist: fasr
Requires-Dist: numpy>=1.24
Requires-Dist: librosa>=0.11.0
Requires-Dist: onnxruntime>=1.17.0

# fasr-enhancement-gtcrn

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

GTCRN 音频增强插件。第一版内置官方 `gtcrn_simple.onnx`，并通过
`EnhancementModel.enhance()` 提供离线整段音频增强能力。

## 安装

```bash
pip install fasr-enhancement-gtcrn
```

## 注册模型

| 注册名 | 类 | 适用场景 |
|---|---|---|
| `gtcrn` | `GTCRNEnhancement` | 轻量级 CPU 降噪 |

## 使用方式

```python
from fasr.data import Waveform
from fasr_enhancement_gtcrn import GTCRNEnhancement

model = GTCRNEnhancement(sample_rate=16000)
enhanced = model.enhance(Waveform(data=audio, sample_rate=16000))
```

## Confection 配置

```toml
[enhancement_model]
@enhancement_models = "gtcrn"
sample_rate = 16000
providers = ["CPUExecutionProvider"]
intra_op_num_threads = 1
inter_op_num_threads = 1
```

## 参数

| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| `sample_rate` | `int` | `16000` | 输出采样率 |
| `model_path` | `str \| None` | `None` | 可选自定义 ONNX 模型路径，默认使用内置模型 |
| `providers` | `list[str]` | `["CPUExecutionProvider"]` | ONNX Runtime 推理 provider |
| `intra_op_num_threads` | `int >= 1` | `1` | 显式设置 ORT intra-op 线程数，服务端推荐开启以避免默认绑核告警 |
| `inter_op_num_threads` | `int >= 1` | `1` | 显式设置 ORT inter-op 线程数，服务端推荐开启以避免默认绑核告警 |
| `n_fft` | `int` | `512` | STFT FFT 大小 |
| `hop_length` | `int` | `256` | STFT hop 长度 |
| `win_length` | `int` | `512` | STFT window 长度 |

## Realtime 状态

当前版本同时支持离线 `enhance()` 和流式 `push_chunk()`。流式路径复用了官方
streaming ONNX 的逐帧推理逻辑，并优先保证与离线输出的数值一致性。当前实现
通过 `istft` 重建新产生的尾部音频，稳定且容易验证，但在 CPU 开销上还不是最
终极的高性能包装方式。
