logo
0
0
WeChat Login

VoxCPM2 TTS - Android 语音合成 App

基于 OpenAI 兼容的 /v1/audio/speech 接口的 Android 语音合成应用,支持文本转语音和参考音色克隆。

功能

  • 文本转语音:输入文字,一键生成语音(推荐)
  • 音色克隆:上传参考音频或录制音频,克隆音色生成语音(生成的音频可能会有乱码)
  • 多格式输出:支持 WAV / MP3 / FLAC / OGG 格式
  • 允许 HTTP:支持明文 HTTP 连接,适用于内网/自部署服务器
  • 即时播放:生成完成后自动播放,支持重复播放和保存

前置要求

  • Android 8.0 (API 26) 及以上
  • 可访问的 VoxCPM2 vllm_omni API 地址

下载安装

直接下载 VoxCPM2-TTS.apk 安装即可。

或使用 Android Studio 打开项目目录自行编译安装。

使用

1. 配置 API 地址

打开 App → 点击右上角齿轮图标进入设置页:

  • API 地址:填写 vllm_omni 服务地址,如 http://192.168.1.100:8000
  • API Key:如果服务器需要认证,填写 API Key;否则保持默认
  • 模型名称:默认 voxcpm2
  • 输出格式:WAV / MP3 / FLAC / OGG

2. 文本转语音

在主页输入框中输入文字 → 点击「生成语音」→ 自动播放

3. 音色克隆

  • 上传参考音频:点击「上传音频」选择本地音频文件
  • 录制参考音频:点击「录制音频」现场录制参考音频
  • 上传或录制后,点击「生成语音」即可使用参考音色合成

4. 保存结果

生成后点击保存图标,音频文件保存到 /Android/data/com.voxcpm.tts/files/Music/VoxCPM2/

服务器部署

如需自行部署 vllm_omni 服务器:

python -m vllm_omni.entrypoints.openai.api_server \
    --model openbmb/VoxCPM2 \
    --stage-configs-path vllm_omni/model_executor/stage_configs/voxcpm2.yaml \
    --host 0.0.0.0 --port 8000

使用 curl 测试接口:

curl -X POST http://localhost:8000/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{"model": "voxcpm2", "input": "Hello, this is VoxCPM2.", "voice": "default"}' \
  --output output.wav

项目结构

app/
├── VoxCPM2-TTS.apk                 # 预编译 APK 安装包
├── build.gradle                        # 项目构建配置
├── settings.gradle                     # 项目设置
├── gradle.properties                   # Gradle 属性
├── gradlew / gradlew.bat              # Gradle Wrapper
├── gradle/wrapper/                     # Wrapper 配置
└── app/
    ├── build.gradle                    # 模块构建配置(OkHttp + Gson)
    ├── proguard-rules.pro              # 混淆规则
    └── src/main/
        ├── AndroidManifest.xml         # 清单文件
        ├── java/com/voxcpm/tts/
        │   ├── AppApplication.java     # Application 类
        │   ├── Constants.java          # 常量定义
        │   ├── TTSApi.java             # /v1/audio/speech API 客户端
        │   ├── AudioPlayer.java        # 音频播放器
        │   ├── MainActivity.java       # 主界面
        │   └── SettingsActivity.java   # 设置界面
        └── res/                        # 资源文件(布局、图标、样式等)

注意事项

  1. 参考音频兼容性:通过上传参考音频或录制音频进行音色克隆时,生成的音频可能会出现乱码,建议优先使用纯文本转语音功能。
  2. API 获取:需要 API 的用户可加入 QQ 群 321776831 并联系群主获取。

相关链接

About

No description, topics, or website provided.
Language
Java100%