GPA-v1.5 ONNX Runtime使用教程:CLI工具、浏览器UI与语音注册全流程

📅 2026/7/27 15:08:49 👁️ 阅读次数 📝 编程学习
GPA-v1.5 ONNX Runtime使用教程:CLI工具、浏览器UI与语音注册全流程

GPA-v1.5 ONNX Runtime使用教程:CLI工具、浏览器UI与语音注册全流程

【免费下载链接】GPA[AutoArk] GPA (General Purpose Audio) can do ASR, TTS and voice conversion with one tiny model!项目地址: https://gitcode.com/gh_mirrors/gpa5/GPA

GPA(General Purpose Audio)是一款功能强大的通用音频模型,能通过一个轻量级模型实现语音识别(ASR)、文本转语音(TTS)和语音转换(VC)三大功能。本教程将详细介绍如何使用GPA-v1.5的ONNX Runtime,包括CLI工具的基本操作、浏览器UI的使用方法以及语音注册的完整流程,帮助你快速上手这一强大的音频处理工具。

📋 准备工作:下载与环境配置

在开始使用GPA-v1.5 ONNX Runtime之前,需要完成资产下载和环境配置两个关键步骤。

下载运行时资产

首先,从Hugging Face下载ONNX运行时资产包,推荐的目录结构是将资产包放置在与项目同级的路径:GPA-v1.5-HF/GPA-v1.5-onnx-runtime。这样可以避免额外的配置步骤,程序会自动识别资产位置。

如果需要自定义资产路径,可以通过环境变量指定:

export ARK_AUDIO_RUNTIME_ASSET_ROOT=/absolute/path/to/GPA-v1.5-onnx-runtime

下载完成后,确保资产包包含以下关键目录和文件:

  • model/runtime_manifest.json
  • model/reference/default_global_tokens.npy
  • genai_fp16_qwen/model.onnx
  • genai_int4_qwen/model.onnx
  • voice/spark_tokenizer_model/config.yaml
  • voice/spark_tokenizer_model/model.safetensors

环境搭建

推荐使用专用的虚拟环境来运行GPA-v1.5 ONNX Runtime,具体步骤如下:

python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip pip install -r GPA_1.5/onnx_runtime/requirements.runtime.txt

🚀 快速开始:CLI工具使用

CLI工具是使用GPA-v1.5 ONNX Runtime的基础,通过简单的命令即可实现语音合成和识别功能。

语音合成(TTS)

使用int4精度进行语音合成的命令如下:

python GPA_1.5/onnx_runtime/infer_ark_audio_onnx.py \ --runtime-root GPA-v1.5-HF/GPA-v1.5-onnx-runtime \ --task tts \ --tts_text "Hello, this is a short GPA speech synthesis check." \ --tts_out_wav tmp_docs/onnx_smoke/readme_tts_int4_int8.wav \ --main-model-precision int4 \ --decoder-precision int8

如果需要使用已注册的特定语音,可以通过--voice-global-token参数指定语音的token文件:

python GPA_1.5/onnx_runtime/infer_ark_audio_onnx.py \ --runtime-root GPA-v1.5-HF/GPA-v1.5-onnx-runtime \ --task tts \ --tts_text "Hello, this is a short GPA speech synthesis check." \ --tts_out_wav tmp_docs/onnx_smoke/readme_tts_registered_voice.wav \ --voice-global-token GPA_1.5/onnx_runtime/voices/items/default/global_tokens.npy \ --main-model-precision int4 \ --decoder-precision int8

语音识别(ASR)

使用int4精度对音频文件进行语音识别的命令如下:

python GPA_1.5/onnx_runtime/infer_ark_audio_onnx.py \ --runtime-root GPA-v1.5-HF/GPA-v1.5-onnx-runtime \ --task asr \ --asr_audio tmp_docs/onnx_smoke/readme_tts_int4_int8.wav \ --main-model-precision int4

对于性能较强的GPU,可以将精度设置为fp16以获得更高质量的输出。

🌐 浏览器UI:直观交互体验

