摘要: 最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目。在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串rap。

背景

最近互联网上出现一个热词就是“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.html)

5. 搭建实验

在PAI的画布拖动OSS以及Tensorflow组件搭建如下实验,两个Tensorflow节点分别对应着训练和预测节点,先训练生成写歌模型,然后预测节点获取模型自动生成歌词。

配置对应的执行代码路径和输出路径,跟上面的OSS路径对应。下图是负责预测的Tensorflow节点配置。

点击运行,PAI就开始学习歌词并且尝试自己写作啦。

写歌结果

经过差不多20分钟的学习,PAI已经掌握了几位歌坛大神的歌词技巧,下面就看看PAI写出来的歌词是怎样的。(歌词需要在log中查看,可以参考https://yq.aliyun.com/articles/72841

歌词来了,

看上去写的歌还算通畅,没有出现特别多语病。当然,想写出更好的词,需要对训练模型的迭代次 数、词长等参数进行不断调试,也可以多为PAI输送更多的歌词供训练,因为300多的样本还是略显单薄。

以上就是通过PAI自动写歌词的教程,希望对各位喜欢音乐和尝试做文本自动生成的同学有帮助,让我们一起freestyle起来!!

下载地址

数据以及代码已经打包,直接上传PAI配置路径即可使用:下载地址

更多技术干货敬请关注阿里云云栖社区:阿里云云栖社区

转载于:https://my.oschina.net/u/3579120/blog/1532879

机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...相关推荐

  1. 妈妈再也不用担心我的公式写不出来了:一款公式输入神器实测

    本文推荐一个公式输入神器,只要截图就能识别公式,手写的公式都能识别.经过实测,几乎没有识别不出的公式,并可以输入到word.markdown.latex文件. 一.前言 写论文.博客,技术文档,公式输 ...

  2. Java实现印刷体转手写体—妈妈再也不用担心我被罚抄作业了

    Java实现印刷体转手写体-妈妈再也不用担心我被罚抄作业了 文章目录 Java实现印刷体转手写体-妈妈再也不用担心我被罚抄作业了 缘起 开始开发 测试效果 开源地址和总结 郑重声明 因本文中涉及到爬虫 ...

  3. 妈妈再也不用担心别人问我是否真正用过redis了

    1. Memcache与Redis的区别 1.1. 存储方式不同 1.2. 数据支持类型 1.3. 使用底层模型不同 2. Redis支持的数据类型 3. Redis的回收策略 4. Redis小命令 ...

  4. ERC721:全生命周期精析,妈妈再也不用担心我不会玩NFT合约啦

    ERC721:全生命周期精析,妈妈再也不用担心我不会玩NFT合约啦 由于篇幅有限,本博客将围绕ERC721核心展开介绍,文章内容尽量做到通俗易懂,但其中不可避免地可能涉及一些新手不友好的概念,您可以查 ...

  5. 致小白:详解调幅收音机的原理 #妈妈再也不用担心我不懂收音机啦!

    标题:致小白:详解调幅收音机的原理 #妈妈再也不用担心我不懂收音机啦! 作者: Pleiades_Antares 出品: BDF元培调查组-北京市内包小组 版权声明:本作系完全原创,他人不得在原作者不 ...

  6. 《妈妈再也不用担心我的学习系列》之RabbitMQ动态修改队列名

    上一篇文章:<妈妈再也不用担心我的学习系列>之RabbitMQ快速入门 前言 在我们公司日常用RabbitMQ的时候如果多个服务都用到了队列,那么势必会有很多影响(如果不是广播模式队列是轮 ...

  7. python绘制横向柱状图 妈妈再也不用担心我不会画图了

    python绘制横向柱状图 妈妈再也不用担心我不会画图了 前言 实现代码 成果 前言 事情要从一次画图开始说起 当我开开心心搞到一堆数据,以为能够休息的时候,这时候我突然想起来,是不是绘制成柱状图更直 ...

  8. 妈妈再也不用担心我的macbook发烫了计划2.0Beta mac发热

    mac 发热 解决 妈妈再也不用担心我的macbook发烫了计划2.0Beta 贴吧好多小朋友反应Macabook看视频发热严重,Flash发热当热严重了,没事正很正常,中国这群无良厂商迟迟不改,看看 ...

  9. 计算机管理怎么给硬盘重新合区,一分钟学会磁盘合区,妈妈再也不用担心!

    原标题:一分钟学会磁盘合区,妈妈再也不用担心! 自从上一篇文章<一分钟搞定电脑磁盘分区,再也不求人!>中小编讲到了,日常生活中我们的电脑该如何区分区,留言区就有小伙伴问我,怎么把D盘的容量 ...

最新文章

  1. jquery动态添加元素无法触发绑定事件的解决方案。
  2. 三菱e68系统程序传输_盘点那些年用过的数控操作系统,全会操作的话你肯定是老师傅...
  3. 每日程序C语言9-判断分数段
  4. 给实例动态增加方法VS给类动态增加方法
  5. CentOS7.4下载与安装
  6. android中如何新建一个activity,《Android Activity》活动的介绍和创建
  7. Mr.J--蓝桥杯--去注释
  8. UVa 1326 - Jurassic Remains
  9. 熟悉常规B/S、C/S系统开发实现原理
  10. 统计计算机考试题,销售统计表计算机windows一级最新考试试题
  11. 魔鬼训练Day2作业
  12. LaTeX的下载安装及使用教程
  13. 希腊神话:希腊众神 宙斯和赫拉
  14. 基于事件触发的二阶多智能体领导跟随一致性
  15. oracle中execute是什么意思,oracle中EXECUTEIMMEDIATE是什么意思?如何使用,请用自己......
  16. IV与PSI的理解--深入浅出
  17. springcloud引言
  18. Android手动控制软键盘的开启和关闭,判断软键盘是否显示;
  19. foot元素一直浮在底层
  20. IDEA 运行maven项目时出错:Error java:错误: 不支持发行版本 XXX 5,12,14等

热门文章

  1. MAC OS X mountain lion强制关机
  2. Ubuntu 18.04 桌面卡死
  3. Python XML文件快速排版
  4. Android远程桌面助手(B1309)
  5. 计算机sql查询同行并集,SQL查询交集、并集、差集
  6. 《机器学习》总结与心得
  7. 优秀平面设计师如何培养自己的创意思维
  8. uniapp中进行地图定位
  9. 方寸微 T620 存储安全芯片 安全存储 USB3.0 U盘/移动硬盘
  10. matlab根据y标注x,知道y的值,怎么标注出对应x值所对应曲线的坐标啊;matlab