相位声码器技术探索
1. 相位声码器简介
相位声码器(Phase Vocoder,PVOC)是一种以快速傅里叶变换(FFT)为核心的声音频谱分析、处理和重新合成工具。它的名称源于“语音编码器”(voice encoder)或“语音编码机”(voice coder)的缩写。最初,在电子音乐领域,它用于独立改变声音的时长或音高,且在不做修改时声音保持不变。早期,它主要用于处理录制的声音,以音乐化的方式对其进行转换,现在则可用于任意输入信号,并对其频谱进行多种操作,不仅限于改变音高或时长,还包括其他参数。
Pyo 包含了一系列用于音频频谱操作的类,如频率转置、音频输入之间的交叉合成、频谱过滤、频谱变形、幅度和频率调制等。这些操作基于 PVAnal()
和 PVSynth()
类,前者用于分析声音,后者用于重新合成声音。在最简单的情况下,声音经过分析和重新合成后可以保持不变。而有趣的是,在使用 PVSynth()
重新合成之前,对 PVAnal()
的分析流输出进行处理。
2. 交叉合成
2.1 所需材料
- Python3
- 文本编辑器(最好是支持 Python 的集成开发环境,IDE)
- Pyo 模块
- 如果要使用 Pyo 的图形用户界面(GUI),还需要 wxPython 模块
- 如果编辑器不能直接运行 Python 脚本,还需要一个终端窗口
2.2 操作流程
<