AI配音怎么做的教程新手

文章导读
新手做 AI 配音,先分清两条路:本机命令行跑 TTS 工具,还是在云控制台调语音合成 API。两条路的最短验证顺序一致:确认运行环境、拿到准确 voice 名、生成一个 20 字以内的短音频并检查时长。下面用 edge-tts 做可执行的本地示例;换成云厂商时,保留“先短文本验证、再批量”的顺序,只替换鉴权和 voice 参数。
📋 目录
  1. 一 AI配音之前先确认这三件事
  2. 二 AI配音:最短可用路径
  3. 三 AI配音:一个真实场景的完整做法
  4. 四 AI配音:跑不通先查这三处
A A

新手做 AI 配音,先分清两条路:本机命令行跑 TTS 工具,还是在云控制台调语音合成 API。两条路的最短验证顺序一致:确认运行环境、拿到准确 voice 名、生成一个 20 字以内的短音频并检查时长。下面用 edge-tts 做可执行的本地示例;换成云厂商时,保留“先短文本验证、再批量”的顺序,只替换鉴权和 voice 参数。

判断能不能做,先跑三步:隔离环境装好 TTS 工具,用 --list-voices 复制精确 voice 名,再用一句短中文生成 mp3,最后用 ffprobe 看时长和大小。三步都过再批量。版本以命令输出为准,额度和限速到你所用的控制台账单或配额页核对;不要把 Key 写进前端或公开仓库。

AI配音之前先确认这三件事

AI 配音卡住,通常不是模型不行,而是三个前提没对齐。按这个顺序判断:版本命令有输出 → 输出目录可写 → voice 名能从列表复制 → 短文本能生成非 0 文件 → 再批量。任何一步没有结果,先停。

1. 运行环境版本

本机路线先看当前解释器和包是否一致:

python --version
python -m pip --version
python -m pip show edge-tts
edge-tts --version

pip show 没有输出,说明当前 Python 没装这个包;edge-tts --version 提示找不到命令,说明脚本目录不在 PATH,可查 python -m pip show -f edge-tts 里的 Location 和脚本位置。云 API 路线到控制台“语音合成/文本转语音”的概览或模型列表页,看 API 版本、模型名和 Region,字段名各平台不同,以页面显示为准。

AI配音怎么做的教程新手

2. 权限和出口

本机路线要能写目标目录,先测写权限:

mkdir -p out && touch out/.write_test && rm out/.write_test && echo write-ok

看到 write-ok 再继续。云路线看控制台“API Key/访问密钥”页和“用量/配额”页:Key 是否启用、是否绑定当前项目、Region 与 Endpoint 是否一致。额度、限速和价格会变,直接在你所用平台的控制台账单或配额页核对,不要照抄教程里的数字。

3. 入口位置和 voice 名

本机路线用列表命令拿准确名称,不要凭记忆写短名:

edge-tts --list-voices | grep -i "zh-CN"

输出里应出现类似 zh-CN-XiaoxiaoNeural 的完整名称。云路线在控制台“音色列表/发音人”页复制 voice ID,同时确认该音色支持你的输出格式和语言。

AI配音怎么做的教程新手

AI配音:最短可用路径

下面从零到听到声音。命令在项目目录执行;Windows 把激活命令换成 .venv/Scripts/activate。

  1. 建隔离环境并安装。
    python -m venv .venv
    source .venv/bin/activate
    python -m pip install -U edge-tts
    做完应看到提示符前出现 (.venv),pip 最后输出 Successfully installed edge-tts-...,具体版本号以输出为准。
  2. 确认音色列表能返回结果。
    mkdir -p out
    edge-tts --list-voices | grep -i "zh-CN-XiaoxiaoNeural"
    做完应看到一行完整音色名。没有输出就先运行 edge-tts --list-voices | head,确认命令本身能联网返回列表。
  3. 生成第一段短音频。
    edge-tts --voice zh-CN-XiaoxiaoNeural --rate=-8% --text '这是一段十秒钟的配音测试,用来确认命令、音色和输出目录都正常。' --write-media out/test.mp3 --write-subtitles out/test.srt
    做完命令正常退出,out/test.mp3 和 out/test.srt 出现。容易踩的坑:--rate 建议写成 --rate=-8%,写成 --rate -8% 在部分环境会被当成另一个选项,出现参数错误。
  4. 验证文件不是空壳。
    ffprobe -v error -show_entries format=duration,size -of default=nw=1 out/test.mp3
    做完应看到 duration 和 size 都大于 0。没有 ffprobe 就用 ls -lh out/test.mp3 和 file out/test.mp3 粗看,再播放确认。

AI配音:一个真实场景的完整做法

场景:把 scripts/ 下 6 个 txt(每段 120-180 字,共约 900 字)的产品说明,合成 6 条中文女声 mp3,语速略慢,带 srt 字幕,输出到 out/。对象类型是纯文本,不含 SSML 标签;原文有表情符号或特殊符号的,先在 txt 里删掉。

配置实际取值写在哪
音色zh-CN-XiaoxiaoNeural命令 --voice,名称来自 --list-voices
语速-8%命令 --rate=-8%
输入scripts/*.txt项目下的 scripts/ 目录,每个文件一段
输出out/*.mp3、out/*.srt--write-media、--write-subtitles
云 API Region以控制台为准控制台“项目设置/Region”页,不要硬编码旧值

把下面脚本保存为项目根目录的 tts.sh,与 scripts/、out/ 同级,执行 bash tts.sh:

#!/usr/bin/env bash
set -euo pipefail
mkdir -p out
for f in scripts/*.txt; do
  base="$(basename "$f" .txt)"
  edge-tts --voice zh-CN-XiaoxiaoNeural --rate=-8% --text "$(cat "$f")" --write-media "out/${base}.mp3" --write-subtitles "out/${base}.srt"
  echo "done: ${base}"
done

做完应连续出现 6 行 done:,out/ 里出现 6 个 mp3 和 6 个 srt。再批量查时长:

AI配音怎么做的教程新手
for f in out/*.mp3; do ffprobe -v error -show_entries format=duration -of csv=p=0 "$f"; done

应输出 6 个大于 0 的秒数。若某个为 0,先看对应的 txt 是否为空或内容只有标点;脚本会继续跑到下一个文件,不会自动修正文本。云 API 的 Key 建议放环境变量 TTS_API_KEY,在服务端读取,不写进 tts.sh。

AI配音:跑不通先查这三处

第一处:模块或命令找不到。报错常见为 ModuleNotFoundError: No module named 'edge_tts',Windows 也可能提示 'edge-tts' 不是内部或外部命令。检查位置是终端提示符和 pip 输出:运行 which python、python -m pip -V,确认安装和运行用的是同一个解释器;在虚拟环境里重装。

第二处:音色名不对。报错常见为 Invalid voice: zh-CN-Xiaoxiao 或页面提示 Voice not found。检查位置是命令里的 --voice 和 --list-voices 的输出,必须复制完整名称并注意大小写。云路线还要核对控制台“音色列表”和当前 Region 是否匹配。

第三处:输出路径不可写或不存在。报错常见为 PermissionError: [Errno 13] Permission denied: 'out/test.mp3' 或 No such file or directory。检查位置是 --write-media 后面的路径:运行 pwd、ls -ld out,没有目录就先 mkdir -p out,或改用绝对路径。若走云 API 出现 401/403,改查 Key 所在环境变量,以及控制台 Region 与 Endpoint 是否一致,不要把 Key 打印到日志里。