【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】

news2024/11/20 7:17:21

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


Matlab 汉/英声学特征比较与基音频率分析


目录

  • Matlab 汉/英声学特征比较与基音频率分析
  • 一、设计目的
  • 二、设计思路
  • 三、代码实现


一、设计目的

使用 MATLAB 代码旨在通过详细分析汉语中的“a”和英语中的"A"这两个音素的语音特性,揭示同一音素在不同语言中的发音差异。它通过读取和处理语音样本,计算短时平均能量和幅度,绘制这些特性的图表,以及运用短时自相关法和平均幅度差法(AMDF)检测基音周期,从而提供对汉语和英语“A”音在能量、幅度和基频等方面差异的深入理解。
这一分析对于语音识别、语言学习、语音合成等领域具有重要价值,有助于促进跨语言交流的技术发展。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈

二、设计思路

  1. 录制音频:录制汉语“a”和英语"A"的语音信号,并获取其采样率。

  2. 单声道处理:如果音频是双声道的,则将其转换为单声道,以便后续处理。

  3. 计算短时平均能量和短时平均幅度:通过调用相应的函数,计算汉语“a”和英语"A"语音信号的短时平均能量和短时平均幅度。

  4. 绘制能量和幅度图:利用计算得到的短时平均能量和短时平均幅度,绘制出汉语“a”和英语"A"的能量和幅度变化图。

  5. 基音周期检测

    • 使用短时自相关法(Autocorrelation)检测基音周期,并得到基音频率。
    • 使用短时平均幅度差法(AMDF)检测基音周期,并得到基音频率。
  6. 绘制自相关曲线和AMDF曲线:绘制汉语“a”和英语"A"的短时自相关曲线和短时平均幅度差曲线,以便观察基音周期检测的结果。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈


三、代码实现

  1. 读取音频文件

    [hanYu, fs1] = audioread('chinese_a.m4a');
    [yingYu, fs2] = audioread('english_A.m4a');
    

    使用 audioread 函数读取汉语“a”和英语"A"的音频文件,分别存储在 hanYuyingYu 变量中。fs1fs2 是对应的采样频率。

  2. 音频处理

    if size(hanYu, 2) == 2
        hanYu = mean(hanYu, 2);
    end
    if size(yingYu, 2) == 2
        yingYu = mean(yingYu, 2);
    end
    

    检查音频是否为双声道,如果是,则将其转换为单声道。这是通过计算双声道样本的平均值来实现的。

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈

  3. 短时特征分析

    frameLen = 256;
    hanYu_energy = shortTimeEnergy(hanYu, frameLen);
    hanYu_amplitude = shortTimeAmplitude(hanYu, frameLen);
    yingYu_energy = shortTimeEnergy(yingYu, frameLen);
    yingYu_amplitude = shortTimeAmplitude(yingYu, frameLen);
    % 实现 略....
    

    这里设置了帧长,然后计算了短时平均能量和短时平均幅度。

  4. 绘图

    subplot(2,2,1);
    % 实现 略....
    % 实现 略....
    % 实现 略....
    % 实现 略....
    % 实现 略....
    subplot(2,2,4);
    

    这部分代码使用 subplotplot 函数创建图表,展示两种语言中“a”音的短时能量和幅度。

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈

    在这里插入图片描述

  5. 基音周期检测

    • 短时自相关法:
      [hanYu_pitch1, hanYu_acf] = pitchDetectionAutocorr(hanYu, fs1);
      [yingYu_pitch1, yingYu_acf] = pitchDetectionAutocorr(yingYu, fs2);
      
    • 短时平均幅度差法(AMDF):
      [hanYu_pitch2, hanYu_amdf] = pitchDetectionAMDF(hanYu, fs1);
      [yingYu_pitch2, yingYu_amdf] = pitchDetectionAMDF(yingYu, fs2);
      

    这两个段落分别使用自相关法和AMDF法进行基音周期的检测,并将结果保存在相应的变量中。

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈

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

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈

  6. 辅助函数定义

    function energy = shortTimeEnergy(signal, frameLen)
    ...
    % 实现 略...
    % 实现 略...
    function [pitch, amdfCurve] = pitchDetectionAMDF(signal, fs)
    ...
    % 实现 略...
    % 实现 略...
    

    这部分定义了用于短时能量、短时幅度、自相关法基音检测和AMDF法基音检测的辅助函数。

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 声学特征分析 ” 获取。👈👈👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1572853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物联网实战--入门篇之(八)嵌入式-空气净化器

目录 一、风扇调速 二、通讯协议 三、净化器运行逻辑 一、风扇调速 单片机是不能直接驱动电机的,因为主芯片的驱动电流比较小(50mA左右),他们之间正常还要有个电机驱动器,常用的有TB6612、L298和L9110等,目前项目用的这个电机它…

2024 年广东省职业院校技能大赛(高职组)“云计算应用”赛项样题 4

#需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件…

蓝桥 python笔记14——KMP、字符串哈希、最长回文子串、字典树

目录 KMP 字符串哈希 最长回文子串 字典树 KMP 模式匹配问题: KMP算法: 用动规的思想求Next数组:如果后缀的i位置前缀的j位置,Next[i1]j1;如果后缀的i位置!前缀的j位置,那就用KMP算法,令jNe…

