type
status
date
slug
summary
tags
category
icon
password
OpenAI Text to Speech (TTS) 能方便地将文字转换为语音,可以用来给 PPT 讲解视频配音。然而,文字转语音的结果和视频的进度的一致性是一个问题。下面简单介绍我的解决方案。
1. 将视频文稿格式化
用你的方式写出视频的文稿。为了方便将音频和视频对齐,也是为了避免超出 4096 个 token 的限制,最好是将文稿分成若干小段。例如,每页 PPT 或者每个段落都可以作为一个小段。假设将文稿保存到了
content
数组中,其中 content[i]
表示第 i
段文稿的字符串。2. OpenAI TTS API 的使用
OpenAI TTS API 的使用非常简单,只需要调用
client.audio.speech.create
方法即可。下面是一个简单的例子,将 content
中的内容分段保存在 speech_{idx}.mp3
中:通过
voice
参数,可以选择 alloy
, echo
, fable
, onyx
, nova
以及 shimmer
这几种不同的声音。model
参数可选 tts-1
和 tts-1-hd
,前者质量较低但速度较快,后者质量较高但速度较慢。3. 合并音频,录制 PPT 讲解视频
为了确保音频和视频同步,我们先把所有的音频合并成一个音频文件,然后再根据音频的速度和节奏录制视频。
合并音频
录制视频
播放
combined_audio.mp3
,根据音频播放 PPT,同时录制屏幕,这样语音和文字就对上了。4. 优化音视频对齐
通常而言,音频和视频的对齐是不完美的,这时候可以用剪映等软件,把前面得到的各个音频切片手动和视频对齐,进行精细的调整。这样,我们就得到了一段完美对齐的视频 ^_^
在导出视频时,可以用
ffmpeg
高质量地压缩视频:- 作者:VariantConst
- 链接:https://blog.variantconst.com/article/tts-for-ppt-voiceover
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。