我需要弄清楚一种改变信号相位的方法。目的是生成两个信号,一个相位改变,并在组合时观察模式。
如上所述,我需要使用相同的信号来生成相位变化信号,然后将两个信号组合起来并观察模式。
有人可以帮我解决这个问题吗?
感谢。
答案 0 :(得分:4)
要更改振荡器的相位,请使用右侧入口。
引用Johannes Kreidler's Programming Electronic Music in Pd:
3.1.2.1.3阶段
在Pd中,您还可以为应该开始的声波(或应该跳到的位置)设置声音的位置。这被称为波的相位。您可以在" osc~"的正确入口中设置Pd的相位。数字介于0和1之间的对象:
波的整个周期包含在0到1的范围内。但是,通常用度数表示,其中整个周期为360度。例如,一个人讲的是90度相移"。在Pd中,相位的输入为0.25。
因此,例如,如果您想观察两个信号如何因破坏性干扰而变为静音,您可以尝试这样的事情:
请注意,我连接了一个bang,同时调整两个信号的相位。这很重要,因为虽然您可以随时将信号的相位重置为0.0到1.0之间的任何值,但另一个振荡器不会被重置,因此结果将非常随机(您永远不知道哪个阶段价值另一个信号将在!)。所以重置两者都可以。
答案 1 :(得分:4)
使用[osc~]对象的右侧入口是设置振荡器相位的有效方法,但它不是唯一的,甚至是最正确的方式。右侧入口仅允许控制级别的浮动。
可以使用[phasor~],[cos~],[wrap~]和[+〜]对象在信号电平进行更全面的相位操作。基本上,您使用[phasor~]和[cos~]通过一种称为表查找的技术执行与[osc~]相同的功能。您可以使用[tabread4~]而不是[cos~]读取另一个表。
此技术可使您的振荡器保持同步。您可以使用其他振荡器,表格查找操作振荡器的相位,当然还有浮点数(只要相位值介于0和1之间,因此[wrap~]对象)。
phase modulation at the signal level
之后,与此处的其他示例一样,您可以将信号一起添加并将其写入相应的表格或输出信号链或两者。
以下是对自定义表查找执行相同操作的方法。当然,您可以使用自定义表名替换 sometable ,并使用表中的样本数替换 num-samp-in-some-table 。
signal level phase modulation with custom tables
希望它有所帮助!