问题标签 [supercollider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
382 浏览

clojure - 深入解释 clojure 泛音发生器中的副作用接口

我是泛音/超级对撞机的新手。我知道声音在物理上是如何形成的。但是我不明白泛音发声功能中的魔力。

假设我有一个基本的声音:

我在这里了解声音包络、正弦波、频率、音量的 ASR 循环。它们描述了声音随时间变化的幅度。我不明白的是时间。由于这里所有功能的输入都没有时间,我如何控制像回声和其他很酷的效果这样的东西?

如果我要编写自己的 sin-osc 函数,如何指定特定时间点的声音幅度?假设我的 sin-osc 必须在周期的 1/4 处设置输出达到幅度 1.0 的峰值,我可以用什么接口来控制它?

在不知道这一点的情况下,所有泛音中的声音合成器对我来说都没有意义,它们看起来像是具有未知副作用的奇怪函数。

0 投票
1 回答
85 浏览

supercollider - 为什么这个事件模式不会产生八度跳跃?

我正在尝试学习如何使用事件模式。我输入了以下内容,期待一个每次“向下跳”一个八度的序列:

我当然得到一个降序,但间隔不是一个八度。我错过了midinote钥匙的一些细节吗?

0 投票
1 回答
101 浏览

supercollider - 为什么这个合成器结构是沉默的?

我正在尝试通过总线将合成器路由到另一个合成器(以提供效果)。这是我的代码:

代码不会出错(输出窗口显示为“一个 EventStreamPlayer”)。但我听不到任何声音。

如果我将Out.ar线路更改\mySynth为使用 channel0而不是 bus b,那么我确实会听到声音,尽管没有任何路由到效果合成器。所以我猜这个问题与总线和/或处理顺序有关。但我不知道如何解决它。任何人都可以帮忙吗?

0 投票
3 回答
159 浏览

supercollider - 为什么我如何执行这段代码很重要?

我已经构建了以下简单的合成器结构,它创建了一个合成器并通过效果单元路由其输出:

当我以特定方式执行代码时,这只会产生声音输出:

  • 我可以按顺序单独执行每个块,并得到声音输出。
  • 我可以执行第一个块直到'分界线'注释,然后是以下块,我会得到声音输出。
  • 如果我一起执行所有代码,我不会得到声音输出。

我猜在声明 aSynthDef然后使用 实例化它之间必须有一些延迟Synth(),而服务器确实设置了一些东西。任何人都可以解释一下吗?

0 投票
1 回答
187 浏览

supercollider - 如何为 Pseq 中的值添加随机偏移量?

给出Pseq类似于以下内容:

我将如何每次稍微随机化这些值?也就是说,不仅在初始化时随机更改 8 个值,而且每次将值发送到流时都会添加一个随机偏移量?

0 投票
1 回答
650 浏览

supercollider - SuperCollider:从多通道文件的单通道加载单声道缓冲区

有没有办法通过从立体声或多通道文件中读取单个通道来加载单声道缓冲区?谢谢!

【替别人问】

0 投票
1 回答
398 浏览

supercollider - 如何停止 Pmono?

我通读了文档Pmono并且一定读错了。从以下我推断节点Pmono创建将在Pmono完成后被删除:

“该节点在进入 Pmono 时创建,并在 Pmono 终止时释放。”

所以我想了一个Pmono这样的:

...将创建一个播放 0.2 秒然后自动释放的合成器。但是,它一直在播放,这让我想知道这与什么\dur, 0.2有关。

Pmono当我不再想要它时,我如何杀死它?或者更重要的是,是否有一个 Pthing 表示“创建这个单声道合成器,在它启动后我可以继续向它发送控制数据,并且在模式结束时自动释放”?

编辑:我正在尝试做的更多上下文:我希望能够创建一个昂贵的效果合成器的实例,我只想要一个酒吧左右,它会在我完成后自动释放用它。

0 投票
2 回答
2482 浏览

supercollider - 如何以编程方式停止所有合成器?

我如何以编程方式告诉 supercollider 停止所有合成器,就像在Ctrl+.IDE 中一样?

0 投票
1 回答
92 浏览

supercollider - 为什么我不能对合成参数进行相等性测试?

我很迷惑。在这段代码中:

..平等测试myParam == \something永远不会返回true,尽管每次Pbind都清楚地发送。\something也没有其他值可以工作:0nil

然而,平等测试myParam == myParam并且\something == \something确实有效,所以在这些情况下,我得到一个单调的旋律。

我只能猜测 aPbind在某种包装器中发送每个值,但我不知道如何从合成器内部检查它们。任何人都可以帮忙吗?

0 投票
1 回答
787 浏览

supercollider - 我可以在 Pbind 中发送被解释为 midinote 或 degree 的值吗?

我不确定 SuperCollider 是否可以在棍子上提供卫星,但我真的希望能够在 my 中指定以与orPbind相同的方式解释的值:即自动转换为频率。midinotedegree

所以,这样的一个摘录Pbind,它产生了一个 TB-303 风格的幻灯片,从一个频率到另一个频率:

...如果prevFreq以与degree.

在没有某种自动转换的情况下,我假设我需要在合成器本身内进行某种计算,以便将我的值从degree-type 值转换为实际频率。我知道我可以foo.midicps用来将midinote-type 值转换为频率,但是是否有类似的便利函数可以将degree-type 值转换为频率(大概也使用当前scaleoctave值)?