java - 如何检测Android应用程序中的特定声音?

标签 java android android-studio

我是 Android 编程初学者。在 Android studio 中开发声音检测应用。有人可以帮我检测特定的声音吗?

最佳答案

尝试使用musicg

musicg是一个轻量级音频分析库,用Java编写,目的是提取高级别低级别 音频功能。该 API 允许开发人员提取音频特征并操作音频数据,例如从输入流轻松读取、剪切和修剪。它还提供数字信号处理工具,呈现波形或频谱图以用于研究和开发目的。

将 musicg 库添加到您的项目中并尝试此代码:-

Wave w1= new Wave("first_wav"); // Base Audio file
Wave w2= new Wave("second_wav"); // Audio file to compare
// Finding Audio Fingerprint Similarity
FingerprintSimilarity fps = w1.getFingerprintSimilarity(w2);
float score = fps.getScore();
float sim = fps.getSimilarity();

sim 包含音频文件之间的相似性(值范围从 0 到 1.0)。大于0.3的值可以被视为类似的声音。musicg使用16位PCM音频文件。

但 getFingerprintSimilarity() 只接受波形格式文件。

This app使用musicg进行声音检测。

关于java - 如何检测Android应用程序中的特定声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51431114/

相关文章:

java - 是否可以在客户端和服务器端关闭 Java 套接字?

java - 帮助使用 JSON 解析 Yahoo 搜索结果 Not a JsonArray exception

android - Vungle SDK 恶意行为

java - 如何获取从 jList 中选择的对象

java - 架构:填充 Hashmap 时如何解决 GC 开销问题

java - 查询 DSL & Maven : Classes not generated, 但仅在命令行上(在 Eclipse 中它工作正常)

android - 用于 Android 中的 Volley 和 Retrofit 的通用类

java - HttpResponse 在 Android 和 Java 中不同

android-studio - 我从哪里获得 Android Studio 所有版本的列表?

android - 无法解析 : pub. devrel :easypermissions:0. 3.0