python pysynth随机生成中国风音乐旋律

import pysynth
import numpy as np
import re

#先限定音符12356 中国风五声调式 这样听起来比较自然
notes=np.array(["c4","d4","e4","g4","a4",])
#音符时值
durations=np.array([1,2,4,-2,-4,-8])

#随机生成音符 重音穿插其中
sn=[]
for t in range(16):
    n=np.random.randint(0,len(notes))
    note=notes[n]+"*"
    sn.append(note)

    for i in range(np.random.randint(3,5)):
        note0=notes[np.random.randint(0,len(notes))]
        sn.append(note0)
        
#随机生成音符时值序列 形成长短参差变幻的节奏
dn=[]
for i in range(len(sn)):
    duration=durations[np.random.randint(0,len(durations))]
    nn=sn[i]
    dn.append(duration)

#将音符和时值合并成旋律
melody=tuple(zip(sn,dn))
print(melody)

#将乐谱合成到声音文件
pysynth.make_wav(melody,fn =r"d:\test.wav")

print("ok")

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值