演奏一个音符时更改 csound 振荡器频率
Change csound oscillator frequency while playing one note
我在 CSoundUnity 的上下文中使用 CSound 来使用 Unity 构建合成器。
我希望有可能在播放期间更改一个准无限持续时间的音符的频率。不在音符之间。
Unity C#脚本和csound之间的通信是通过CSoundUnity“通道”实现的。
我在 csound-csd 文件中实现振荡器是这样的:
instr 1
kfreq chnget "freq"
iflg = p4
asig oscils .7, kfreq, 0, iflg
outs asig, asig
endin
这会导致语法错误,因为振荡器的参数 kfreq 只能更改 per note 而不是在正在播放,所以不能作为控制参数。
脚本以这种形式编译:
instr 1
ifreq chnget "freq"
iflg = p4
asig oscils .7, ifreq, 0, iflg
outs asig, asig
endin
但我希望可以在播放过程中改变频率。
有没有可能实现这个?
k-rate 的频道读数很好,您只需要使用不同的振荡器来接受 k-rate 频率变化。例如尝试 oscili 或 oscil3。
我在 CSoundUnity 的上下文中使用 CSound 来使用 Unity 构建合成器。 我希望有可能在播放期间更改一个准无限持续时间的音符的频率。不在音符之间。
Unity C#脚本和csound之间的通信是通过CSoundUnity“通道”实现的。
我在 csound-csd 文件中实现振荡器是这样的:
instr 1
kfreq chnget "freq"
iflg = p4
asig oscils .7, kfreq, 0, iflg
outs asig, asig
endin
这会导致语法错误,因为振荡器的参数 kfreq 只能更改 per note 而不是在正在播放,所以不能作为控制参数。
脚本以这种形式编译:
instr 1
ifreq chnget "freq"
iflg = p4
asig oscils .7, ifreq, 0, iflg
outs asig, asig
endin
但我希望可以在播放过程中改变频率。
有没有可能实现这个?
k-rate 的频道读数很好,您只需要使用不同的振荡器来接受 k-rate 频率变化。例如尝试 oscili 或 oscil3。