# MATLAB_MusicSynthesizer
基于信号与系统及数字信号处理的电子音乐合成。处于阶段性完成阶段,日后仍可能更新。
环境:MATLAB R2021A
## get_power/get_ampli
利用fft函数对一段波形进行频谱分析,返回波形的正频率段的功率谱/幅度谱。
## generateNote
生成指定采样率、指定持续时间、指定基频、指定各阶谐波相对幅度比值的一个音。
## envelopAnalysis
包络分析,分析一段音乐中每个音的起始位置、结束位置、峰值位置、峰值幅度,并根据这些信息计算所有音的平均包络形状,返回 (音个数)*4 矩阵及平均包络。
## frequencyAnalysis
频率分析,根据包络分析的结果,分析同一段音乐中每个音的基频、基频幅度、2-10阶谐波相对基频幅度的比值,返回 (音个数)*11 矩阵。
## generateMusic
根据包络分析和频率分析的结果,生成结果对应的音乐片段。
## musicAnalysis
展示利用以上函数对一段音乐进行分析,并用分析结果重组该段音乐的全过程。