Metadata-Version: 2.4
Name: minicpmo-utils
Version: 1.0.2
Summary: Unified utilities package for MiniCPM-o: includes cosyvoice + stepaudio2 and extensible utils.
Author: MiniCPM-o Utils Maintainers
License: Apache-2.0
Keywords: minicpmo,audio,tts,utils,cosyvoice,stepaudio2
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: pillow==10.4.0
Requires-Dist: librosa==0.9.0
Requires-Dist: decord==0.6.0
Requires-Dist: moviepy==2.1.2
Requires-Dist: numba==0.61.2
Provides-Extra: tts
Requires-Dist: torch>=2.3.0; extra == "tts"
Requires-Dist: torchaudio>=2.3.0; extra == "tts"
Requires-Dist: transformers<4.53.0,>=4.51.0; extra == "tts"
Requires-Dist: onnxruntime<=1.21.0,>=1.18.0; extra == "tts"
Requires-Dist: onnx; extra == "tts"
Requires-Dist: hyperpyyaml; extra == "tts"
Requires-Dist: openai-whisper==20231117; extra == "tts"
Requires-Dist: tqdm; extra == "tts"
Requires-Dist: tiktoken; extra == "tts"
Requires-Dist: inflect; extra == "tts"
Requires-Dist: omegaconf>=2.0.6; extra == "tts"
Requires-Dist: conformer==0.3.2; extra == "tts"
Requires-Dist: einops==0.8.1; extra == "tts"
Requires-Dist: hydra-core; extra == "tts"
Requires-Dist: lightning==2.2.4; extra == "tts"
Requires-Dist: rich; extra == "tts"
Requires-Dist: gdown==5.2.0; extra == "tts"
Requires-Dist: matplotlib; extra == "tts"
Requires-Dist: wget; extra == "tts"
Requires-Dist: pyarrow; extra == "tts"
Requires-Dist: pyworld; extra == "tts"
Requires-Dist: scipy; extra == "tts"
Requires-Dist: pyyaml; extra == "tts"
Requires-Dist: regex; extra == "tts"
Requires-Dist: soundfile==0.12.1; extra == "tts"
Requires-Dist: diffusers==0.29.0; extra == "tts"
Provides-Extra: streaming
Requires-Dist: minicpmo-utils[tts]; extra == "streaming"
Provides-Extra: streaming-flash
Requires-Dist: minicpmo-utils[streaming]; extra == "streaming-flash"
Requires-Dist: flash-attn>=2.6.0; sys_platform == "linux" and extra == "streaming-flash"
Requires-Dist: triton>=2.3.0; sys_platform == "linux" and extra == "streaming-flash"
Requires-Dist: safetensors; extra == "streaming-flash"
Requires-Dist: pynvml; extra == "streaming-flash"
Requires-Dist: xxhash; extra == "streaming-flash"
Provides-Extra: gpu
Requires-Dist: onnxruntime-gpu<=1.23.2,>=1.18.0; sys_platform == "linux" and extra == "gpu"
Provides-Extra: all
Requires-Dist: minicpmo-utils[gpu,streaming,tts]; extra == "all"

## minicpmo-utils

一个统一安装的工具包（一个 PyPI 分发包），把仓库里的 `cosyvoice` 与 `stepaudio2` 一起打进同一个 wheel，并预留 `minicpmo` 作为后续扩展 utils 的统一入口。

### 安装方式

- 从源码本地安装（开发态，可编辑，默认只装公共依赖）：
```bash
cd minicpmo-utils
pip install -e .
```

- 如果只想安装 cosyvoice 相关依赖（TTS）：
```bash
pip install -e .[tts]
```

- 如果只想安装 stepaudio2 / streaming 相关依赖：
```bash
pip install -e .[streaming]
```

- 同时安装 cosyvoice + stepaudio2 相关依赖：
```bash
pip install -e .[tts,streaming]
```

- 构建并安装 wheel（推荐分发）：
```bash
cd minicpmo-utils
python -m build        # 生成 dist/*.whl
pip install \"dist/minicpmo_utils-0.1.0-py3-none-any.whl[tts,streaming]\"
```

### 导入方式

包会暴露以下顶层模块，安装后可直接使用：
- `import cosyvoice`
- `import stepaudio2`
- `import matcha`
- `import minicpmo`

也支持通过统一入口导入子包：
```python
from minicpmo import cosyvoice, stepaudio2, matcha
```

以及通过统一的 utils 入口使用通用工具函数，例如：

```python
from minicpmo.utils import get_video_frame_audio_segments
```

