0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何开发与自定义应用的音频分类模

Tensorflowers 来源:ensorFlow 作者: Luiz GUStavo Martins 2021-10-11 10:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在 Google I/O 大会上我们分享了一套教程,帮大家在音频方面使用机器学习。在这篇文章中,您可找到一些相关资源,帮助开发与自定义应用的音频分类模型,以及激发灵感的真实案例。

音频机器学习

“声音”和“音频“两词有时候会被混用,但是两者有一点本质上的区别,即声音是你听见的内容,而音频则是声音的电子表现形式。这就是为什么我们讨论机器学习的时候使用“音频”一词的原由。

音频机器学习可用于:

理解语音

识别乐器

对事件分类(例如:识别鸟的种类)

检测音高

生成音乐

本文我们将重点关注”音频事件分类“,这是一种常见需求,在现实生活中的应用非常多。例如 NOAA 创建了座头鲸声波探测器,再如伦敦动物学会使用音频识别来保护野生动物。

座头鲸声波探测器

https://www.blog.google/technology/ai/pattern-radio-whale-songs/

您现在就可以前往 TensorFlow Hub 体验多种音频事件分类模型(YAMNet、鲸鱼探测)。

TensorFlow Hub

https://hub.tensorflow.google.cn

YAMNet

https://hub.tensorflow.google.cn/google/yamnet/1

鲸鱼探测

https://hub.tensorflow.google.cn/google/humpback_whale/1

音频识别也完全能够在设备端运行。例如,Android 拥有一项声音通知功能,此功能可在您身边出现重要声音时推送通知。这项功能还可以检测设备正在播放哪种音乐,甚至还可以通过一个基于机器学习的音频录制器来记录设备上的对话。

声音通知

https://blog.google/products/android/new-sound-notifications-on-android/

正在播放哪种音乐

https://blog.google/products/pixel/on-device-ai-with-pixel4/

音频录制器

https://ai.googleblog.com/2019/12/the-on-device-machine-learning-behind.html

如何在自己的应用中使用这些模型?

如何根据自己的音频用例自定义这些模型?

部署设备端机器学习模型

想象一下,如果您已经拥有一个音频分类模型(例如从 TF-Hub 获取的预训练模型),您会怎样在移动应用上使用该模型?为了帮助您将音频分类集成到应用中,我们创建了 TensorFlow Lite Task Library。音频分类器组件现已发布,您只需几行代码即可将音频分类模型添加到您的应用之中:

音频分类器

https://tensorflow.google.cn/lite/inference_with_metadata/task_library/audio_classifier

// Initialization

val classifier = AudioClassifier.createFromFile(this, modelPath)

// Start recording

val record = classifier.createAudioRecord()

record.startRecording()

// Load latest audio samples

val tensor = classifier.createInputTensorAudio()

tensor.load(record);

// Run inference

val output = classifier.classify(tensor)

该库负责将音频分类模型加载到内存,以使用适当的模型规格(采样率、比特率)和分类方法创建音频录制器,并获取模型推理结果。您可以点击此处查看完整示例并获取灵感。

此处

https://github.com/tensorflow/examples/tree/master/lite/examples/sound_classification/android

自定义模型

如果您需要识别的音频事件未包含在预训练模型提供的集合中,应该怎么办?或者您需要细化事件类别,又该如何?在以上情况下,您可以使用一项名为迁移学习的技术对模型进行微调。

迁移学习

https://developers.google.com/machine-learning/glossary#transfer-learning

这一流程十分常规,您无需成为机器学习方面的专家也能做到。在此过程中,您可以使用 Model Maker 来助您一臂之力。

Model Maker

https://tensorflow.google.cn/lite/guide/model_maker

spec = audio_classifier.YamNetSpec()

data = audio_classifier.DataLoader.from_folder(spec, DATA_DIR)

train_data, validation_data = data.split(0.8)

model = audio_classifier.create(train_data, spec, validation_data)

model.export(models_path)

您可以点击此处查看完整代码。输出模型可使用 Task Library 直接加载。另外,Model Maker 不仅能够自定义音频模型,还可以自定义图像、文本以及推荐系统的模型。

此处

https://tensorflow.google.cn/lite/tutorials/model_maker_audio_classification

总结

音频机器学习是一个令人兴奋的领域,具备许多可能性,同时支持不少新功能。借助 TensorFlow Lite Task Library 等工具,在设备端使用机器学习 变得越来越简单便捷。有了 Model Maker,无需领域专业知识也可进行自定义。

您可以在我们有关设备端机器学习的新网站中了解详情(点击此处可前往音频路径)。您将找到教程、代码 等相关资源,这些资源不仅包括如何处理音频相关的任务,还包括图像(分类、目标检测)以及文本(分类、实体提取、问答)等。

设备端机器学习

https://developers.google.com/learn/topics/on-device-ml

此处

https://developers.google.com/learn/pathways/on-device-ml-5

您还可以在社交网络帖子中添加 #TensorFlow 标签,与我们分享您在项目中创建的内容,或者将其提交参加 TensorFlow Community Spotlight 计划。如果有任何疑问,欢迎在 discuss.tensorflow.google.cn 上提问。

discuss.tensorflow.google.cn

https://discuss.tensorflow.google.cn/

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 音频
    +关注

    关注

    31

    文章

    3134

    浏览量

    84921
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136230

