为您搜集整理歌曲曲谱歌谱、简谱、吉它谱、钢琴谱!

AI做一个写歌词的软件作词家下岗系列:教你用

流行类(作词:佚名 作曲:佚名)  演唱:佚名2022-02-12 09:54

  自然语言处理作为人工智能的一个重要分支,在我们的生活中得到了广泛应用。其中RNN算法作为自然语言处理的经典算法之一,是文本生成的重要手段。而今天我们就将利用RNN算法建立一个写歌词的软件。其中的界面如下:

  RNN指的是循环神经网络,Recurrent Neural Network。不同于前馈神经网络的是,RNN可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。

  上图中左边是RNN模型没有按时间展开的图,如果按时间序列展开,则是上图中的右边部分。我们重点观察右边部分的图。

  x(t)x(t)代表在序列索引号tt时训练样本的输入。同样的,x(t1)x(t1)和x(t+1)x(t+1)代表在序列索引号t1t1和t+1t+1时训练样本的输入。h(t)h(t)代表在序列索引号tt时模型的隐藏状态。h(t)h(t)由x(t)x(t)和h(t1)h(t1)共同决定。o(t)o(t)代表在序列索引号tt时模型的输出。o(t)o(t)只由模型当前的隐藏状态h(t)h(t)决定。L(t)L(t)代表在序列索引号tt时模型的损失函数。y(t)y(t)代表在序列索引号tt时训练样本序列的真实输出。U,W,VU,W,V这三个矩阵是我们的模型的线性关系参数,它在整个RNN网络中是共享的,这点和DNN很不相同。也正因为是共享了,它体现了RNN的模型的“循环反馈”的思想。基于以上认知,我们开始搭建我们的软件。

  首先我们使用的python版本是3。6。5所用到的库有TensorFlow,是用来训练和加载神经网络常见的框架,常常用于数值计算的开源软件库。节点表示数学操作,线则表示在节点间相互联系的多维数据数组,即张量(tensor);tkinter用来绘制GUI界面的库;

  Pillow库在此项目中用来处理图片和字体等问题。因为我们的软件不是空白背景的。需要借助Image函数添加背景。

  我们训练的数据集使用各种歌手的歌词本作为训练集。其中数据集放在date。txt里,其中部分数据集如下:

  首先要读取数据集设定训练批次、步数等等数据载入RNN进行训练即可其中代码如下:

  RNN算法的搭建,我们定义整个神经网络类,然后分别定义初始化、输入、神经元定义等函数。损失函数和优化器使用均方差和AdamOptimizer优化器即可。

  界面中我们的布局是文本框、编辑框和按钮控件。程序的调用使用批处理文件调用以达到显示运行过程的效果。因为如果没有运行过程,难免会导致用户不清楚程序流程而强制运行容易导致卡死的情况。

  界面布局使用canvas画布以达到添加背景图片的效果。背景图片设置为1。jpg,按钮背景图片设置为3。jpg。图片也可以自己更换掉。然后文本框作为提示的效果,分别定义字体,大小等等即可

  我们使用按钮中的command参数调用已设置好的函数即可。其中函数部分我们通过生成文本和删除文本的方式读入数据和写入数据。为了防止数据重叠故在要时刻监测重复软件。定义的函数内容如下:

  作者简介 :李秋键,CSDN 博客专家,CSDN达人课作者。硕士在读于中国矿业大学,开发有taptap安卓武侠游戏一部,vip视频解析,文意转换工具,写作机器人等项目,发表论文若干,多次高数竞赛获奖等等。

  AI修复100年前晚清影像喜提热搜,这两大算法立功了CycleGan人脸转为漫画脸,牛掰的知识又增加了 附代码一次对语音技术的彻底批判用大白话彻底搞懂 HBase RowKey 详细设计为什么黑客无法攻击公开的区块链?再见 Python,Hello Julia!百万人学AI 万人在线+场直播抢先看!

曲谱之家 ©2021 All Rights Reserved.
Powered by www.hpppw.com 
本站歌谱来源于网友自行上传及网络转载,如涉及版权及隐私问题,请来信至 kavg8@hotmail.com,本站会及时删除。