|
|
1
0
我没有使用OpenAL,但在其他声音库中我看到了这个“工件”。通常,在处理音调发生器等时,当音调达到100%音量水平时,会有一个变量,我一辈子都不记得它叫什么:) 这样地:
其中,400表示赫兹,40 dB表示音量,3000毫秒表示持续时间和 50毫秒是从音量0(或+100dB)开始音调到达到40 dB所需的时间。 我现在简直找不到这个词。 不管怎么说,如果你有能力设置这个变量,试着这样做,只需将它设置为10毫秒左右。你将听不到它,但它为我消除了iPhone使用的开源声音库和过去使用的一些Java/处理库中的点击声音。 也许这与底层代码触发连接到扬声器的硬件的方式有关? |
|
|
2
0
我在这方面有经验,主要是因为你把音高调得太高或太低,把音高调得太高或太低都会拉伸或收缩波数据长度,如果你的数据没有足够的样本来拉伸,听起来会很“奇怪”,如果播放缓冲区没有足够的样本输入时间,则在缩短长度(调高)的情况下,它将延迟或抖动,因为从概念上讲,播放速率会因音频长度的缩短而增加,您听到的主要是咔哒声或弹出声。 为了防止这种情况发生,您应该限制移位范围,大多数声卡的移位范围通常为0.5到2.0,并且在声卡上有所不同,因为在DSP中使用一些高级平滑和处理可以使音调移位更好,因此这将取决于DSP或CPU的处理能力来进行此类处理。我曾尝试过使用内置intel HDA,其限制大多为0.5到2.0,但使用X-Fi声卡更好,改为0.1。。5.0没有问题 |
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
routern · 如何组合contextMenu和圆角矩形? 1 年前 |
|
|
DevHome98 · 3D触摸不适用于设备swift 2 年前 |
|
|
dunoiww · 从全屏返回时如何触发onAppear 3 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 3 年前 |
|
|
Community wiki · 查找iOS日历 3 年前 |
|
|
Community wiki · 有效的IPhone编程技术[关闭] 3 年前 |