首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >胆量-如何设置Nyquist提示控制速率以匹配音频速率?

胆量-如何设置Nyquist提示控制速率以匹配音频速率?
EN

Stack Overflow用户
提问于 2013-04-17 00:05:59
回答 1查看 496关注 0票数 0

我希望使用Nyquist提示符插件在奥迪,以构建一个分段线性波形的2048样本在长度。例如,我可以通过从2048个静音(零)样本开始,选择all,然后调用Nyquist提示符来生成方波,方法如下:

代码语言:javascript
复制
(sum s (pwl
  0 1
  0.5 1
  0.5))

这使用分段线性(pwl)函数来创建一个波形,从时间0开始,级别1.0,然后线性内插到Time0.5(在所选区域的一半),第1.0级,然后立即跳到0.0级,并在0.0时继续直到时间1.0。

这是可行的,然而,产生的波形没有一个尖锐的一个样本转换(step)在时间0.5,相反,它有一个线性斜坡在1.0和0.0之间的~40个样本。在这种情况下,这是不可接受的。

转换这里建议,在奥迪内,尼奎斯特插件实际上运行的控制速率远低于音频速率,因此产生的斜坡。

我实际上希望创造一个比方波更复杂的波形,所以一旦这个问题解决了,我就可以继续构建完整的波形。

我的问题是:

  • 是否可以调整控制速率,使之与音频采样率相匹配,以便对pwl函数进行采样精确控制,以及
  • 如何将它合并到一个也调用'pwl‘的Nyquist Lisp表达式中--我对Lisp一点也不熟悉,也不知道如何顺序执行两个语句。我猜有个函数可以做..。

如果这更有意义的话,我很乐意在奥德之外使用尼奎斯特。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-17 00:10:45

我链接到的线程包含了我需要的答案。我会在这里发这篇文章,以防它对未来的人有帮助:

代码语言:javascript
复制
(progv '(*control-srate*) (list *sound-srate*)
  (sum s (pwl
  0 1
  0.5 1
  0.5))
)

这将控制速率设置为声音采样率,从而允许pwl函数直接绘制到单个样本中的目标级别。

而且,看来Lisp中的语句是按顺序进行的,只需将下一条语句作为前一条语句的最后一个参数。例如,这里调用'sum‘的语句位于一个块中,该块是progv的第三个参数。这是正确和笼统的吗?

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

https://stackoverflow.com/questions/16049279

复制
相关文章

相似问题

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