原文标题:如何轻松部署设备端音频机器学习?

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    无图形界面模式下自定义检查工具的应用

    此前文章已介绍 ANSA 中的自定义检查工具。本文将探讨该功能在无图形界面(No-GUI)模式下的应用,旨在满足标准化工作流程的需求,适用于需要高度自动化的前处理场景。通过集成自定义检查,用户可实现工作流程的高效自动化运行。
    的头像 发表于 11-30 14:13 289次阅读
    无图形界面模式下<b class='flag-5'>自定义</b>检查工具的应用

    采用汇编指示符来使用自定义指令

    具体实现 1、采用.word .half .dword等汇编指示符直接插入自定义指令,这种方法需要自己指定寄存器。其中.word为插入一个字的数据即32位,.half为插入半字即16位
    发表于 10-28 06:02

    如何使用SDK进行自定义音频播放功能

    在上一篇文章安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】自定义音频替换失败过程中,简要概述了res_build_tool.py 文件, 其主要的作用就是将音频
    的头像 发表于 09-25 15:52 3009次阅读
    如何使用SDK进行<b class='flag-5'>自定义</b><b class='flag-5'>音频</b>播放功能

    LOTO示波器自定义解码功能—CANFD解码

    LOTO示波器软件更新了自定义解码功能,并在bilibili上传了演示视频,视频链接: https://www.bilibili.com/video/BV1wq3ezjEjQ
    的头像 发表于 07-11 10:34 750次阅读
    LOTO示波器<b class='flag-5'>自定义</b>解码功能—CANFD解码

    大彩讲堂:VisualTFT软件如何自定义圆形进度条

    VisualTFT软件如何自定义圆形进度条
    的头像 发表于 07-07 17:10 1200次阅读
    大彩讲堂:VisualTFT软件如何<b class='flag-5'>自定义</b>圆形进度条

    KiCad 中的自定义规则(KiCon 演讲)

    “  Seth Hillbrand 在 KiCon US 2025 上为大家介绍了 KiCad 的规则系统,并详细讲解了自定义规则的设计与实例。  ”   演讲主要围绕 加强 KiCad 中的自定义
    的头像 发表于 06-16 11:17 1459次阅读
    KiCad 中的<b class='flag-5'>自定义</b>规则(KiCon 演讲)

    HarmonyOS应用自定义键盘解决方案

    自定义键盘是一种替换系统默认键盘的解决方案,可实现键盘个性化交互。允许用户结合业务需求与操作习惯,对按键布局进行可视化重构、设置多功能组合键位,使输入更加便捷和舒适。在安全防护层面,自定义键盘可以
    的头像 发表于 06-05 14:19 1570次阅读

    LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令自定义封装

    LabVIEW高效加工指令自定义封装
    的头像 发表于 04-08 13:49 3265次阅读
    LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令<b class='flag-5'>自定义</b>封装

    如何添加自定义单板

    开发过程中,用户有时需要创建自定义板配置。本节将通过一个实例讲解用户如何创建属于自己的machine,下面以g2l-test.conf为例进行说明。
    的头像 发表于 03-12 14:43 1082次阅读

    如何快速创建用户自定义Board和App工程

    可将该文件夹复制到用户自定义的工作目录(workspace)中,基于此模板进行开发。本模板主要牵涉到的用户自定义的文件有:用户板级文件Board用户应用程序App用
    的头像 发表于 02-08 13:38 998次阅读
    如何快速创建用户<b class='flag-5'>自定义</b>Board和App工程

    KiCad 9 探秘(六):如何用&quot;器件类&quot;玩转多通道设计与自定义DRC规则

    “  老版本的 KiCad 只有网络类(Net Class),但没有器件类(Component Class),在 KiCad 9 中器件类终于亮相了。结合规则区域,器件类可以在多通道设计及自定义规则
    的头像 发表于 02-08 11:14 2555次阅读
    KiCad 9 探秘(六):如何用&quot;器件类&quot;玩转多通道设计与<b class='flag-5'>自定义</b>DRC规则

    Altium Designer 15.0自定义元件设计

    电子发烧友网站提供《Altium Designer 15.0自定义元件设计.pdf》资料免费下载
    发表于 01-21 15:04 0次下载
    Altium Designer 15.0<b class='flag-5'>自定义</b>元件设计

    think-cell:自定义think-cell(四)

    C.5 设置默认议程幻灯片布局 think-cell 议程可以在演示文稿中使用特定的自定义布局来定义议程、位置和议程幻灯片上的其他形状,例如标题或图片。通过将此自定义布局添加到模板,您可以为整个组织
    的头像 发表于 01-13 10:37 880次阅读
    think-cell:<b class='flag-5'>自定义</b>think-cell(四)

    智能语音识别照明解决方案,平台自定义,中英切换

    智能语音识别照明方案引入NRK3502芯片,支持平台自定义,离线控制,中英双语切换。NRK3502具备高性能和灵活自定义能力,可推动智能照明革新,控制其他智能设备,为国际用户提供全方位智能生活体验。
    的头像 发表于 01-10 13:23 798次阅读
    智能语音识别照明解决方案,平台<b class='flag-5'>自定义</b>,中英切换

    think-cell;自定义think-cell(一)

    本章介绍如何自定义 think-cell,即如何更改默认颜色和其他默认属性;这是通过 think-cell 的样式文件完成的,这些文件将在前四个部分中进行讨论。 第五部分 C.5 设置默认议程幻灯片
    的头像 发表于 01-08 11:31 1240次阅读
    think-cell;<b class='flag-5'>自定义</b>think-cell(一)