Please enable JavaScript.
Coggle requires JavaScript to display documents.
prompt/描述(用户输入,或者系统给出), bass轨一拍只能有一个音, 判断柱式和弦轨道, 做一个网页,告诉用户输入8行,生成节奏型,节奏型得…
prompt/描述(用户输入,或者系统给出)
基于描述|歌词的节奏型生成
基于节奏型的旋律音高生成
☆基于旋律的编曲
缩混
基于和弦做其他轨。指旋律和声&有多乐器的编排?到这一步可以设置用户自主选择什么类型的和声
编曲一样,旋律再怎么变,听起来也是一样的,拿现成的编曲伴奏|乐器来做时,也是要做的
歌声合成
和弦进行
节奏型方面没有太大的问题【目前是任意的prompt输入,要求8行但不限制字数,完全是通过文本的生成。】
基于prompt生成歌词(或者基于用户的输入歌词是一个优化)
bass轨一拍只能有一个音
所有的音都在一个八度
一拍内只保留先出现的音
拉满一拍
取出除DRUM以外的B轨音符,BASS轨一般是B轨(BASS轨已处理好)
音高从高到低排序,按一拍的范围分span
目前按拍起始时间戳加的BOB,会把长音划分到前一个span里,有点问题
检测最低音是否在C1(24)-B3(59),高音区是否在C4(60)-C6(84)
若高音区有不在C4-C6的音,换到C4-C6
所有音从高到低码好,最高音和最低音不变,从上往下遍历,按八度计算,若重,则删。如:G5、E5、C5、C4、G3、E3→G5、E3不变→G5、E5、C5、E3
拉满一拍
所有音不在一个八度
先把所有的音转到同一个八度
有重复的音高则删除
此时,若一拍内音高还不唯一,只保留最低音
判断柱式和弦轨道
对每个B轨的音符计算判断
先做quantization,量化到最近的单位刻度。?
插入beat开始时间戳,分span。计算每个span内onset相等的音符个数记为ni,并得到所有span的符合条件音符数总和,除以span数得到poly-rate
按阈值判断得到柱式和弦轨?
0
用除DRUM以外的B轨音符处理分析
1
柱式和弦轨所在的时间拍,用柱式和弦轨+bass轨音符来处理。其他拍用除DRUM和以外的B轨音符处理分析
大于等于2
合并柱式和弦轨。然后处理如情况二
做一个网页,告诉用户输入8行,生成节奏型,节奏型得到旋律,(有和弦进行之后),生成编曲
下周完成旋律出demo(7.18-7.27)
prompt
文本(这里就是歌词)
节奏型
和弦进行|调性--conditional----由伴奏来的---伴奏是用户输入的或者库来的
旋律音高
MIDI
旋律
Poly-rate计算
Poly-rate计算后
step1,做柱式和弦轨的判断
先考虑最好的情况:一个MIDI有一条柱式和弦轨,并且它是有内容的,poly_rate>=3
链路一:基于文本的旋律生成
链路二:基于MIDI旋律的旋律生成、相似旋律生成
基于大模型的xxxxxxxxxxxxx