标签: supercollider

使用supercollider和python

我想做一些实时的声音处理,我听说过supercollider

它看起来很棒,但我想坚持使用python,因为"普通"编程是个问题.

有没有办法将python脚本作为模块加载到supercollider或oposite?

意味着将库导入我的python代码并使用supercollider功能?

我没有在网上找到太多关于它的信息,所以任何帮助都会很棒.

python audio mp3 sound-synthesis supercollider

12
推荐指数
1
解决办法
6232
查看次数

Clojure,Overtone,Supercollider中的声音合成

我刚刚完成了 https://github.com/overtone/overtone/wiki/Getting-Started 这太棒了.

现在,我想做更多.

我是数学/ CS专业,所以我知道什么是傅里叶变换; 但是,我没有音乐背景.我想学习以下内容:

  • 模拟基本的打击乐器
  • 写一些短片.

但是,我对从头开始学习这些技能不太感兴趣,并且感兴趣的是通过clojure /泛音/ supercollider进行一个很好的教程/导游.

[我发现通过调整好东西来学习更快; 而不是为我的第一次运行从头开始构建.]

谢谢!

clojure supercollider

9
推荐指数
1
解决办法
5620
查看次数

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

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

supercollider

6
推荐指数
2
解决办法
1712
查看次数

如何从终端命令行界面 (CLI) 在扬声器上以非交互方式播放 SuperCollider 文件或保存到输出文件?

我想从 SuperCollider 中获得一些乐趣,对我来说乐趣意味着在 shell 中运行命令!

到目前为止,我已经成功地用以下扬声器播放:

RS.scd

s.waitForBoot({
  // Play scale once.
  x = Pbind(\degree, Pseq([0, 3, 5, 7], 1), \dur, 0.25);
  x.play;
});
Run Code Online (Sandbox Code Playgroud)

和:

sclang rs.scd
Run Code Online (Sandbox Code Playgroud)

并保存到https://doc.sccode.org/Guides/Non-Realtime-Synthesis.html中提到的文件中:

惩教署

x = Pbind(\degree, Pseq([0, 3, 5, 7], 1), \dur, 0.25).asScore(1, timeOffset: 0.001);
x.add([0.0, [\d_recv, SynthDescLib.global[\default].def.asBytes]]);
x.sort;
x.recordNRT(
    outputFilePath: "nrt.aiff",
    sampleRate: 44100,
    headerFormat: "AIFF",
    sampleFormat: "int16",
    options: ServerOptions.new.numOutputBusChannels_(2),
    duration: x.endTime
);
0.exit;
Run Code Online (Sandbox Code Playgroud)

因此,为了实现我的目标,我缺少:

  • rs.scd玩完后如何自动退出?我可以这样做1.wait; 0.exit;,但这迫使我对 进行硬编码1,这是正在播放的 4 个 0.25s 音符的长度(以秒为单位)。这1也是硬编码在 中的nrs.csd,如果能够将其分解出来那就太好了。
  • 如何制作一个可以在扬声器上播放或保存到文件的单个文件,例如基于我在运行它时选择的命令行选项?我想我最终会通过玩 …

supercollider

6
推荐指数
1
解决办法
1024
查看次数

如何提供Buffer.read的相对路径?

所以我想使用相对路径将声音文件加载到缓冲区中.(我将我的东西保留在版本控制之下,并且不想对某人可能在其文件系统上克隆repo的位置做出任何假设.)

所以,我最初假设如果我提供了一个看起来相对的路径,那么SC会把它解释为相对于正在执行的文件的位置:

Buffer.read(s, "Samples/HiHats1.hihat2.wav");
Run Code Online (Sandbox Code Playgroud)

但SC无法找到该文件.所以我抬头asAbsolutePath试了一下:

Buffer.read(s, "Samples/HiHats1.hihat2.wav".asAbsolutePath);
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为SC无法计算出我的相对路径的绝对路径.

"Samples/HiHats1.hihat2.wav".asAbsolutePath
Run Code Online (Sandbox Code Playgroud)

...实际上在我的文件系统上返回一个不存在的位置.欢呼!

任何人都可以就如何实现这个麻烦的任务提出任何建议吗?

supercollider

4
推荐指数
1
解决办法
2105
查看次数

如何在数组迭代中等待?

[1,2,3].do { /* how to wait 1s here? */ }

我正在学习supercollider.我找到了SimpleNumber.wait函数,但我很快就知道它在"普通"函数中不起作用,只在一些称为Routines的"不同"函数中.

我故意停在那里问这个问题:在someArray.do构造的每次迭代中有没有一种简单的方法可以暂停一段时间?通过"简单的方式",我的意思是不需要学习十几个新概念并经历范式转换.

说得好:我知道最终需要学习关于超级滑翔机中的常规,任务和其他排序机制的整本大书,但是现在我只想玩"玛丽有一只小羊羔"并将其称为noob的一天,没有在我能做任何事情之前必须学习所有这些.

这可能吗?

supercollider

1
推荐指数
1
解决办法
162
查看次数

标签 统计

supercollider ×6

audio ×1

clojure ×1

mp3 ×1

python ×1

sound-synthesis ×1