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

2019 年 3 月 1 日 AI研习社

小编:听说中央音乐学院将于2019年首次招收“音乐人工智能与音乐信息科技”方向的博士生,所以我们今天为你推荐的就是利用生成对抗网络合成音频的算法。截至翻译开始前。本项目在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"}'


AI求职百题斩 · 每日一题


每天进步一点点,扫码参与每日一题!



点击阅读原文,可查看本文划线链接部分内容

登录查看更多
8

相关内容

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
专知会员服务
45+阅读 · 2020年7月4日
还在修改博士论文?这份《博士论文写作技巧》为你指南
打怪升级!2020机器学习工程师技术路线图
专知会员服务
96+阅读 · 2020年6月3日
【论文】结构GANs,Structured GANs,
专知会员服务
14+阅读 · 2020年1月16日
用GANs来自动生成音乐【代码+PPT】
专知
26+阅读 · 2019年11月7日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
33+阅读 · 2019年6月10日
干货 | Github项目推荐 : GANSynth: 用GANs创作音乐
AI科技评论
9+阅读 · 2019年3月2日
【学界】GAN跨界合成高保真音乐,Jeff Dean听了都陶醉
GAN生成式对抗网络
7+阅读 · 2019年3月1日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
Github 项目推荐 | YOLOv3 的最小化 PyTorch 实现
AI研习社
25+阅读 · 2018年5月31日
用PyTorch实现各种GANs(附论文和代码地址)
Directions for Explainable Knowledge-Enabled Systems
Arxiv
26+阅读 · 2020年3月17日
Arxiv
3+阅读 · 2019年10月31日
Feature Denoising for Improving Adversarial Robustness
Arxiv
15+阅读 · 2018年12月9日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
VIP会员
相关资讯
用GANs来自动生成音乐【代码+PPT】
专知
26+阅读 · 2019年11月7日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
33+阅读 · 2019年6月10日
干货 | Github项目推荐 : GANSynth: 用GANs创作音乐
AI科技评论
9+阅读 · 2019年3月2日
【学界】GAN跨界合成高保真音乐,Jeff Dean听了都陶醉
GAN生成式对抗网络
7+阅读 · 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会员