用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 ...
随机推荐
- redis主从复制和sentinel配置高可用
一:redis主从配置1.环境准备 master : 192.168.50.10 6179 slave1: 192.168.50.10 6279 slave2: 192.168.50.10 63792 ...
- open-falcon详解
先扔出一张官方的架构图, agent是用于采集机器的监控指标,然后每60秒就会push给transfer,agent与transfer是建立了长连接的,传输速度会比较快: transfer接受到数据后 ...
- <Android基础>(二) Activity Part 1
1.活动的基本用法: 1) 手动创建活动.创建加载布局 2) 在AndroidManifest文件中注册 3) 在活动中添加Button.Toast.Menu 4) 销毁活动 2.Intent 1) ...
- centos7 下解决mysql-server找不到安装包问题
第一步:安装从网上下载文件的wget命令 [root@master ~]# yum -y install wget 第二步:下载mysql的repo源 [root@master ~]# wget ht ...
- Spring Boot实战
Spring在java EE开发中是实际意义上的标准,但我们在开发Spring的时候可能会遇到以下令人头疼的问题: 1.大量配置文件的定义.2.与第三方软件整合的技术问题. Spring每个版本的退出 ...
- macOS在virtualenv中使用wxPython报错
在虚拟的Python环境中运行GUI的软件报错 This program needs access to the screen. Please run with a Framework build o ...
- 解题:HAOI2018 苹果树
题面 统计贡献,每个大小为i的子树贡献就是$i(n-i)$,然后子树里又有$i!$种:同时这个子树的根不确定,再枚举这个根是$r$个放的,又有了$r!$种.子树内选点的方式因为子树的根被钦定了顺序所以 ...
- JQuery选择器,事件,DOM操作,动画
JQuery是一个JavaScript代码库,或者是JavaScript框架: 1.选择器:(和CSS选择器一致) 基本选择器:ID选择器$('#div1');Class选择器('.div1');标签 ...
- Win32 SDK:ListBox 为什么不整个 LB_SETTEXT
Win32 & SDK: ListBox 有个 LB_GETTEXT,为什么没有 LB_SETTEXT,想修改指定Item的Text,还真不容易. 自已写了一个,支持单选和多选模式,部分代码: ...
- 第三十六篇-FloatingActionButton的使用
效果图: 准备两张图片,一张作为桌面背景,一张作为那个悬浮的加号.放在mipmap下面. 首先,添加Imageview作为桌面背景,并设置扩充整个屏幕.接着,添加一个悬浮按钮,放在右下角,可以对悬浮按 ...