用Google Brain的机器学习项目:Magenta,教神经网络学抖音小姐姐作曲。
先上我们要学习的小姐姐
的美照。。

一、配置环境
1、自己配置环境:python,tensorflow,bazel(编译),java。然后下载magenta(https://github.com/tensorflow/magenta.git,进入magenta目录)
2、docker集成环境:tensorflow/magenta(我这里用的集成环境,magenta已经下载,进入magenta目录)
二、创建旋律数据库
1、下载抖音视频到本地,通过格式工厂转换为MP3音频文件


2、通过WIDI把MP3转换为midi文件(magenta不能直接读取mp3文件)

3、把MIDI文件转化为Sequence文件
MIDI_DIRECTORY=/magenta-data
SEQUENCES_TFRECORD=/magenta-data/notesequences.tfrecord bazel run //magenta/scripts:convert_dir_to_note_sequences -- \
--input_dir=$MIDI_DIRECTORY \
--output_file=$SEQUENCES_TFRECORD \
--recursive
4、从Sequence文件中提取旋律
# TFRecord file containing NoteSequence protocol buffers from convert_midi_dir_tt
o_note_sequences.py.
SEQUENCES_TFRECORD=/magenta-data/notesequences.tfrecord # TFRecord file that TensorFlow's SequenceExample protos will be written to. Thii
s is the training dataset.
#TRAIN_DATA=/magenta-data/training_melodies.tfrecord # Optional evaluation dataset. Also, a TFRecord file containing SequenceExample
protos.
#EVAL_DATA=/magenta-data/eval_melodies.tfrecord # Fraction of input data that will be written to the eval dataset (if eval_outpuu
t flag is set).
#EVAL_RATIO=0.10 #ENCODER=melody_rnn_config_flags bazel run //magenta/models/melody_rnn:melody_rnn_create_dataset -- \
--input=$SEQUENCES_TFRECORD \
--eval_ratio=0.10 \
--config=basic_rnn \
--output_dir=/magenta-data
生成的训练文件就在/magenta-data/training_melodies.tfrecord里
三、训练神经网络模型
bazel run //magenta/models/melody_rnn:melody_rnn_train -- \
--config=basic_rnn \
--sequence_example_file=/magenta-data/training_melodies.tfrecord \
--run_dir=/tmp/melody_rnn/logdir/run1 \
--eval=false \
--num_training_steps=

四、生成旋律
bazel run //magenta/models/melody_rnn:melody_rnn_generate -- \
--config=basic_rnn \
--run_dir=/tmp/melody_rnn/logdir/run1 \
--output_dir=/tmp/melody_rnn/generated \
--num_outputs= \
--num_steps= \
--primer_melody="[60]" \
--primer_midi=/magenta-data/baga01.mid

五、用MIDI MP3 Converter将MIDI文件转化成MP3文件

脚本和音乐:
http://vote.yangtzeu.edu.cn/gitlab/Vito-Yan/magenta-bxq1012/tree/master/music
。。。。。
有没有很难听。。。?!可能跟训练数据集太少,训练循环次数太少,音乐格式转换失真等诸多因素有关。。。
唱许巍的女歌手很少,感觉对了,人就对了。
用Google Brain的机器学习项目:Magenta,教神经网络学抖音小姐姐作曲。的更多相关文章
- 看github上有18万star的第一开源项目如何教你学前端编程的
作为 Github | star 第一开源项目,已经超过18万 star:比之前最火的bootstrap的10万star还要多出8w,freeCodeCamp 越来越受关注,建站两年时间不到已经近40 ...
- python 入门级教你如何拿到小姐姐微信
第一题: 首先错误的思路,首先找出 707829217/2+1 里面的所有奇数,然后再利用两个for,来判断 import math def func_get_prime(n): return ...
- Vegas教程:教你制作抖音热门人物穿越门窗特效
抖音上经常会有很多特效视频,例如换妆.分镜.合拍.放大等,合适的特效总是会让视频更加出彩.这些特效,除了一部分是抖音自带以外,很多都是用的其他视频特效软件制作而成.这些视频编辑软件操作简单易上手,强大 ...
- 基于vue+uniapp直播项目|uni-app仿抖音/陌陌直播室
一.项目简介 uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目.界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5.小程序.Ap ...
- 28款GitHub最流行的开源机器学习项目
现在机器学习逐渐成为行业热门,经过二十几年的发展,机器学习目前也有了十分广泛的应用,如:数据挖掘.计算机视觉.自然语言处理.生物特征识别.搜索引擎.医学诊断.DNA序列测序.语音和手写识别.战略游戏和 ...
- 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架
20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...
- 第24月第30天 scrapy《TensorFlow机器学习项目实战》项目记录
1.Scrapy https://www.imooc.com/learn/1017 https://github.com/pythonsite/spider/tree/master/jobboleSp ...
- GitHub最著名的20个Python机器学习项目
GitHub最著名的20个Python机器学习项目 我们分析了GitHub上的前20名Python机器学习项目,发现scikit-Learn,PyLearn2和NuPic是贡献最积极的项目.让我们一起 ...
- Google开源的Deep-Learning项目word2vec
用中文把玩Google开源的Deep-Learning项目word2vec google最近新开放出word2vec项目,该项目使用deep-learning技术将term表示为向量,由此计算te ...
随机推荐
- 反射中Class.forName()和classLoader的区别
搞清楚两者之间区别前,我们来了解下类加载过程. 一.类加载过程 1.加载 通过一个类的全限定名来获取定义此类的二进制字节流. 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构. 在内存中生 ...
- [WC2018]州区划分(FWT)
题目描述 题解 这道题的思路感觉很妙. 题目中有一个很奇怪的不合法条件,貌似和后面做题没有什么关系,所以我们先得搞掉它. 也就是判断一个点集是否合法,也就是判断这个点集是否存在欧拉回路. 如果存在欧拉 ...
- 解决关于confluence缓慢 字体乱码 宏乱码 编辑不能贴图等问题
应用场景:Confluence软件不用多说,与Jira一样,都是atlassion的精品软件,不再介绍. 这里因为使用的是破解版的confluence,故遇见一些问题,只能百度谷歌自行解决,也在此记录 ...
- windows蜜汁调音
哈,用的蜂鸣器,我静音了这东西还放. 只能调的很垃圾,但是很好玩. #include<cstdio> #include<windows.h> using namespace s ...
- A1003. Emergency
As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...
- A1099. Build A Binary Search Tree
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- MSXML2.ServerXMLHTTP responseText 获取的内容不完整,解决方案
今天无意发现一个问题, 有个别几个网页使用 MSXML2.ServerXMLHTTP 获取网页源代码的时候,.responseText 总是返回一部分内容,无法获取完整的内容. 经过搜索,找到解决方案 ...
- windows c语言 网络
WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(2, 2); err = WSAStart ...
- 动态样式语言—LESS基础知识
CSS是一门非程序式语言,缺少逻辑性,不便于维护 LESS在CSS现有语法的基础上,为CSS加入程序式语言的特性 引入了变量.混入.运算.函数等功能,大大简化CSS的编写,降低了CSS的维护成本 LE ...
- xrange与range的区别
xrange属于类,继承自object. 用法: xrange(stop) -> xrange object xrange(start, stop[, step]) -> xrange o ...