GPA-v1.5 ONNX Runtime提供了一个基于FastAPI的Web服务,通过浏览器UI可以更直观地进行音频处理操作。

启动Web服务

在终端中执行以下命令启动Web服务:

cd GPA_1.5/onnx_runtime uvicorn service:app --host 127.0.0.1 --port 8024

启动成功后,在浏览器中访问http://127.0.0.1:8024/即可打开UI界面。

UI功能介绍

浏览器UI提供了丰富的功能,包括:

  • 语音合成:输入文本生成语音
  • 语音识别:上传或录制音频进行转录
  • 语音管理:查看和管理已注册的语音
  • 运行监控:查看运行时的内存使用情况

🎙️ 语音注册:自定义你的声音

GPA-v1.5支持语音注册功能,让你可以使用自定义的声音进行语音合成。

准备工作

在进行语音注册前,确保资产包中包含voice/spark_tokenizer_model目录。如果资产位于非默认路径,可以通过环境变量指定:

export ARK_AUDIO_TOKENIZER_MODEL_DIR=/absolute/path/to/spark_tokenizer_model

语音注册流程

  1. 通过UI注册:在浏览器UI中找到语音注册功能,按照提示上传或录制语音样本。
  2. 查找voice_id:注册成功后,在GPA_1.5/onnx_runtime/voices/registry.json文件中查找生成的voice_id
  3. 使用注册语音:通过CLI工具使用已注册的语音,命令如下:
python GPA_1.5/onnx_runtime/infer_ark_audio_onnx.py \ --runtime-root GPA-v1.5-HF/GPA-v1.5-onnx-runtime \ --task tts \ --tts_text "Hello, this is a custom voice." \ --tts_out_wav output_custom_voice.wav \ --voice-global-token GPA_1.5/onnx_runtime/voices/items/<voice_id>/global_tokens.npy \ --main-model-precision int4 \ --decoder-precision int8

🔌 API接口:扩展与集成

GPA-v1.5 ONNX Runtime提供了丰富的API接口,方便进行功能扩展和集成。主要接口包括:

  • UI界面GET /
  • 健康检查GET /api/health
  • 内存监控GET /api/memory
  • 语音管理GET /api/voicesPOST /api/voices/register-pathPOST /api/voices/register-upload
  • 核心推理POST /api/ttsPOST /api/asr
  • OpenAI兼容接口GET /v1/modelsGET /v1/audio/voicesPOST /v1/audio/speechPOST /v1/audio/transcriptions

通过这些接口,可以将GPA-v1.5集成到各种应用场景中,实现更灵活的音频处理功能。

🛠️ 开发者工具:调试与优化

GPA-v1.5 ONNX Runtime提供了一系列开发者工具,帮助进行模型调试和优化:

  • Torch vs ONNX调试compare_torch_onnx_tts.py用于逐步检查PyTorch和ONNX模型的差异。
  • 运行时资产重建build_runtime.py用于刷新资产包。
  • 导出与量化工具scripts/目录下包含各种导出、量化和扫描工具。

⚠️ 注意事项

在使用GPA-v1.5 ONNX Runtime时,需要注意以下几点:

  • UI示例文件:浏览器UI默认查找samples/sample.mp3,如果文件缺失,UI会给出提示。
  • ASR准确性:ONNX CLI/服务的冒烟测试仅检查执行是否成功,不保证转录准确性,可能会有轻微的措辞差异。
  • 语音注册:默认的资产包已包含tokenizer模型资产,仅在需要替换时使用ARK_AUDIO_TOKENIZER_MODEL_DIR环境变量。

通过本教程,你已经了解了GPA-v1.5 ONNX Runtime的基本使用方法,包括CLI工具、浏览器UI和语音注册功能。开始探索这个强大的音频模型,为你的项目添加高效的语音处理能力吧!

要开始使用,请克隆仓库:https://gitcode.com/gh_mirrors/gpa5/GPA

【免费下载链接】GPA[AutoArk] GPA (General Purpose Audio) can do ASR, TTS and voice conversion with one tiny model!项目地址: https://gitcode.com/gh_mirrors/gpa5/GPA

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考