资讯专栏INFORMATION COLUMN

Python有嘻哈:Crossin教你用代码写出押韵的verse

xiyang / 1999人阅读

摘要:托某奇艺选秀节目的福,嘻哈无疑是这个夏天最热的音乐标签。年初的时候,我们教室实习生小还是网易云上一只忧郁的民谣狗。没想到一夜之间,他的歌单已被占据,俨然一只黑怕老炮儿。最后,本人亲自演示,如何用搜出来的双押词汇加上一段简单做出一段嘻哈歌曲。

托某奇艺选秀节目的福,“嘻哈”无疑是这个夏天最热的音乐标签。年初的时候,我们教室实习生小D还是网易云上一只忧郁的民谣狗。没想到一夜之间,他的歌单已被HipHop占据,俨然一只黑怕老炮儿。

这对小D来说可谓一大利好:本来报个吉他班,学了仨月才把1645摸熟,如今去淘宝了一把嘻哈四件套,找段beat,药药切克闹,就嗨起来啦!

小D underground听多了就想找人battle。隔壁老王他早就不爽了,这次一定要写段词来diss他!但像小D这么real的rapper是绝对不屑套别人的词的,这可难为坏他小学及格的作文水平了。

小D一连几天闷头在纸上写写画画,也没憋出来几句。我实在看不下去了,不就是写点押韵的词嘛,交给哥来帮你搞定。小D一脸鄙夷:你还会写歌词?我微微一笑:词我是写不了,但我们会什么?编程啊!都什么时代了,还要靠人力嘛。

我的想法很简单:就是找些嘻哈歌手的歌词,把里面的词语都拿出来。当想要写一段歌词时,只要给一个参考词,就帮你找出押韵的备选词。当然太简单的单字押韵我都懒得列出来了,咱们要做就做双押和三押!

说干就干!

1.拿网易云的接口,抓了十几位中文嘻哈歌手的歌单,包括:

红花会、PGone、VaVa、艾福杰尼、BooM黄旭、Bridge、GAI爷、TizzyT、JonyJ、小青龙、辉子、孙八一、谢帝、马思维、满舒克、Mc光光

import requests
url = "http://music.163.com/api/playlist/detail?id=402614161"
req = requests.get(url)
data = req.json()

2.把他们的歌词全抓下来,共 459 首歌曲

import requests
url = "http://music.163.com/api/song/lyric?os=pc&id=411988938&lv=-1&kv=-1&tv=-1"
req = requests.get(url)
data = req.json()

3.用我们之前介绍过的结巴分词(参见【编程课堂】jieba-中文分词利器),把歌词处理下,分成一个个的词语,得到 21206 个词

import jieba
seg_list = jieba.cut("我做的说唱从来不是为了混这圈子", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))
"""
结果
Full Mode: 我/ 做/ 的/ 说唱/ 从来/ 从来不/ 不是/ 为了/ 混/ 这/ 圈子
"""

4.用 xpinyin 将处理出来的词语转成拼音

from xpinyin import Pinyin
p = Pinyin()
print(p.get_pinyin(u"嘻哈"))
"""
xi-ha
"""

5.有了拼音就好办了。从网上找个押韵表,把这些嘻哈词语分门别类,就大告功成啦。最后得到 2845 个双押及三押的备选词汇

一、佳麻  a ia ua   第十部 麻、佳半,部分入声
二、开来  ai uai    第五部 佳半、灰半
三、先寒  an ian uan üan 第七部 寒删先元半十四部覃盐咸
四、江阳  ang iang uang 第二部 江阳
五、逍遥  ao iao     第八部 萧肴豪
六、国歌  e o uo    第九部 歌,部分入声
七、灰微  ei ui   第三部 支微齐,部分入声
八、森林  en in un ün  第六部 真文元半,十三部 侵
九、冬青  eng ing ong iong 第一部 东冬,十一部 庚青蒸
十、希奇(儿)i(er并入) 第三部 支微齐,部分入声
十一、诗词 i(整体认读)第三部 支微齐,部分入声
十二、别叠 ie (y)e      部分入声,佳麻二韵部分字
十三、忧愁 ou iu     十二部 尤
十四、读书 u      第四部 鱼虞,部分入声
十五、须臾 ü       第四部 鱼虞,部分入声
十六、绝学 üe      部分入声

