首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自CSound中任意长度的两个表的信封

来自CSound中任意长度的两个表的信封
EN

Stack Overflow用户
提问于 2019-03-16 00:16:06
回答 1查看 11关注 0票数 0

我正试着用两个函数表做一个音高包络。一个表保存音调值,另一个表保存相应的持续时间。这两个表的长度相等,但长度可以是任何值。有没有人知道用任意数量的点创建直线的好方法?或者一种将两个信封一个接一个地连接在一起的方法?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-03-16 23:11:15

这是一种可能性:

代码语言:javascript
复制
instr test
 kPitches[] fillarray 60, 62, 61, 63
 kDurations[] fillarray 1, 2, 3, 1
 kTime init 0
 kIndx init 0
 if kTime <= 0 then
  kPitchLine = kPitches[kIndx]
  kTime = kDurations[kIndx]
  kIndx += 1
 endif
 kTime -= 1/kr
 aTest poscil .2, mtof(kPitchLine)
 out aTest, aTest
endin
schedule("test",0,7)

如果你愿意,你可以使用函数表代替数组。您可以将其封装到一个UDO中(有关更多信息,请参阅http://write.flossmanuals.net/csound/g-user-defined-opcodes/ )。

也许你会考虑加入csound邮件列表。你会在那里得到更多的建议:https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55186730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档