9(10)-1(2)-CSS 布局模型+CSS 浮动

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 一、CSS 布局模型1 流动模型(标准流) 二、CSS 浮动1 浮…

嵌入式学习48-单片机1

51单片机—————8位单片机 裸机驱动 无系统 linux驱动 有系统 驱动-----反映硬件变化 MCU 微控器 MPU CPU GPU 图像处理 IDE 集成开发环境 peripheral 外设 SOC: system on chip P0:8bit——8个引脚 位运算 & …

稀碎从零算法笔记Day41-LeetCode:岛屿数量

题型:图、BFS、模拟、DFS 链接:200. 岛屿数量 - 力扣(LeetCode) 来源:LeetCode 题目描述 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛…

普通情况和高并发时,Redis缓存和数据库怎么保持一致?

普通情况和高并发时,Redis缓存和数据库怎么保持一致? 普通情况思路 高并发时思路 Q:缓存和数据库怎么保持一致? A:绝对不可能保持一致的,在实际业务开发中,有一些方案可以做取舍。 实际业务中&a…

CSS-属性

📚详见 W3scholl,本篇只做快速思维索引。 CSS 背景 用于定义元素的背景效果。 background-colorbackground-imagebackground-positionbackground-repeatbackground-attachment background-color background-color 属性指定元素的背景色。 h1 {back…

碘浊度法与红外相机联用测定食品中维生素C

🌞欢迎来到看论文的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 📆首发时间:🌹2024年4月6日&…

Jenkins (三) - 拉取编译

Jenkins (三) - 拉取编译 通过Jenkins平台 git 拉取github上项目,通过maven编译并打包。 Jenkins 安装 git 插件 Manager Jenkins -> Plugins -> Available plugins -> Git 打包编译检验 FressStyle 风格编译 New Item输入 item name Spring-Cloud-1…

大数据毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 计算机毕业设计 机器学习 深度学习 人工智能

附件3 文山学院本科生毕业论文(设计)开题报告 姓名 性别 学号 学院 专业 年级 论文题目 基于协同过滤算法的高考志愿推荐系统的设计与实现 □教师推荐题目 □自拟题目 题目来源 题目类别 指导教师 选题的目的、意义(理论…

Vue关键知识点

watch侦听器 Vue.js 中的侦听器(Watcher)是 Vue提供的一种响应式系统的核心机制之一。 监听数据的变化,并在数据发生变化时执行相应的回调函数。 目的:数据变化能够自动更新到视图中 原理: Vue 的侦听器通过观察对象的属性&#…

3.6 CSS定位

CSS定位可以将HTML元素放置在页面上指定的任意地方。CSS定位的原理是把页面左上角的点定义为坐标为(0,0)的原点,然后以像素为单位将整个网页构建成一个坐标系统。其中x轴与数学坐标系方向相同,越往右数字越大;y轴与数学坐标系方向相反&#x…

RabbitMQ3.13.x之六_RabbitMQ使用场景

RabbitMQ3.13.x之六_RabbitMQ使用场景 文章目录 RabbitMQ3.13.x之六_RabbitMQ使用场景1. 为什么选择 RabbitMQ?1. 可互操作2. 灵活3. 可靠 2. 常见用户案例1. 服务解耦2. 远程过程调用3. 流处理4. 物联网 1. 为什么选择 RabbitMQ? RabbitMQ 是一个可靠且…

(一)基于IDEA的JAVA基础11

为什么使用多重循环 有时单独一个循环不能满足我们的要求,我们就要使用多重循环,这不废话吗。 多重循环的使用: 一般我们使用多重循环都是双重for循环, 语法: for(循环条件){ 循环操作1; for(循环条件2){ 循环操作2&#x…

关于swagger配置

swagger有多种样式&#xff0c;有些比较难用&#xff0c;如下界面比较友好 1.推荐对应的jar包如下 <!--swagger相关--> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0<…

基于SSM框架就业管理系统

摘要 本论文主要讲述了基于SSM框架及MySQL数据库实现的就业管理系统的设计和开发过程。本论文中所讲的就业管理系统是通过所学的知识创办一个非商业性的网站平台&#xff0c;使所有想要就业信息查看的高校毕业生们与想要宣传自己公司的商家们都可以更方便快捷的进行就业和体验…

echarts实现炫酷科技感的流光效果

前言&#xff1a; echarts实现炫酷科技感的流光效果 效果图&#xff1a; 实现步骤&#xff1a; 1、引入echarts,直接安装或者cdn引入 npm i echarts https://cdn.jsdelivr.net/npm/echarts5.4.3/dist/echarts.min.js 2、封装 option方法&#xff0c;第一个数据是折线数据&a…

WebGIS 地铁交通线网数据可视化监控平台

数字孪生技术在地铁线网的管理和运维中的应用是一个前沿且迅速发展的领域。随着物联网、大数据、云计算以及人工智能技术的发展&#xff0c;地铁线网数字孪生在智能交通和智慧城市建设中的作用日益凸显。 图扑软件基于 HTML5 的 2D、3D 图形渲染引擎&#xff0c;结合 GIS 地图&…

掌握数据相关性新利器:基于R、Python的Copula变量相关性分析及AI大模型应用探索

在工程、水文和金融等各学科的研究中&#xff0c;总是会遇到很多变量&#xff0c;研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果&#xff0c;但这些系数都存在着无法克服的困难。例如&#xff0c;…