9、音乐中的音高与时间测量相关探讨

音乐中的音高与时间测量相关探讨

音高量表生成算法

生成符合给定音高范围的音高量表的算法相对直接。调性提供了音调量表,它作为音高量表的模板。该算法的要点是根据音调量表中最接近但高于半音范围起始点的音调来找到起始音高。其他音高则通过递增间隔循环查找,同时跟踪半音索引,直到循环超出半音范围的边界。

以下是该算法的伪代码:

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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值