我正在为我的母语开发一个实验性的双音素/单元选择语音合成器,它缺乏适合盲人的良好语音合成器。
问题是录制的单元库可能会变得非常庞大(数百兆字节,如最好的语音合成器所示)。
我见过一些带有小型语音样本库的高质量双音素合成器。在阅读有关语音合成的各种论文,特别是关于那些较小的合成器的论文时,他们说他们使用 LPC(线性预测编码)来使他们的语音样本库的大小更小,他们还说 LPC 给他们带来了更容易的额外好处从语音样本中组装语音时的音高控制。
不幸的是,我找不到任何使用 LPC 压缩语音样本的初级教程。我设法找到的所有材料都充满了大学水平的数学。我想我不需要为了使用 LPC 而研究所有这些(如果我可以使用 FFT 库在我的软件中生成频率图,我应该能够以类似的“黑盒”方式使用 LPC 库,对吧?)。
我设法找到的唯一或多或少的“生产就绪”代码似乎是这个。
它有四个与 LPC 相关的文件夹——openlpc、lpc、lpc10 和 celp。它们的头文件只有几个功能,但遗憾的是没有单元测试或教程来展示它们在语音样本压缩/解压缩中的用法。
有DSP经验的人可以看看并解释一下这些功能吗?例如,这个文件中的那些。
我想看一个简单的演示,用于将原始 PCM 波字节(以什么格式?)输入 LPC 编码器进行压缩,然后将压缩数据连同其他参数(它们的值和对解码的影响是什么)一起反馈回 LPC 解码器结果?)。
openlpc、lpc、lpc10 和 celp 有什么区别,哪个最适合我的目的?
我也对其他 LPC 压缩/解压缩解决方案持开放态度,以防您能提出比上面的 VoiceCodec 项目代码更好、更完整的文档记录。
注意 - 请不要解释 LPC 的内部运作;就我而言,这就像向一个只想学习如何驾驶汽车的人解释燃料化学一样。