# 基于cMelGAN的音乐生成算法以及数据集和预训练模型
## 基于MelSpectrograms 的条件生成模型,一种针对有限硬件计算资源的更快模型
频谱图就像声音的图片。它们通过定期对波形进行傅里叶变换来提供音频的二维表示。这些间隔中的每一个都生成一列图像(图 1),与波形表示中相邻元素相关的时间差相比,它们代表的时间差要大得多。
<img width="378" alt="屏幕截图 2022-03-13 at 8 16 21 PM" src="https://user-images.githubusercontent.com/57376402/158085731-f15047ea-f4cd-4d7e-b08e- 950f96935107.png">
*图 1 - 音频的 MelSpectrogram 表示*
## cMelGAN 架构:生成器和鉴别器
<img width="547" alt="屏幕截图 2022-04-14 10 01 55 PM" src="https://user-images.githubusercontent.com/57376402/163506067-660fdc4b-d606-4c8c-8a52- 7ab92811f842.png">
*图 2 - cMelGAN 架构*
## 要求
- 该模型使用 Python 3.9.7 PyTorch 1.10.2 进行训练和测试。
- 必须安装 librosa https://github.com/librosa/librosa。我们使用的 librosa 版本是 0.9.1
## 训练网络
- 在 `data.py` 中,我们制作了一个数据管道来自动加载 `.wav` 形式的数据并将它们转换为频谱图并以 `.csv` 格式存储。
- 加载数据并更改 train.py 中的参数以训练模型。
## 生成音乐
- 运行 `generate.py` 得到一些结果
## 对 MelNet 和我们的实现的详细分析
- https://docs.google.com/document/d/14o8Ev-7FRwtM0n0ktcgN5dtIWJ9yHXyRuyHydURNmeI/edit?usp=sharing