当前位置: 首页 > 知识库问答 >
问题:

用AudioBufferList增加正弦波产生的释放时间

陈朗
2023-03-14

我一直试图在一个正弦波产生项目中添加释放(或衰减)时间,以这个例子为基础。我基本上想要的不是声音被如此剧烈地切断,当我停止生成它时,在结束时增加一些释放。

我怎样才能实现呢?

共有1个答案

浦出野
2023-03-14

在你想要静音之前,开始一些样本,比如5到50毫秒或你决定的释放时间,并在这个时间间隔内将正弦波样本乘以从1.0下降到0.0的斜坡。线性下降可以,但升余弦(0.5+0.5*cos(PI*t))可能更好。

 类似资料:
  • 用C/C++编写了一个三维正弦波发生器 代码:

  • 我试图生成一组点,当绘制成一个图表示1个周期的正弦波。要求是: 1个周期的正弦波 下限=29491 上限=36043 点数=100 振幅=3276 零偏移量=32767 代码: 我正在生成并存储一个文件中的点。当这些点被绘制出来时,我得到了下面的图。 但我只需要一个循环。我怎么能这么做?

  • 我如何建立一个方程来产生扫频正弦波。我是信号处理新手,在网上找不到太多关于生成扫描正弦波的话题。请告诉我一些我可以用来生成方程式并在代码中使用的源代码。非常感谢。

  • 我试图在y有最高值时显示x位置。在if语句中,我试图将y值与120进行比较,但它似乎从来都不是真的,所以它没有使用文本函数显示我的x位置。我也试着取整y值,但结果仍然不是我想要的。有人能帮我吗?

  • 我正在做一个项目,我想通过组合不同的正弦波来产生(简单的)声音。我使用的是arduino mkrZero,因为它内置了I2S接口,似乎有足够的处理能力来满足我的需求。 教程代码工作得很好,我从扬声器中得到了一个简单的方波音调。 现在我修改了生成正弦波的代码,有一个sin函数的查找表,使其足够快: 如果我稍微修改一下代码,然后写 而不是 一切都破裂了,扬声器发出的声音听起来像是可怕的尖叫 //阻塞

  • 我想创建一个实时正弦发生器使用苹果核心音频框架。我想做低水平,这样我就可以学习和理解基本原理。 通过使用VSYNC,我可以将循环降低到60 fps。时间不是很紧,但相当稳定。我也有一些代码来手动使用马赫计时,这甚至更不精确。为了可读性我把它省略了。不使用VSYNC或使用马赫定时来获得每秒60次迭代也会造成音频故障。 定时日志: 这里重要的是函数。它每秒被调用60次,并传递给它一个包含基本信息的结构