机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)
背景
最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目。在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串rap。freestyle除了考验一个人rap的技巧,其实我觉得最难的是如何在短时间内在脑海中浮现出有韵律的歌词。
本文会介绍如何自动生成歌词,到底什么工具有这样的功效呢?答案是PAI。PAI平台是阿里云人工智能平台,在上面可以通过最简单的拖拉拽的方式,完成对各种结构化以及非结构化数据的处理。因为有了PAI,这种自动生成歌词的事情都不再成为难题。我现在不光可以瞬间生成万首歌词,我还可以同时融合周杰伦、王力宏、林俊杰、汪峰的歌词风格在里面,因为PAI利用深度学习能力可以快速的学习这些歌手的所有歌曲并且实现自己创作歌词。不信?下面我就来show一下PAI的威力。
执行过程
1.首先进入PAI:https://data.aliyun.com/product/learn
开通机器学习以及机器学习内的GPU服务。2.训练数据说明
这里我们的数据是一份txt文件,文件中包含了周杰伦、王力宏、林俊杰、汪峰的歌词,一共有接近300首歌,歌词都是去掉标题等干扰因素的(花了好几个小时整理)。数据截图:3.实验代码说明
本实验使用的是PAI内置的深度学习框架Tensorflow,使用的了seq2seq以及RNN网络进行歌词语义的学习以及建模。使用train.py文件生成模型,使用predict.py文件进行预测。以下是部分网络结构搭建的截图,大家可以在下方找到源代码下载地址进行使用。(PS:实例代码虽然可以运行,但是数据IO采用的是低效方式,高效方式可以参考此文https://yq.aliyun.com/articles/126918)
4.数据上传
将实验数据和代码文件打包上传到OSS(之所以打包是本文案例使用的是原生PYTHON的数据IO方式,需要代码和训练数据组成同一个tar.gz文件)。OSS是PAI可读的对象存储工具,具体方式可以参考此视频链接https://help.aliyun.com/video_detail/54945.html5.搭建实验
在PAI的画布拖动OSS以及Tensorflow组件搭建如下实验,两个Tensorflow节点分别对应着训练和预测节点,先训练生成写歌模型,然后预测节点获取模型自动生成歌词。
配置对应的执行代码路径和输出路径,跟上面的OSS路径对应。下图是负责预测的Tensorflow节点配置。
点击运行,PAI就开始学习歌词并且尝试自己写作啦。
写歌结果
经过差不多20分钟的学习,PAI已经掌握了几位歌坛大神的歌词技巧,下面就看看PAI写出来的歌词是怎样的。(歌词需要在log中查看,可以参考https://yq.aliyun.com/articles/72841
歌词来了,
看上去写的歌还算通畅,没有出现特别多语病。当然,想写出更好的词,需要对训练模型的迭代次数、词长等参数进行不断调试,也可以多为PAI输送更多的歌词供训练,因为300多的样本还是略显单薄。
以上就是通过PAI自动写歌词的教程,希望对各位喜欢音乐和尝试做文本自动生成的同学有帮助,让我们一起freestyle起来!!
下载地址
1.PAI用户钉钉群:11768691
2.数据及代码下载,关注凡人机器学习,并在会话中输入“歌词”
机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)的更多相关文章
- [置顶]
【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码
背景 最近互联网上出现一个热词就是"freestyle",源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的 ...
- 妈妈再也不用担心别人问我是否真正用过redis了
1. Memcache与Redis的区别 1.1. 存储方式不同 1.2. 数据支持类型 1.3. 使用底层模型不同 2. Redis支持的数据类型 3. Redis的回收策略 4. Redis小命令 ...
- 妈妈再也不用担心我使用git了
妈妈再也不用担心我使用git了 Dec 29, 2014 git git由于其灵活,速度快,离线工作等特点而倍受青睐,下面一步步来总结下git的基本命令和常用操作. 安装msysgit 下载地址:ms ...
- 利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了
前几天,修电脑主析就捣鼓刷BIOS,结果刷完黑屏开不了机,立刻意识到完了,BIOS刷错了.就从网上查资料,各种方法试了个遍,什么用处都没有.终于功夫不负有心人,找到了编码器,知道了怎么用.下面看看具体 ...
- python爬虫07 | 有了 BeautifulSoup ,妈妈再也不用担心我的正则表达式了
我们上次做了 你的第一个爬虫,爬取当当网 Top 500 本五星好评书籍 有些朋友觉得 利用正则表达式去提取信息 太特么麻烦了 有没有什么别的方式 更方便过滤我们想要的内容啊 emmmm 你还别说 还 ...
- 有了 tldr,妈妈再也不用担心我记不住命令了
引言 有一次我在培训时说「程序员要善于使用 Terminal 以提高开发效率」,一位程序员反驳道:「这是 21 世纪,我们为什么要用落后的命令行,而不是先进的 GUI?」 是的,在一些人眼里,这个黑黑 ...
- 【C#】妈妈再也不用担心自定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚
------------------更新:201411190903------------------ 经过思考和实践,发现套路中的第1条是不必要的,就是完全可以不用定义一个名为Default+属性名 ...
- 手把手告诉你如何安装多个版本的node,妈妈再也不用担心版本高低引发的一系列后遗症(非常详细,非常实用)
简介 最近好多人都问到node怎么同时安装多个版本? 如何配置node的环境变量,如何自如的在多个版本中切换node?还有就是自己在做appium自动化的时候,有时候会因为node的版本过高或者是太低 ...
- 有了jsRender,妈妈再也不用担心我用jq拼接DOM拼接的一团糟了、页面整齐了、其他伙伴读代码也不那么费劲了
写在前面 说来也很巧, 下午再做一个页面,再普通不过的分页列表,我还是像往常一样,基于MVC环境下,我正常用PagedList.MVC AJAX做无刷新分页,这时候问题就来了,列表数据中有个轮播图用到 ...
随机推荐
- Phpstudy apache2 配置 https
我tm竟然搞了一下午 最终原因是因为443 端口被 SVN服务器占用了 一定要查看端口是否被占用 太深刻了这次 粗心大意 !!! 1:打开PHPstudy php扩展设置,在php_openssl上点 ...
- Windows上架设自己的ssh代理 — copSSH
最近网上对ssh代理讨论的比较多, 主要是为了穿墙. 其实在自己的电脑上也可以架设ssh代理, 当然国内自己架的不具有FQ功能, 如果你有国外朋友或是远程win服务器…则可以用此方法架设私有代理. 其 ...
- 关于jQuery.form中formSerialize()等函数的适用对象
几个月前写一个页面,要用到Ajax提交,于是写了几行jQuery: …… var formData = $("form")[0].formSerialize(); …… 然后死活调 ...
- 【剑指Offer】55、链表中环的入口结点
题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 解题思路: 本题是一个比较典型的链表题目,难度适中.首先,对于大多人来说,看到这道题是比较开心的 ...
- Codeforces Round #547 (Div. 3) E. Superhero Battle
E. Superhero Battle A superhero fights with a monster. The battle consists of rounds, each of which ...
- 多文件编程(day13)
多文件编程时一个文件里可以包含多个函数, 一个函数只能属于一个文件 多文件编程的步骤 .把所有函数分散在多个不同的源文件里 (主函数通常单独占一个文件) .为每个源文件编写一个配对的以.h作为 扩展名 ...
- opencv学习HighGUI图形用户界面初步【1】
HighGUI是图形用户界面模块.包括:1.输入与输出:2.视频捕捉:3.图形和视频的解码编码:4.图形交界面与接口. 由于opencv.hpp包含了core.objdetect.ingproc.ph ...
- 字体大小之px、em、rem、pt,字号详解
PX px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. 是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Pe ...
- asp.net--webconfg指南
原文链接 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. ...
- git 添加到环境变量
github 新增仓库的后的提示 …or create a new repository on the command line echo "# top" >> REA ...