基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)

简介: 基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)

💥1 概述

伪造语音识别是当前智能语音技术研究的一个重要研究领域,是集信息安全、语音学、人工智能等跨学科交叉的应用性研究方向。当前社会新型犯罪中电信诈骗案件频发,急需一种能够自动有效区分语音真伪的方法。本文结合提出的最大稠密卷积神经网络(Max Dense Convolution Neural Network,MDCN)和频谱注意力模块(Spec-Attention Block),实现了噪声环境的准确识别。通过比对分析噪声环境基频、音强、频谱图等声学特性上的表现,分析差异,得出规律性结论,解释了伪噪声环境声音声学可以被识别的原理,为进一步的自动识别提供了理论依据。研究设计了一种表征音强离散程度的声学特征RMSA。该特征量化和表征了噪声环境声音和真实声音在音强变化率上的差异,并和FFV特征及SNS特征融合后作为输入识别模型的高维特征;研究设计了一种最大稠密卷积神经网络模型MDCN。在构造稠密卷积神经网络的稠密块时,使用了最大特征映射函数,在保留模型稠密式连接、减少信息遗忘的同时,也强化了卷积神经元所学内容中的有效信息,为提高分类识别能力提供了良好的模型。也研究设计了一种名为Spec-Attention Block的注意力模块。依据语音谐波形态和单个音素频谱的分布切分窄带频谱图,对精细化分割后的结果从空间及通道两个维度进行选择性关注,使模型更加聚焦于可区分伪造和真实语音上的谐波位置和频谱宽泛程度,增强了模型对语音声学特性的感知,进一步提高了识别能力。 现代传感应用需要简单性、通用性和出色的性能。显然,昆虫使用最少的资源与环境实现有限但令人满意的相互作用。该实验的动机是假设类似的控制原理可以应用于人工控制系统。以这种方式,根据先前的经验,进行了理论和实践研究,以确定在真实条件下识别短而朴实无华的类似噪音的声音的最佳程序。其结果是完全由启发式算法构建的识别类似噪声的环境声音的最佳混合程序。本文使用频谱作为特征向量识别不利声音的成功。


📚2 运行结果

运行时间较长,需要耐心等待哦!

部分代码:

