音乐中的音高与时间测量相关探讨
音高量表生成算法
生成符合给定音高范围的音高量表的算法相对直接。调性提供了音调量表,它作为音高量表的模板。该算法的要点是根据音调量表中最接近但高于半音范围起始点的音调来找到起始音高。其他音高则通过递增间隔循环查找,同时跟踪半音索引,直到循环超出半音范围的边界。
以下是该算法的伪代码:
function build_pitch_scale(tones, incremental_intervals, chrm_range):
(tone_index, chrm_index) = lowestInRange(tones, offsets, chrm_range)
scale = [DiatonicPitch(partition_of(chrm_index),
tones[tone_index].diatonic_symbol)]
prior_pitch = scale[0]
while True:
tone_index += 1
if tone_index > len(self.tone_scale) - 1:
tone_index = 1 # skip 0 as that should be P:1
incremental_interval = incremental_intervals[tone_index]
current_pitch = incremental_interval.get_end_pitch(
超级会员免费看
订阅专栏 解锁全文
50

被折叠的 条评论
为什么被折叠?



