问题标签 [audio-aliasing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
audio - 低频声音采样
这个问题其实我之前也发过,但是没有人回答。可能我说的不够清楚,我换个说法:
如您所知,当您以特定采样率对信号进行采样时,任何高于采样率一半的频率都会出现混叠。为了避免这种情况,您需要将信号(以模拟形式,或以更高速率采样的数字形式)通过适当的低通滤波器。
现在,就我而言,我正在使用 Windows 的 waveIn 函数以一定的速率收集麦克风输入。由于 waveIn 函数似乎在我提供给它的任何采样率下工作,而不是在任意预定义的速率下工作,我真的不知道声卡是否实际上以该速率采样,或者它是否以预定义的速率采样并且系统“转换“按照我要求的价格。我也不在乎,其实...
我关心的是,当我以 8kHz 采样时,声卡或系统是否执行低通滤波(声卡上的模拟滤波器或数字滤波器,然后限制在某个最大采样率支持声卡),所以我的输入不会出现混叠频率。
或者,我应该以尽可能高的采样率进行采样并自己过滤掉频率?
iphone - 在 iOS 上渲染非常高频的声音
我正在尝试使用 AudioUnit 为 iPhone 项目渲染一系列高频声音(大约 8-20KHz),但是 12KHz 以上的所有声音都严重失真和/或完全错误的音调。我已经将波形渲染为图像,并意识到,因为 iPhone 的硬件采样率为 44,100Hz,所以应该归咎于混叠(我的 22KHz 正弦波更像是 100Hz 正弦波)。
有什么解决办法吗?我在商店里看到了许多“狗哨”应用程序,但我猜它们不太可能是“真实的”。更改 AudioStreamBasicDescription 的采样率似乎并没有太大帮助,但也许我做错了。
python - 算法 - 返回混叠频率
在 Python 中,我正在尝试编写一个 algorithm alias_freq(f_signal,f_sample,n)
,其行为如下:
以下是我一直用来测试上述功能的代码(f_signal
,f_sample
,n
以下是任意选择的,只是为了填写代码)
我的想法是,如果函数正常工作,两者的图y1
和y_alias
都会从y_sample
. 到目前为止,我完全没有成功地让函数中的 if 语句或 else 语句来做我认为应该做的事情,这让我相信要么我没有像我想要的那样理解别名,要么我的测试代码不好。
我的问题是:首先,我正在使用的测试代码是否适合我正在尝试做的事情?主要是,我正在寻找的 alias_freq 函数是什么?
另请注意:如果某些 Python 包已经内置了这样的功能,我很想听听 - 但是,我这样做的部分原因是为了给自己一个设备来更好地理解别名等现象,所以我仍然想看看我的功能应该是什么样子。
c++ - 为音频/DSP 实现 Z-1 单元延迟功能的最简单方法?
我正在基于无限线性过采样从 Reaktor 重建一些失真单元,这是一种减少混叠的技术。它涉及具有单位延迟的失真方程的积分。这是示意图的示例: https ://www.native-instruments.com/forum/attachments/ilo-tanh-png.54931/
我想知道编写一个将输出延迟一个单位(Z-1)的函数的最简单方法是什么。
我在这里阅读了 Jordan Harris 的帖子,但我不确定我是否遵循他的技术。
这就是我想知道是否可能是相同的想法:
所以原则上,它接受一个输入,但它不返回那个输入。它将它复制到另一个名为 output 的变量,我认为需要将其初始化为 nullptr,以便第一个示例请求在其中包含某些内容(即 nullptr)。不确定如何将其折叠到函数中。
由于 C++ 对顺序敏感(我认为),因此该函数每次运行时都会返回先前样本的输出。
然后,例如,它可以用在这样的方程中:
integral - getUnitDelay(integral) ... ;
那行得通吗?有更好的方法吗?
一如既往的感谢
python - 对时间序列数据应用傅里叶变换并避免混叠
我愿意对时间序列数据应用傅立叶变换以将数据转换为频域。我不确定我用来应用傅立叶变换的方法是否正确?以下是我使用过的数据的链接。
读取数据文件后,我使用绘制了原始数据
由于数据是每天的频率,我已经将其转换为秒使用24*60*60
并使用 55 天55*24*60*60
接下来,我使用以下代码实现了傅立叶变换,并获得了如下图像:
我有以下问题:
我不确定我的上述方法对于实现傅立叶变换是否正确。
我不确定我用来避免混叠的方法是否正确。
如果,我所做的比如何解释频域图中的三个峰值是正确的。
最后,我将如何仅使用重要的频率进行变换。