问题标签 [pitch-detection]

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.

0 投票
1 回答
223 浏览

audio - Unity3D中音频信号谐波的幅度

我已经设法使用 GetSpectrumData 函数计算了来自麦克风的音频输入的音高。但是现在我需要获取音频前 7 个谐波的幅度(项目要求)我对音频 dsp 的了解非常少。我唯一理解的是谐波是基频的倍数。但是我将如何获得谐波的幅度。

谢谢

0 投票
1 回答
737 浏览

audio - 如何使用谐波数据计算麦克风输入的基频

我可以通过使用 GetSpectrumData 函数找到最高峰值箱来计算 Unity 中来自麦克风的实时音频输入的基频。但它在较低频率时失败。我认为如果我演奏低频音符,我会得到谐波的频率。如何使用谐波数据计算基频。

0 投票
1 回答
245 浏览

android - 转换音频记录数据以处理 FFT

我一直在实现复音信号音高检测器,所以我开始编写我的程序(记录数据、转换数据、零填充、窗口化、FFT、峰值检测)。起初,我用我已经知道应该获得哪些值的声音对其进行了测试,并且效果很好。

我遇到的问题是使用 Audiorecord 类用我的手机录音时。

例如:我用手机播放和录制了两三个纯音,而我在 Audiorecord 类中得到的值不正确。从我的手机中获取错误的数据并不能让我进行良好的分析。

这是我记录数据(短)并将数据短转换为双倍的代码(这一步是我认为问题所在)

这是我的代码:

Inputsignal 是 audiobuffer 和 N 是长度的转换(内部 DFT 函数):

0 投票
1 回答
1212 浏览

matlab - 使用自相关算法从语音信号中估计音高

我想使用自相关算法检测语音信号的基频。我有一个 MATLAB 代码,但结果是错误的。如果您能解决我的代码中的错误,我将不胜感激。

感谢您在这件事上的帮助。

0 投票
1 回答
69 浏览

python - 如何估计我当前在 python 中录制的音频的音高?

我相信我研究过的很多库都需要加载音频文件。这可能与实时录制的音频有关吗?如果是这样,我应该使用什么库?

0 投票
1 回答
54 浏览

audio - 浏览器音频的不准确 Hz 检测

我的 Vue 组件中有上述代码(请注意,仅附加了一些与 Vue 相关的代码作为上下文。)我遇到了打印到控制台的值不准确的问题。我使用了一架无人机,并用其他著名的调谐器(A = 440 Hz)验证了它的音高。当使用我的代码打印到控制台时,Hz 始终为 ~404,其他音高也会偏移。这是为什么?谢谢。

0 投票
1 回答
429 浏览

signal-processing - 女声基频

根据我在网上看到的,女声基频的正常范围是165到255赫兹。我正在使用 Praat 和名为 Parselmouth 的 python 库来获取音频文件(.wav)中女性声音的基本频率值。但是,我得到了一些超过 255Hz 的值(例如:400+Hz、500Hz)。获得这样的大值是否正常?

0 投票
0 回答
902 浏览

java - 使用 TarsosDSP 在 Android 上对 .wav 文件进行音高评估

我正在尝试编写一个简单的 Android 应用程序,该应用程序在播放时显示 .wav 文件的各种音高。我正在使用 TarsosDSP 进行音高处理并使用 AudioTrack 来播放文件。

在深入研究此处的代码之前,我正在运行带有 JRE 1.8.0 的 Android Studio 3.4.2,并且我的 minSdkVersion 为 23。

根据我对 TarsosDSP 工作原理的理解,我将 wav 流连接到 AudioDispatcher 对象,附加处理器(播放器本身和音高评估器),然后将调度程序分配给一个线程并启动它以启动一切。据我了解,我也可能在做一些愚蠢的事情(某处......)。

我在使用 AudioTrack Builder 时遇到了问题,因为我发现很多示例都使用了现在已弃用的使用 AudioManager.STREAM_MUSIC 的构造函数。

更新:我设法找到或多或少做我想做的事情的人(只需要让谷歌从韩语翻译它): https ://junyoung-jamong.github.io/signal/processing/2019/ 02/09/How-to-use-tarsosDSP-in-Android.html

重构之后,我能够将我正在做的 AudioPlayer 东西移到我的 AudioMethods 类中。

更新 所以在更新代码之后,我让文件正确播放,并且音高评估似乎正在工作,但我只得到两个样本,并且在我真正听到音频播放之前它们在 logcat 中注册。有人可以解释一下吗?另外,如果有人能告诉我如何让它采集两个以上的样本,我想知道这是在哪里设置/计算的。

主要活动

音频方法

0 投票
1 回答
1791 浏览

javascript - 如何从 .mp3 音乐文件中检测音符,然后显示 midi 时间图

我是一名开发人员,但我对音频和音乐知之甚少。我正在尝试检测歌曲文件中的音符,我正在使用 p5.sound.js 和这个脚本。

我创建了两个数组 1) Midi 值,2) 该 midi 值的开始时间。然后我为那个 midi 值的持续时间创建第三个数组。

我的绘图功能如下所示。

这段代码给了我这样的数据

问题是持续时间很短,也没有给出准确的结果。

形成这些数据,我正在尝试使用如下图制作工具,然后我将使用麦克风记录用户语音并将其与原始歌曲中的音符相匹配,并在最后显示分数。

图表截图

在此处输入图像描述

如果有更好的方法请建议我。

0 投票
2 回答
258 浏览

r - 使用 R 检测音频文件中的特定频率

我有一个蟋蟀唧唧喳喳的录音wav文件,每隔一段时间就会在大约20kHz处发生大约0.01秒的唧唧声。我想使用 R 来检测录制期间特定频率(20kHz)发生/开始的时间。

波对象