我正在读取来自麦克风的原始波流。
(这部分工作正常,因为我可以将其发送给扬声器并获得良好的回声。)
为了简单起见,假设我要在波形数据中检测DTMF音。实际上,我想检测任何频率,而不仅仅是DTMF中的频率。但是我总是知道我要寻找哪个频率。
我曾尝试通过FFT运行它,但是如果我想要高精度的检测(例如,它只存在20毫秒),似乎效率不高。我可以将其检测到大约200毫秒的精度。
关于算法,我有哪些选择?是否有任何.Net库?
如果尝试检测特定频率(例如DTMF输入),则可能需要查看Goertzel算法。基于此算法,Sourceforge上有一个C#DTMF生成器/检测器库。
问题内容: 尽管我在此站点上有许多有关音高检测概念的问题……他们都处理了我不熟悉的神奇 FFT 。我正在尝试构建需要实现音高检测的Android应用程序。我绝对不了解用于执行此操作的算法。 它不能 是 硬可以吗?毕竟,Android市场上大约有80亿个吉他调音器应用程序。 有人可以帮忙吗? 问题答案: 快速傅立叶变换将功能从时域更改为频域。因此,而不是在那里是信号,你是从麦克风获取和是信号的时间指
问题内容: 我目前正在尝试使用Android实现一些代码,以检测何时通过手机的麦克风播放了多个特定音频频率范围。我已经使用AudioRecord该类设置了该类: 然后读取音频: 执行FFT是我遇到的困难,因为我在这方面的经验很少。我一直在尝试使用此类: Java和Complex类中的FFT一起使用 然后,我发送以下值: 这很容易让我误解了此类的工作原理,但是返回的值到处都是跳跃的,即使在沉默中也不
问题内容: 我正在编写代码来分析语音所唱的单个音频。我需要一种方法来分析音符的频率。当前,我正在使用PyAudio录制音频文件,该文件存储为,然后立即播放。 问题出在while循环上。由于某种原因,该条件永远不会成立。我打印了两个值(len(data)和(chunk * swidth)),它们分别是8192和4096。然后,我尝试在while循环中使用2 * chunk * swidth,这引发了
问题内容: 好的,我正在尝试做的是一种音频处理软件,可以检测到一个普遍的频率,如果该频率播放了足够长的时间(几毫秒),我知道我得到了肯定的匹配。我知道我将需要使用FFT或类似的方法,但是在这个数学领域中,我很烂,我确实在互联网上进行搜索,但没有找到仅能执行此操作的代码。 尝试接收的目标是使自己成为一种自定义协议,以发送数据通过声音,每秒需要非常低的比特率(5-10bps),但在发送端也非常有限,因
我使用的是libav 9.6,通过自制安装。 尽管在命令行输出的stdout中显示了采样率,但选项根本不会显示音频文件的采样率信息。 下面是BASH终端输出: 我向libav提交了一张票,但我只是好奇是否有任何其他方法可以从libav探测UTIL中提取采样率。我很感激事先的回答。 PS:在这种情况下,ffmpeg(ffprobe)的上游项目也会遇到同样的问题。
我有一个用Java编写的管理应用程序,可以管理我的用户 我创建了一个自定义json 这就是我的JSON看起来的样子 在我的列表中,我只显示电子邮件地址 现在我的问题,例如,如果我单击包含电子邮件的列表,我想在对话框中显示与此电子邮件相关的数据,即、和 怎样我可以检索其他值吗使用电子邮件? 我在网上找不到任何关于它的信息
已实现波动率数据 Oxford-Man 接口: article_oman_rv 目标地址: https://realized.oxford-man.ox.ac.uk/data/visualization 描述: 获取 Oxford-Man 已实现波动率数据 限量: 单次返回某个指数具体指标的所有历史数据 输入参数 名称 类型 必选 描述 symbol str Y symbol="FTSE", 具体
我在网上做了一些搜索,但无法找到一种方法来检索关于视频中使用的一段音乐(不是音乐视频)的信息,使用youtube API。 例如,在这段视频或这段视频的描述中,有一个关于“这段视频中的音乐”的单独部分,在那里可以找到关于歌曲标题、艺术家、专辑、许可证等信息。 我想做的是使用youtube API检索这些信息。不幸的是,到目前为止,我还没有任何成功地发现这条信息使用youtube API。返回的元数