干货 | Github项目推荐 : GANSynth: 用GANs创作音乐

2019 年 3 月 2 日 AI科技评论

AI科技评论按,截至翻译开始前,该Github上的Star数已超过12000+。

GANSynth是一种利用生成对抗网络合成音频的算法。 详情可在ICLR 2019论文中查看。它比NSynth数据集上的标准WaveNet基线能获得更好的音频质量,并且合成音频的速度快数千倍。

项目地址:

https://github.com/tensorflow/magenta/tree/master/magenta/models/gansynth 

Website:

https://magenta.tensorflow.org/gansynth   

Paper《GANSynth: Adversarial Neural Audio Synthesis》:

https://openreview.net/forum?id=H1xQVn09FX 

Colab:

https://colab.research.google.com/notebooks/magenta/gansynth/gansynth_demo.ipynb

生成

如果要生成一些声音,首先需要按照Magenta的设置说明进行操作,然后下载预训练检查点,或者训练自己的检查点。 我们有几个(检查点)可供下载:

  • acoustic_only: 如论文所示,仅使用声学仪器24-84(Mel-IF,逐行,高频分辨率)进行训练。

  • all_instruments: 在24-84(Mel-IF,Progressive,High Frequency Resolution)的所有乐器上进行训练。

您可以通过解压缩检查点包并从Magenta目录的根目录中运行生成脚本来生成一些随机声音(随机音高和潜在向量)。

python magenta/models/gansynth/gansynth_generate.py --ckpt_dir=/path/to/acoustic_only --output_dir=/path/to/output/dir --midi_file=/path/to/file.mid

如果指定了MIDI文件,就会合成音符,并在时间内隐向量之间进行插值。 如果没有给出MIDI文件,则会合成随机批处理的音符。

如果你已经从pip包中安装,它将会安装一个控制台脚本,以便可以从任何地方运行。

gansynth_generate --ckpt_dir=/path/to/acoustic_only --output_dir=/path/to/output/dir --midi_file=/path/to/file.mid

训练

GANSynth可以仅用~3-4天内训练单个V100 GPU上的NSynth数据集。如果要进行训练,首先需要使用安装或开发环境,并按照Magenta的设置说明进行操作,然后将NSynth数据集下载为TFRecords。

如果要测试该训练是否生效,请从Magenta repo目录的根目录运行:

python magenta/models/gansynth/gansynth_train.py --hparams='{"train_data_path":"/path/to/nsynth-train.tfrecord", "train_root_dir":"/tmp/gansynth/train"}'

这将会使用合适的超参数运行模型,以便快速测试训练(可以在model.py中找到)。你可以在configs/mel_prog_hires.py中找到论文中最佳表现的超参数配置(Mel-Spectrograms,Progressive Training,High Frequency Resolution)。 你可以通过将其添加为标志来对这个配置进行训练:

python magenta/models/gansynth/gansynth_train.py --config=mel_prog_hires --hparams='{"train_data_path":"/path/to/nsynth-train.tfrecord", "train_root_dir":"/tmp/gansynth/train"}'

你也可以更改它或进行其他配置以研究其他的表示。提醒一下,完整的超参数列表可以在model.py中找到。 默认情况下,该模型仅在声学仪器间距24-84进行训练,如论文中所示。 你可以在datasets.py中更改。

如果你已经从pip包中安装,它将会安装一个控制台脚本,以便可以从任何地方运行。

  
  
    
gansynth_train --config=mel_prog_hires --hparams='{"train_data_path":"/path/to/nsynth-train.tfrecord", "train_root_dir":"/tmp/gansynth/train"}'

点击阅读原文查看 生成对抗网络(GAN) 背后的数学理论

登录查看更多
10

相关内容

Magenta is a Google Brain project to ask and answer the questions, “Can we use machine learning to create compelling art and music? If so, how? If not, why not?”
【Google】平滑对抗训练,Smooth Adversarial Training
专知会员服务
48+阅读 · 2020年7月4日
还在修改博士论文?这份《博士论文写作技巧》为你指南
【论文】结构GANs,Structured GANs,
专知会员服务
14+阅读 · 2020年1月16日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
84+阅读 · 2019年12月27日
用GANs来自动生成音乐【代码+PPT】
专知
28+阅读 · 2019年11月7日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
35+阅读 · 2019年6月10日
【学界】GAN跨界合成高保真音乐,Jeff Dean听了都陶醉
GAN生成式对抗网络
7+阅读 · 2019年3月1日
Github项目推荐 | GANSynth: 用GANs创作音乐
AI研习社
9+阅读 · 2019年3月1日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
Github 项目推荐 | YOLOv3 的最小化 PyTorch 实现
AI研习社
25+阅读 · 2018年5月31日
用PyTorch实现各种GANs(附论文和代码地址)
Feature Denoising for Improving Adversarial Robustness
Arxiv
15+阅读 · 2018年12月9日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
10+阅读 · 2018年3月23日
VIP会员
相关资讯
用GANs来自动生成音乐【代码+PPT】
专知
28+阅读 · 2019年11月7日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
35+阅读 · 2019年6月10日
【学界】GAN跨界合成高保真音乐,Jeff Dean听了都陶醉
GAN生成式对抗网络
7+阅读 · 2019年3月1日
Github项目推荐 | GANSynth: 用GANs创作音乐
AI研习社
9+阅读 · 2019年3月1日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
Github 项目推荐 | YOLOv3 的最小化 PyTorch 实现
AI研习社
25+阅读 · 2018年5月31日
用PyTorch实现各种GANs(附论文和代码地址)
Top
微信扫码咨询专知VIP会员