首页 > 解决方案 > SuperCollider 错误:缓冲区 UGen:没有缓冲区数据

问题描述

研究如何将声音文件读入缓冲区然后循环它。当我运行脚本来创建缓冲区并将声音文件读入其中时,它会成功,但是当我使用该缓冲区(此处的第二行代码)创建 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);

标签: buffersupercollider

解决方案


Platform.resourceDir ++ "/sounds/testing.wav"

这里的++意思是连接时不插入空格。

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

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


推荐阅读