buffer - 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);
解决方案
Platform.resourceDir ++ "/sounds/testing.wav"
这里的++
意思是连接时不插入空格。
BufRd.ar(b.numChannels, b.bufNum)
缺少b.bufNum
导致您的错误。通道 0 到 3 保留用于硬件输入/输出。
推荐阅读
- javascript - 我不能用 jquery 再次更改 id
- docker - /bin/sh: /root/start-docker.sh: 在 docker 中执行命令时权限被拒绝
- amazon-web-services - 停止没有任何用户登录的 AWS Ec2 实例
- vb.net - DirectCast 对象上的 SelectAll 不起作用
- gis - 如何使用 arcgis Rest API 设置流程?
- php - Laravel,如何将密码重置为用户表中重复的电子邮件
- laravel - 如果数组大小很大,则无法在会话中存储数组 laravel 6
- plot - 无法使用散景 BoxSelectTool 访问选择
- python - Visual Studio Code 的调试器和 pipenv
- javascript - 如何通过 React 中的 api 数据进行映射?