问题描述

通过手机App的录音功能,获得用户一整夜的睡眠音频,对睡眠音频进行分割,并对睡眠阶段进行判定。
(1)假设条件一:用户在相对安静的环境下进行睡眠,背景音可能会出现风声、雨声、汽车噪音、空调声音等,背景音微弱;
(2)假设条件二:一个人睡眠,不考虑多人同时睡眠产生的音频;
(3)睡眠音频主要分割出鼾声、梦话及睡眠静音,手机App只保存鼾声和梦话音频片段;
(4)将睡眠阶段分为Deep Sleep, Light Sleep, REM Sleep, Awake,并绘制出如下波形图:

主要方案

目前采用了两套方案来实现,方案一利用语音分离技术,方案二利用语音编码技术。

方案一:语音分离技术

(1)对语音进行编码,目前主流的方法有: frequency-domain(基于频域的方法) or time-domain(基于时域的方法) methods;
(2)语音分离:构建算法获取分离的掩码矩阵(mask);
(3)对分离后的信息进行反编码,得到分离后的语音信息。
主流的语音分离技术有:TasNet, TasNet++等网络。

方案二:语音编码技术

(1)完成音频到向量的转换,1s的音频转换为96*64的向量;
(2)进行编码,目前采用的是VGG网络,后续可以尝试用其它网络来进行编码,编码过后1s的音频转为128的向量;
(3)设置3类标签,0类标签:鼾声,1类标签:梦话(使用Google的’Music’,‘Singing’,‘singing’,‘speech’,'speaking’这5个标签的数据作为梦话标签的训练集,Google原有100类样本),2类标签:其它(使用Google的其他标签的数据作为其他标签的训练集)。
(4)鼾声识别在测试集上有80%正确率(训练集比例2:1:1,2是鼾声样本,1是其他样本与梦话样本),梦话识别由于没有找到合适的数据集,目前识别效果不好,测试发现鼾声样本识别正确接近百分百,而梦话类与其他类识别准确只有2/3。

面临的问题

(1)把鼾声和梦话分离出来后,目前还不知道怎么将睡眠分为如下四个阶段:深度睡眠、浅度睡眠、REM期、清醒。我们查阅到REM期(快速动眼期)的定义为:快速眼动睡眠,眼球在此阶段时会快速移动。在这个阶段,大脑的神经元的活动与清醒的时候相同。多数在醒来后能够回忆的栩栩如生的梦都是在REM睡眠发生的。它是全部睡眠阶段中最浅的。但如何利用鼾声、梦话、静默阶段的统计数据来将睡眠定义为深度睡眠、浅度睡眠、REM期、清醒没有思路;
(2)目前的代码都是基于深度学习框架(如Tensorflow、Pytorch等),这些代码植入APP会导致安装包过大。

睡眠音频分割及识别问题(一)相关推荐

  1. 睡眠音频分割及识别问题(六)--输入输出及方案讨论

    简介 2021年7月13日,我和我的三个研究生一起拜访了玉米树,和王总等一起针对睡眠音频分割及识别问题进行了深入的讨论,达成了如下共识. 输入 由于保存整个晚上的睡眠音频所需要的存储空间过大,目前拟采 ...

  2. 睡眠音频分割及识别问题(十)--Java读取wav文件

    简介 Waveform Audio File Format(WAVE,又或者是因为扩展名而被大众所知的 wav),是微软与 IBM公司所开发在个人电脑存储音频流的编码格式. 由于项目需要从 wav 文 ...

  3. 睡眠音频分割及识别问题(八)--数据采集

    问题 在采用PANN或者YAMNet框架进行学习的时候,没有梦话.磨牙等睡眠音频数据,在一些公开数据集上也没有找到(如果有哪位读者知道,麻烦给我在评论区留言,万分感谢). 公开数据集包括: (1)ht ...

  4. 睡眠音频分割及识别问题(七)--接口输入输出讨论

    简介 关于接口输入输出的讨论. 输入 1.音频文件路径,类型为:字符串: 2.预测多标签类型的排名,前n名,类型为:整型. 处理 1.将输入的音频分割为多个以1s为时间单位的音频片段: 2.利用PAN ...

  5. 睡眠音频分割及识别问题(二)

    输入 通过手机麦克风录制的任意长度睡眠声音. 输出 睡眠阶段曲线,该曲线可以反映出深度睡眠,浅度睡眠.REM睡眠.清醒各个阶段. 研究的核心问题 1.录制策略 (1)每隔10分钟录制一段睡眠音: 2. ...

  6. 睡眠音频分割及识别问题(十二)--基于IOS的YAMNet音频识别(总结)

    1 结构体 此部分定义了两个结构体用于存储音频信息: AudioFragment:用于存储单个音频片段(0.975s, 16000Hz)的标签评分信息: AudioInfo:用于存储整个音频信息,包含 ...

  7. 睡眠音频分割及识别问题(十一)--基于Android的YAMNet音频识别(总结)

    WAV文件格式介绍 WAV文件遵守资源交换文件格式之规则,在文件的前44(或46)字节放置标头(header),使播放器或编辑器能够简单掌握文件的基本信息,其内容以区块(chunk)为最小单位,每一区 ...

  8. 睡眠音频分割及识别问题(九)--Android下的YAMNet

    部署PANNs模型面临的问题 加载模型出错 在使用PANNs模型时,在PC端可以较好的运行,可是在Android端运行的时候,编译过程提示缺少libpytorch_jni.so文件,导致无法加载模型, ...

  9. 睡眠音频分割及识别问题(五)--YAMNet进一步分析

    简介 YAMNet 是一个经过预训练的深度网络,可基于 AudioSet-YouTube 语料库 预测 521 种音频事件类别,并采用Mobilenet_v1深度可分离卷积架构. 输入 模型训练所使用 ...

最新文章

  1. 千万QPS毫秒响应:快手数据中台建设实践
  2. 【C#】【APK】APK文件解析AXML-层层深入APK文件解析之一
  3. kibana操作elasticsearch:新增数据(自定义id)
  4. bs模型Nd怎么用计算机算,BS模式的下试卷自动生成系统的设计与实现
  5. 支持在iPad中播放的HTML5视频网站推荐
  6. 苹果 Mac 上不显示外置硬盘?9 个必须尝试的修复方法
  7. oracle数据库使用小结
  8. 深入浅出Python闭包
  9. python与vb可以互换吗_VB转换为Python:在线把VB代码转为Python
  10. 怎样运行python_怎样运行python
  11. 将一个数组划分成总和相等的两部分
  12. 百万excel导入mysql_百万级xlsx表格导入数据库的实现方案
  13. java/php/net/python车辆保养管理系统设计
  14. “北上广深”的“收租婆”角色什么时候能够减少?
  15. Linux【第一篇总结】
  16. RHCE-Day10-Apache
  17. 分享一些经常用到的垂直搜索引擎
  18. 【玩转yolov5】使用TensorRT C++ API搭建yolov5s-v4.0网络结构(1)
  19. wps里为什么没有华文楷体_周末话题 | 大学里为什么没有人喜欢你?
  20. 关于音频播放的那点儿事儿(一) 初探iOS音频 CoreAudio Essentials

热门文章

  1. python读取usb扫码枪数据_vue扫码枪input接收数据
  2. 一文带你读懂base64编码
  3. mysql分列查询,Mysql导出问题,乱码问题,为分列问题解决!!!
  4. ios java 图片上传到服务器,iOS 图片上传服务器
  5. mysql set语句_MySQL Prepared语句简介
  6. 用python实现打开虚拟机_如何使用python从虚拟机读取文件
  7. java 中文 音序,java 中文字符串数组按照音序排列
  8. Linux上的JAVA的IDE,在linux上运行的基于文本的强大java IDE
  9. 共阴极数码管编码表_数码管循环点亮的PLC控制——基本逻辑指令的应用
  10. formidable ajax上传,nodejs+express+ajax实现图片上传及显示