基于C#和MATLAB对手机录音音频数据分析处理系统

目录
第一章 绪论 1
1.1 引言 1
1.2课题背景和意义 2
1.3 音频特征参数分析现状 3
1.4论文主要任务及安排 4
第二章基本理论 5
2.1 引言 5
2.2 语音信号处理基础 5
2.2.1语音信号分帧 5
2.2.2语音特征参数理论 6
2.2.3 MFCC特征参数的计算和提取 6
2.2.4改进的功率归一化倒谱参数 8
2.3语音信号的共振峰理论 8
2.4本章小结 9
第三章 FFMPEG格式转换技术 10
3.1 FFMPEG技术介绍 10
3.2 FFMPEG项目组成 10
3.3 FFMPEG技术优势 11
3.4本章小结 11
第四章 软件部分简介 12
4.1 MATLAB优势 12
4.1.1发展背景 12
4.1.2 浅显易懂的程序语言 12
4.1.3 强大的数据处理能力 13
4.1.4 完备的图形处理能力 13
4.1.5 工作界面介绍 14
4.2 C#优势 14
4.2.1背景 14
4.2.2 C#编程优势 14
4.2.3 VS2010软件简介 15
4.3 SQL Server2008简介 16
4.4 本章小结 17
第五章 系统构建及音频特征分析 18
引言 18
5.1 前期工作 18
5.2 音频资料的格式转换 19
5.3 C#方面的相关设计 20
5.3.1用C#编程语言实现数据库链接 21
5.3.2 用C#编程实现音频操作 21
5.4 MATLAB方面的相关设计 22
5.4.1 MATLAB频谱图的生成 23
5.5系统的工作界面的设计 25
5.6 系统总流程图 27
5.7 本章小结 28
第六章 毕业设计总结与期望 29
6.1论文总结 29
6.2 毕业设计中遇到的主要问题及解决办法 29
6.3 对未来的展望 31
致谢 32
第五章 系统构建及音频特征分析
引言
该课题研究主要包含了四个方面:首先是对收集到的音频的格式转换,接着是基于C#的界面设计,然后是通过界面操作将转化后的音频文件存储到数据库中,最后是将存储的音频文件通过MATLAB进行图形的输出,对其进行特征参数的提取。
在这个循序渐进的过程中,C#编程语言在其中起着联系各个模块的作用,对整个系统进行联调。MATLAB方面则是要完成对音频的时频谱的输出分析,需要通过C#编程来实现对其进行调用。对于SQL数据库,主要实现的是音频信号数据的存入与输出,对信息进行管理的功能。
5.1 前期工作
在课题刚开始时,开题报告中所确定下的方案流程如下:

在这里插入图片描述

			    	图5.1 基本工作流程图

所以首先要进行的前期准备工作就是大量的音频信号资料的收集任务,我也预留了足够的时间去做这方面的准备,要多进行各种情况下的录音准备工作。其中包括了多人多条进行录制、录制时设备电量在5%到50%之间、不同手机设备模式下进行录音、不同的录音环境下进行录音等等。同时,为了确保后期的分类整理存库方便,还要严格记录下录音文件当时所处环境的详细信息,再及时对不同的录音文件进行分类保存,做到较高的区分度。

<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/newlw/article/details/132634553