360 Secure SkillHub
360 安全技能中心

iFlytek Ultra-Realistic TTS

这是调用科大讯飞超拟人语音合成API的Python工具,能生成带自然呼吸、情感的语音,拥有50+可选音色(含中英、方言),可调节语速、音量、音调,支持mp3/pcm等多种输出格式。适用于文本转语音、制作音频旁白、创作语音内容等场景。输入支持直接文本、本地文件、标准输入,输出可指定文件。需先在讯飞控制台开通服务并配置环境变量,无额外pip依赖。

jpengcheng523-netizen
jpengcheng523-netizen
热度 56.34
最近更新 2026-05-11 17:35:43
分类:创作依赖:第三方 API / 代码执行

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add xfyun-tts
Metadata
name
xfyun-tts
description
iFlytek Ultra-Realistic TTS (超拟人语音合成) — synthesize natural, expressive speech from text using iFlytek's ultra-realistic voice synthesis API. Supports 50+ voices (male/female/child, Chinese/English/dialect), adjustable speed/volume/pitch, mp3/pcm/opus output. Use when the user wants to convert text to speech, generate audio narration, or create voice content. Pure Python stdlib, no pip dependencies.

xfyun-tts

Synthesize natural, expressive speech from text using iFlytek's Ultra-Realistic Voice Synthesis (超拟人语音合成) WebSocket API. Features human-like breathing, pauses, and emotional expression across 50+ voices.

Setup

  1. Create an app at 讯飞控制台 with 超拟人语音合成 service enabled
  2. Enable the desired voice(s) in the console (default: x5_lingyuzhao_flow / 聆玉昭)
  3. Set environment variables:
    export XFYUN_APP_ID="your_app_id"
    export XFYUN_API_KEY="your_api_key"
    export XFYUN_API_SECRET="your_api_secret"
    

Usage

Basic synthesis

python3 scripts/tts.py "你好,欢迎使用科大讯飞语音合成。"
# → saves to output.mp3

Specify output file

python3 scripts/tts.py "Hello, this is a test." --output hello.mp3

Use a different voice

python3 scripts/tts.py "大家好" --voice x6_lingfeiyi_pro --output greeting.mp3

Read from file

python3 scripts/tts.py --file article.txt --output article.mp3

Pipe from stdin

echo "流式文本输入测试" | python3 scripts/tts.py --output speech.mp3

Adjust parameters

python3 scripts/tts.py "语速快一点" --speed 70 --volume 80 --pitch 60

Output PCM format

python3 scripts/tts.py "测试" --format pcm --sample-rate 16000 --output test.pcm

List all available voices

python3 scripts/tts.py --list-voices

Options

Flag Short Default Description
text Text to synthesize (positional)
--file -f Read text from a file
--output -o output.mp3 Output audio file path
--voice -v x5_lingyuzhao_flow Voice name (vcn)
--format mp3 Audio format: mp3, pcm, speex, opus
--sample-rate 24000 Sample rate: 8000, 16000, 24000
--speed 50 Speed 0–100 (50=normal, 100=2x)
--volume 50 Volume 0–100 (50=normal)
--pitch 50 Pitch 0–100 (50=normal)
--bgs 0 Background sound: 0=none, 1=bg1, 2=bg2
--reg 0 English pronunciation: 0=auto, 1=spell, 2=letter
--rdn 0 Number reading: 0=auto, 1=value, 2=string, 3=string-prefer
--list-voices Print voice list and exit

Popular Voices

VCN Name Gender Language Scene
x5_lingyuzhao_flow 聆玉昭 Female 中文 交互聊天
x5_lingxiaotang_flow 聆小糖 Female 中文 语音助手
x6_lingfeiyi_pro 聆飞逸 Male 中文 交互聊天
x6_lingxiaoli_pro 聆小璃 Female 中文 交互聊天
x6_pangbainan1_pro 旁白男声 Male 中文 旁白配音
x6_pangbainv1_pro 旁白女声 Female 中文 旁白配音
x6_lingfeihan_pro 聆飞瀚 Male 中文 纪录片
x5_EnUs_Grant_flow Grant Female English 交互聊天
x5_EnUs_Lila_flow Lila Female English 交互聊天
x4_zijin_oral 子津 Male 天津话 交互聊天
x4_ziyang_oral 子阳 Male 东北话 交互聊天

Run --list-voices for the complete list (50+ voices).

Text Features

Silent pauses

Insert [p500] in text for a 500ms pause:

你好[p500]科大讯飞

Specify pronunciation

Use [=pinyin] after a character to force pronunciation:

着[=zhuo2]手

Notes

  • Endpoint: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6
  • Protocol: WebSocket (RFC 6455) with HMAC-SHA256 signed URL auth
  • Text limit: max 64KB total per session
  • Session timeout: 60 seconds
  • Text input speed: must exceed 15 chars/sec for streaming (not relevant for single-shot mode)
  • No pip dependencies: uses a built-in minimal WebSocket client on pure Python stdlib
  • Env vars: XFYUN_APP_ID, XFYUN_API_KEY, XFYUN_API_SECRET
  • Output: prints the absolute path of saved audio to stdout (for easy piping to other tools)
  • x4 series voices (x4_*_oral) support oral configuration parameters (口语化), x5/x6 do not
  • Voices must be enabled in the console before use