% Plot Hidden layers
clear;
Range = [8:29];
FitType1 = 'poly2';
load('./ResultPoints');
Scale = 1;
Points = TrainingNumArray(Range);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Confusion matrix transformation
%
%Predicted
    %Cricket:
        %it is turned out to be a cricket
        CvrcakCvrcak = ConfuctionMatrixSum(Range*3-2,1);
        %it is turned out to be a fly
        CvrcakMuva = ConfuctionMatrixSum(Range*3-1,1);
        %it is turned out to be a confusion sound
        CvrcakZbunj = ConfuctionMatrixSum(Range*3,1);
    %Fly:
        %it is turned out to be a cricket
        MuvaCvrcak = ConfuctionMatrixSum(Range*3-2,2);
        %it is turned out to be a fly
        MuvaMuva = ConfuctionMatrixSum(Range*3-1,2);
        %it is turned out to be a confusion sound
        MuvaZbunj = ConfuctionMatrixSum(Range*3,2);
    %Other:
        %it is turned out to be a cricket
        ZbunjCvrcak = ConfuctionMatrixSum(Range*3-2,3);
        %it is turned out to be a fly
        ZbunjMuva = ConfuctionMatrixSum(Range*3-1,3);
        %it is turned out to be a confusion sound
        ZbunjZbunj = ConfuctionMatrixSum(Range*3,3);
        %Predicted in Total
        CvrcakUkupno = CvrcakCvrcak + CvrcakMuva+CvrcakZbunj;
        MuvaUkupno = MuvaCvrcak + MuvaMuva+MuvaZbunj;
        ZbunjUkupno = ZbunjCvrcak + ZbunjMuva + ZbunjZbunj;
        CvrcakPredvidjeno = CvrcakCvrcak./CvrcakUkupno/Scale*100;
        MuvaPredvidjeno = MuvaMuva./MuvaUkupno/Scale*100;
        ZbunjPredvidjeno = ZbunjZbunj./ZbunjUkupno/Scale*100;
        %Realized in Total
        UkupnoCvrcak = CvrcakCvrcak + MuvaCvrcak + ZbunjCvrcak;
        UkupnoMuva = CvrcakMuva + MuvaMuva + ZbunjMuva;
        UkupnoZbunj = CvrcakZbunj + MuvaZbunj + ZbunjZbunj;
        CvrcakOstvareno = CvrcakCvrcak./UkupnoCvrcak/Scale*100;
        MuvaOstvareno = MuvaMuva./UkupnoMuva/Scale*100;
        ZbunjOstvareno = ZbunjZbunj./UkupnoZbunj/Scale*100;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   EtrainingFit = fit(Range',EtrainingSum(Range),FitType1);
   EtestingFit = fit(Range',EtestingSum(Range),FitType1); 
   figure(1)
    hold on
    set(gca,'FontSize',14)
    %xlim([-1 Length-StartPoint+1])
    h1 = plot(EtrainingFit,'b',Range,EtrainingSum(Range),'b.');
    h2 = plot(EtestingFit,'r',Range,EtestingSum(Range),'r.'); 
    set(h1,'linewidth',2);
    set(h2,'linewidth',2);
    grid on
    set(gcf,'PaperUnits','inches','PaperPosition',[0 0 9.4 6.6])
    set(gcf,'Color',[1 1 1]);
    set(gca, 'XTick',[14 29]);
    set(gca, 'XTickLabel',{'100','1000'});
    leg = legend('Training Recorded','Training Approximation','Testing Recorded','Testing Approximation');
    legend('Location','northeast');
    xlim ([Range(1)-1 Range(end)+1])
   ylim ([0.0 0.3])
    xlabel('Number of Training Ponts');
    ylabel('Mean Squared Error');
    print(gcf,'-dtiff','-r1000','./Fig_8')
    figure(2)
    hold on
     set(gca,'FontSize',14)
    h3 = plot(Range,CvrcakPredvidjeno,'ro');
    h4 = plot(Range,CvrcakOstvareno,'rx');
    h5 = plot(Range,MuvaPredvidjeno,'bo');
    h6 = plot(Range,MuvaOstvareno,'bx');
    h7 = plot(Range,ZbunjPredvidjeno,'go');
    h8 = plot(Range,ZbunjOstvareno,'gx');
    set(gca,'FontSize',14)
    set(h3,'linewidth',2);
    set(h4,'linewidth',2);
    set(h5,'linewidth',2);
    set(h6,'linewidth',2);
    set(h7,'linewidth',2);
    set(h8,'linewidth',2);
    set(h3,'markers',8);
    set(h4,'markers',10);
    set(h5,'markers',8);
    set(h6,'markers',10);
    set(h7,'markers',8);
    set(h8,'markers',10);
    grid on
    set(gcf,'Color',[1 1 1]);
    set(gca, 'XTick',[14 29]);
    set(gca, 'XTickLabel',{'100','1000'});
    leg = legend('Cricket Recognized','Cricket Target','Fly Recognized','Fly Target','Confusing Recognized','Confusing Target');
    set(leg, 'Location', 'southeast')
    set(gcf,'PaperUnits','inches','PaperPosition',[0 0 9.4 6.6])
    xlim ([Range(1)-1 Range(end)+1])
    ylim ([40 110])
    xlabel('Number of Training Ponts');
    ylabel('Succes(%)');
   print(gcf,'-dtiff','-r1000','./Fig_9')


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]Miloš Simonović, Marko Kovandžić, Ivan Ćirić, Vlastimir Nikolić (2021) Acoustic Recognition of Noise-like Environmental Sounds by Using Artificial Neural Network .


[2]张明新,张东滨,倪宏.用于噪声鲁棒语音识别的声学模型及解码策略[J].电声技术,2006(06):40-43.DOI:10.16311/j.audioe.2006.06.011.


🌈4 Matlab代码实现

相关文章
|
26天前
|
存储 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息保护
在信息技术迅猛发展的今天,云计算作为支撑数字转型的重要基石,其安全性牵动着企业生存与发展的命脉。本文深入探讨了云计算环境中面临的安全威胁和挑战,并提出了一系列创新的安全策略和技术解决方案。通过综合分析公有云、私有云以及混合云服务模型中的安全需求,文章构建了一个多层次、全方位的网络安全防护体系。此外,针对数据加密、身份验证、访问控制等关键技术进行了深入剖析,旨在为读者提供一套系统的信息安全保护指南,确保在享受云计算带来的便利时,数据和资源的安全性不被妥协。
41 8
|
15天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
5天前
|
机器学习/深度学习 人工智能 安全
云端防御战线:云计算环境中的网络安全策略
【4月更文挑战第22天】 在数字化时代,云计算已成为企业运营的关键基础设施。然而,随着其广泛应用,云服务也成为了网络攻击者的主要目标。本文深入探讨了云计算环境下的网络安全挑战,分析了云服务提供者和使用者面临的安全威胁,并提出了综合性的安全策略。这些策略不仅包括传统的加密和身份验证技术,还涉及更先进的入侵检测系统、行为分析和机器学习算法。文章旨在为读者提供一个关于如何在享受云计算带来的便利同时确保数据和操作安全的综合指南。
|
1天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
12 5
|
2天前
|
云安全 安全 网络安全
云端防御战线:构建云计算环境下的网络安全体系
【4月更文挑战第25天】 随着企业数字化转型的加速,云计算以其灵活性、成本效益和可扩展性成为众多组织的首选技术平台。然而,云服务的广泛采用也带来了前所未有的安全挑战,特别是在数据保护、隐私合规以及网络攻击防护等方面。本文将深入探讨云计算环境中的网络安全策略,从云服务模型出发,分析不同服务层次的安全责任划分,并针对网络威胁提出综合性的防御措施。此外,文中还将讨论信息加密、身份验证、入侵检测等关键技术在维护云安全中的作用,以期为读者提供一套全面的云安全解决方案框架。
|
3天前
|
监控 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息保护策略
【4月更文挑战第24天】 随着企业数字化转型的加速,云计算作为提供灵活、可扩展资源的关键平台,其安全性已成为企业关注的焦点。然而,云服务的共享性和开放性给传统的网络安全防护带来了新的挑战。本文将探讨云计算环境中面临的安全威胁,并针对这些威胁提出相应的防护措施和最佳实践,以期为信息安全管理者提供参考和指导。
5 0
|
4天前
|
存储 监控 安全
云端防御战线:云计算环境下的网络安全策略与实践
【4月更文挑战第23天】在数字化转型的浪潮中,云计算已成为推动企业敏捷性、可扩展性和成本效率的关键因素。然而,随着数据和服务迁移至云端,传统的网络边界逐渐模糊,给网络安全带来了前所未有的挑战。本文探讨了在多租户云环境中维护信息安全的先进策略和技术,分析了云服务模型(IaaS, PaaS, SaaS)特有的安全风险,并提出了一系列针对性的安全措施和最佳实践。通过深入讨论身份与访问管理、数据加密、入侵检测系统以及合规性监控等关键技术,本文旨在为读者提供一套全面的云计算安全防护框架。
5 0
|
4天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
19 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
5天前
|
监控 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息保护策略
【4月更文挑战第22天】随着企业和个人用户对云服务的依赖日益加深,云计算环境的安全性成为信息技术领域关注的焦点。本文深入探讨了云计算平台面临的安全威胁、信息安全管理的挑战以及前沿防御技术。通过分析数据加密、身份验证、入侵检测等关键技术在云服务中的应用,提出了一个多层次、综合性的网络安全策略框架。此框架旨在为云服务提供商和使用者提供一套实用的安全保障措施,确保云资源的安全高效运营。
|
7天前
|
存储 安全 网络安全
构筑安全之盾:云计算环境下的网络安全与信息保护策略
【4月更文挑战第19天】随着云计算技术的飞速发展,企业和个人越来越依赖于云服务来存储、处理和交换数据。然而,这种便利性背后隐藏着潜在的安全风险。本文深入探讨了在云计算背景下,如何通过综合性的安全措施和策略来强化网络安全防护,确保数据的完整性、可用性和机密性。我们将分析当前面临的主要安全挑战,并基于最新的技术进展提出相应的解决方案,以期达到有效防御外部威胁和内部漏洞的目的。
16 4