Github开源生信云平台 DEMO
对,最终一定是 PCM。只是中间会绕一大圈,而且什么时候变成 PCM、谁来变,这点很关键。
我给你一个绝对工程化、不会误导的答案。
TTS 模型的“最终可播放输出”一定是 PCM(或等价的连续波形)不管你最后存成 WAV / MP3 / Opus,在那之前一定经过 PCM
我们要区分三件事:
👉 PCM 是“声音世界的底层真相”
Text ↓ TTS Model ↓ ( mel / audio tokens / latent ) ↓ Vocoder / Codec Decoder ↓ PCM waveform ← 关键节点 ↓ Encoder (wav/mp3/opus) ↓ 文件 / 网络流 / 播放
text → mel spectrogram → vocoder → PCM
text → audio tokens → codec decoder → PCM
即使你看到 API 像这样:
audio = tts(text)
内部也一定是:
model → latent → PCM
采样率:16k / 22.05k / 24k / 48k
位深:
float32(模型内部)
int16(播放 / 文件)
声道:mono / stereo
例子(Python):
pcm.shape = (num_samples,) dtype = float32 sample_rate = 24000
PCM 是音频的“系统调用接口”
它们是:
PCM 的压缩或封装格式
👉 没有任何播放路径能绕过 PCM
PCM chunk (20ms) ↓ audio buffer ↓ 播放
这也是为什么:
因为这直接解释了:
它们的世界是:
token → token
而 TTS 世界是:
token → PCM stream
完全不同的 I/O 模型
文本模型的终点是 token,语音模型的终点是 PCM。
不管中间怎么花,PCM 是不可绕过的物理现实。
如果你愿意,下一步我可以继续帮你拆:
你想继续哪一层?