iOS 7 的声音识别?

Posted

技术标签:

【中文标题】iOS 7 的声音识别?【英文标题】:Sound Recognition with iOS 7? 【发布时间】:2013-10-17 20:29:18 【问题描述】:

我想构建一个应用程序,它可以响应你吹生日蜡烛时发出的声音。这本身不是语音识别(那个声音不是英语中的一个词),OpenEars 非常友善的 Halle 告诉我,使用该框架是不可能的。 (感谢您的快速回复,哈莉!)

有没有办法“教”应用程序发出声音,以便应用程序随后能够识别它?

我该怎么做呢?它甚至可行吗?我是疯了还是在处理一个比我想象的要困难得多的问题?我的作业应该是什么?

【问题讨论】:

【参考方案1】:

好消息是它是可以实现的,而且您不需要任何第三方框架——AVFoundation 就是您真正需要的。

Mobile Orchard 有一篇很好的文章涵盖了细节,但对于一个四岁的孩子来说,有些不可避免,你需要注意一些问题。

    在您开始在真实设备上录制之前,我需要设置音频会话类别,如下所示:

    [[AVAudiosession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
    

    玩弄这一行中的阈值:

    if (lowPassResults > 0.95)
    

    我发现0.95 太高了,将其设置在 0.55 到 0.75 之间时得到了更好的结果。同样,我在这一行中使用了 0.05 乘数:

    double peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0]));
    

【讨论】:

谢谢,尼尔!我想我毕竟没有我想象的那么疯狂! 很好的答案,对教程有更多解释。 嗨!不幸的是,文章不再可用。你也能得到频率数据吗? ***.com/questions/51936110/sound-recognition-in-ios【参考方案2】:

使用简单的能量水平阈值可能不足以满足您的用例。

解决此问题的一个好方法是首先从声音流中提取一些特定于吹蜡烛声音的属性。然后使用机器学习算法,根据训练示例(一组您要识别的声音的录音)训练模型,然后可以在使用时实时对进入麦克风的声音进行 sn-ps 分类应用程序。

考虑到吹蜡烛时可能发生的环境声音(生日总是很吵,不是吗?),可能很难训练一个对这些背景声音足够健壮的模型。如果您关心准确性,这不是一个简单的问题。

这可能是可行的: 请原谅我的自我推销,但我的公司开发了一个 SDK,可以回答您所问的问题:“有没有办法“教”应用程序发出声音,以便应用程序随后能够识别它?” 我不确定吹蜡烛的特定声音是否有效,因为 SDK 主要针对涉及一些敲击声音的应用程序,但它可能仍然适用于您的情况。这是一个链接,您还可以在其中找到一个演示程序,如果您愿意,可以下载并尝试:SampleSumo PSR SDK

【讨论】:

我可能会省略促销部分。

以上是关于iOS 7 的声音识别?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14 「声音识别」功能简测:戴耳机也能知悉敲门了?

iOS14 - 为听力障碍人士打造的声音识别功能

iOS 14 的“声音识别”如何使用?

关于iOS声音识别的框架

iOS 7 无法播放系统声音

iOS 7 本地通知默认没有声音