在 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/
电动机为什么要电容器
照相机闪光灯的工作原理
进展神速!紫光展锐的5G芯片即将进入中高端领域
Aigtek线束转接箱,助力大批量、不同规格线束测试更高效!
在Boost电源中该怎样去选择电容的型号和电容容量呢?
如何开发与自定义应用的音频分类模
LED在自然用户界面中有着怎样的重要性
高压放大器基于声纹影法的声可视化实验的应用
电话断线探测器(英文),Cut Phone Line Detector
中华v3最高月销量曾达1.8万辆,颜值和性价比完爆宝骏510,不知道新款中华v3上市后,会不会创造销量神话?
模拟小鸡叫声的电路
物联网终端设备众多,为何遥测终端机备受瞩目?
铁路高清视频监控系统解决方案
SMT贴片加工厂锡膏管控的五大原则及要求
基于SPV1020设计的太阳能电池DC-DC电源转换方案
基于锁相环频率合成器的关于合成器的简要概述
腾讯极光4G盒子上手 到底怎么样
连接器在特殊环境中应具备的关键性能有哪些?
随着芯片技术的不断突破,家电智能化将会实现普及
vivo最新黑科技——TOF 3D超感应技术