6.最后,用django搭个网站,把这功能做成可在线访问的

接下来,小D要做的事就只剩下:想一个词,然后去搜一下有什么其他词跟它配。比如要diss老王,搜一下“老王”:


于是小D就写下了:
隔壁老王,你不要嚣张,放学之后给我等在操场

实在太方便啦!

如果你也想来首自己的嘻哈,点击这里,进入网站自个儿玩儿去吧!

想要完整代码及详细讲解的,请在公众号(Crossin的编程教室)里回复 嘻哈

最后,本人亲自演示,如何用搜出来的双押词汇加上一段简单beat做出一段嘻哈歌曲。

https://v.qq.com/x/page/v0546...

多谢各位homie支持!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40832.html

相关文章

  • ORM-像对象一样对待数据

    摘要:顾名思义,就是将关系型数据库与中的对象关联起来,提供了一种操作数据的简便方式,相当于对数据库加了一层更友好的接口。新增数据对象方法方法直接创建数据对象,需要调用方法保存到数据库中。 咱们编程教室有不少同学,学完了基础课程,掌握了一定的编程能力,开始做项目了。然后很可能遇到一个问题:管理数据。课程里有讲过用文件保存数据,还有 pickle 、 csv 等模块辅助。但对于稍微复杂一点的数据...

    U2FsdGVkX1x 评论0 收藏0
  • python,生活仍诗和远方

    摘要:常听说,现在的代码,就和唐朝的诗一样重要。推荐使用作为编译器。代码具体步骤使用爬虫爬取全唐诗,总共抓取了首。接下来考虑优化模版,提取五言和七言常用句式作为模版。另外考虑使用机器学习的方法,写来让计算机自动生成充满韵味的诗 常听说,现在的代码,就和唐朝的诗一样重要。可对我们来说,写几行代码没什么,但是,要让我们真正地去写一首唐诗,那可就头大了。。既然如此,为何不干脆用代码写一首唐诗? 准...

    xiaotianyi 评论0 收藏0
  • Python抓取歌词自制FreeStyle

    摘要:故事的起因是上周六看中国好声音一个周杰伦战队的学员用人工智能写的歌词,于是乎,我也有了这个想法,代码的主题思路是看先生的文章,虽然最后不能写出一首歌,但是押韵脚这事情分分钟搞定了主题的思路,就是先抓取很多首歌曲的歌词,利用分词后,将分好的词 故事的起因是上周六看《中国好声音》,一个周杰伦战队的学员用人工智能写的歌词,于是乎,我也有了这个想法,代码的主题思路是看Crossin先生的文章,...

    Pines_Cheng 评论0 收藏0
  • 我从编程教室毕业

    摘要:本文的作者是之前编程教室的实训生之一,原本在汽车制造车间里工作,后来成功转行为一名程序员,从事车载语音识别相关软件的开发。通过编程教室的公众号看到先生招实训生的公告,毛遂自荐之后拿到,然后从就职的车企辞职,来到上海。 这篇文章在我的草稿箱里躺了有一年多,今天总算是发出来了。本文的作者是之前编程教室的实训生之一,原本在汽车制造车间里工作,后来成功转行为一名程序员,从事车载语音识别相关软件...

    wind5o 评论0 收藏0
  • 我们一直谈论“写代码”,但你会“读代码”吗?

    摘要:只有能看懂代码,你才能快速准确地定位代码中的问题。要写出很的代码,少不了阅读优秀的源码。我们的论坛和答疑群里,有一些同学会查看并解答其他人的代码问题。实际上,我觉得就是没看懂你只是看懂了每一行代码的意思,但并没有理解整个代码的设计。 编程,又被称作 写代码 。这个说法有可能会带来一点点误解,让人觉得如何写是学习编程要解决的主要问题。但事实并非如此。尽管最终代码要在键盘上敲出来,但这个过...

    2i18ns 评论0 收藏0

发表评论

0条评论

xiyang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<