【问题标题】:SuperCollider Error: Buffer UGen: no buffer dataSuperCollider 错误:缓冲区 UGen:没有缓冲区数据
【发布时间】:2020-05-08 06:19:01
【问题描述】:

研究如何将声音文件读入缓冲区,然后循环播放。当我运行脚本来创建缓冲区并将声音文件读入其中时,它会成功,但是当我使用该缓冲区(此处的第二行代码)创建 SynthDef 时,它给了我错误 Buffer UGen: no buffer data。它在同一个 bufnum 上绘制,所以我不确定发生了什么。

b = Buffer.read(s, Platform.resourceDir +/+  "sounds/testing.wav");

c= SynthDef(\loopbuffer, {arg start=0, end=10000; Out.ar(0,Pan2.ar(BufRd.ar(1, 0, Phasor.ar(0, BufRateScale.kr(b.bufnum), start, end),0.0)))}).play(s);

【问题讨论】:

    标签: buffer supercollider


    【解决方案1】:
    Platform.resourceDir ++ "/sounds/testing.wav"
    

    这里的++表示连接时不插入空格。

    BufRd.ar(b.numChannels, b.bufNum)
    

    缺少b.bufNum 导致您的错误。通道 0 到 3 保留用于硬件输入/输出。

    【讨论】:

    • +/+实际上是String类中定义的一个操作符(方法)。它有一些“智能”来避免重复字符串中已经存在的路径分隔符。它还将在 MS Windows 上使用反斜杠。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2013-07-20
    相关资源
    最近更新 更多