DC娱乐网

105Python 拆解千年回环诗!解锁文字循环的编程逻辑

回环诗_旋律模进_开嗓音频生成_sequence回忆上次研究了 首尾吟事情总是 绕圈重复我们需要 找到规律文字 除了 首
回环诗_旋律模进_开嗓音频生成_sequence回忆

上次研究了 首尾吟

事情总是 绕圈重复

我们需要 找到规律

文字 除了 首尾呼应之外

也可以 层叠递进 吗?

回环

五个字组成字符串

循环起来

可以 来个 七言 的 吗?

回圜文

苏东坡赏花后作了前两句

赏花归去马如飞 - 去马如飞酒力微”

故意留尾让苏小妹续接

苏小妹一眼识破回环逻辑

补上后两句

酒力微醒时已暮 - 醒时已暮赏花归

让全诗形成完整循环

苏东坡对此十分赞赏

前后有重叠

可以用切片的方法

得到 这首诗 吗?

poem = "赏花归去马如飞酒力微醒时已暮赏花归"

python角度理解

poem[0:7]poem[3:10]poem[7:14]poem[10:18]

间距并不相等

赏花归 出现了 2次

可以只出现 1次 吗?

poem = "赏花归去马如飞酒力微醒时已暮"

再压缩

poem[0:7]poem[3:10]poem[7:14]poem[10:] + poem[:3]

压缩成功

能谱个曲子吗?

生成

import midofrom mido import Message, MidiFile, MidiTrack# 创建MIDI文件,设定默认PPQN=480(四分音符=480tick,二分音符=960tick)mid = MidiFile()track = MidiTrack()mid.tracks.append(track)# 初始化:120BPM速度 + 选择竹笛音色(贴近羽调式古风,program=73)track.append(mido.MetaMessage('set_tempo', tempo=mido.bpm2tempo(120)))track.append(Message('program_change', program=73, time=0))# 核心配置:# 1. 五声羽调式(以D为羽音,对应音高:D4-F4-G4-A4-C5,符合回环柔和的调性)# 2. 诗句对应旋律:4句诗共用核心动机,第4句旋律回归第1句,实现回环pitch_map = {    # 第1句:赏花归去马如飞    "赏": 62, "花": 65, "归": 67, "去": 69, "马": 72, "如": 69, "飞": 67,    # 第2句:去马如飞酒力微(复用第1句后4字旋律,自然衔接)    "酒": 67, "力": 65, "微": 62,    # 第3句:酒力微醒时已暮(复用第2句前3字旋律,铺垫回环)    "醒": 62, "时": 65, "已": 67, "暮": 69,    # 第4句:醒时已暮赏花归(复用第3句前4字+第1句前3字旋律,完成回环)    "赏": 62, "花": 65, "归": 67}# 完整28字回文诗文本poem = [    "赏", "花", "归", "去", "马", "如", "飞",  # 第1句(7字)    "去", "马", "如", "飞", "酒", "力", "微",  # 第2句(7字)    "酒", "力", "微", "醒", "时", "已", "暮",  # 第3句(7字)    "醒", "时", "已", "暮", "赏", "花", "归"   # 第4句(7字)]# 生成音符事件:前6字四分音符(480tick),尾字二分音符(960tick)for i, char in enumerate(poem):    pitch = pitch_map[char]    # 音符按下(音量中等,velocity=70)    track.append(Message('note_on', note=pitch, velocity=70, time=0))    # 判断是否为句尾字(第7、14、21、28字),设置对应时长    if (i + 1) % 7 == 0:        track.append(Message('note_off', note=pitch, velocity=70, time=960))  # 尾字:二分音符    else:        track.append(Message('note_off', note=pitch, velocity=70, time=480))  # 非尾字:四分音符# 保存MIDI文件mid.save('huihuan_poem_yu_mode.mid')print("28字回文诗羽调式MIDI已生成:huihuan_poem_yu_mode.mid")

填词

赏花归去马如飞去马如飞酒力微酒力微醒时已暮醒时已暮赏花归

回圜道

poem = "天香荡水动心莲合梦缘"

应该如何提取切片呢?

这有啥 应用场景吗?

总结会

用 生成 回环诗 总结

比 哪些 那ai生成 顺口溜的

高级多了

怎么生成呢?

生成回环文

回环文

历史上

谁写回环诗

比较出名呢?

苏慧

前秦时期才女 苏蕙所作

窦滔 赴任襄阳 要带小妾

分别

苏蕙 是 正妻

不高兴 拒绝同行

独守空房

将璇玑图织于锦缎之上

寄予其夫

璇玑图

八百四十一字

纵横各二十九字

纵、横、斜、交互、正、反读或退一字、迭一字读均可成诗

诗有三、四、五、六、七言不等

共有一千多种成诗方法

其他艺术形式也有类似的吗?

脱口秀

这种重复性的 节奏感

在 脱口秀里面 叫做 callback

反复刺激

还有吗?

相声

绕口令

元素的重复

排列组合

构成乐趣

相声

相声叫一挂到底

就问你 什么 叫

雨打沙滩 万点坑

绕口令

《吃葡萄不吐葡萄皮》

吃葡萄不吐葡萄皮

不吃葡萄倒吐葡萄皮

《牛郎恋刘娘》

刘娘念牛郎

牛郎年年恋刘娘

刘娘连连念牛郎

郎恋娘来娘念郎

《水连天》

天连水,水连天

水天一色望无边

蓝蓝的天似绿水

绿绿的水如蓝天

还有吗?

电影

总结🤔

这次研究了 回环文

绕圈读

文字 重叠 反复

这些都是由 列表构成的

列表 还能怎么玩呢?🤔

下次再说 👋