我正在用 javascript 制作语音比较应用程序。
我发现了这个 dsp.SE 帖子:
我在哪里读到最好使用mfcc和dtw算法。
我找到了我想使用的mfcc的 Node.js 实现。但是,它仅适用于 8 位音频样本。这会影响语音比较的质量吗?会影响多少?如果差异足够大,我将编辑算法以支持 16 位样本。
我正在用 javascript 制作语音比较应用程序。
我发现了这个 dsp.SE 帖子:
我在哪里读到最好使用mfcc和dtw算法。
我找到了我想使用的mfcc的 Node.js 实现。但是,它仅适用于 8 位音频样本。这会影响语音比较的质量吗?会影响多少?如果差异足够大,我将编辑算法以支持 16 位样本。
这会影响语音比较的质量吗?会影响多少?
如果不知道 Node.js 在内部做什么,这是不可能说出来的。我认为要求我们搜索您的意思有点过分。作为评论:JavaScript 中的信号处理听起来是个坏主意,无论是性能还是开发方面;这真的不是 JS 的设计和优化目标,而且严重缺乏库,更不用说高效的库了。我总是敦促人们为他们的工作使用正确的工具,我认为 JS 不在这里。</comment>
话虽如此:
从纯信号的角度来看,您可以将量化效果建模为噪声。这里的问题是这种噪声既不是与信号不相关的,也不一定是白色的。为了使补偿方面的事情变得更加困难,它的幅度通常甚至不是高斯的。哦,好吧,但是这里是量化噪声功率,这个数字对于理解您可以从数字系统中获得的最大 SNR 非常重要,并且只要您不说信号处理的好坏就不会说太多可以处理这种特定的噪音。
幸运的是,对于“足够小”的量化步骤,稍微考虑一下随机因素¹表示量化噪声(此后称为 QN)是相加的假设是非常合理的。
现在,假设您的信号幅度确实是均匀分布的,并且您的 ADC 完全均匀,则M 位 ADC
现在,语音的幅度肯定是不均匀的。在不知道你的录音是什么样子的情况下证明这个模型有点困难,但我宁愿说它是由正弦组成的;在这种情况下,这两种情况都会产生额外的噪声。
这里的要点是,我怀疑“真实世界、非录音室设备、非消声室静音”的语音记录是否会接近,所以可能,不,这是一个不错的选择,顺便说一下你问这个问题的方式,我有点怀疑将算法(它可能在内部使用很多优雅的数值数学)扩展到 16 位是微不足道的。