一. 利用Audacity分析浊音、清音、爆破音

1. 音频分析工具

本次实验使用软件Audacity

2. 分析时域波形和频谱

(1)浊音

以a为例

时域波形

频谱

结论:浊音时域具有周期性。在频域上能量集中在低频,具有明显的共振峰的特性。

(2)清音

以f为例

时域波形

频谱

结论:清音在时域上无明显的周期性,在频域上高频部分能量分布更多,频谱分布更为平均、随机,符合其类似于白噪声的特征。

(3)爆破音

以b为例

时域波形

频谱

结论:爆破音时域波形抖动幅度较大,有明显突起脉冲。在频域上能量主要集中在低频,低频到高频呈下降趋势。

二. RGB文件三通道分量的熵计算

测试文件test.rgb分辨率为256*256,数据格式为每个像素占用3字节,BGRBGR...保存。

1.具体步骤

(1)拿到文件可以先计算一下文件大小是否为宽*高*3字节。

256*256*3=196608字节

(2)读入rgb文件,把内容保存到all[196608]数组中

可以参考如下

C语言fread和fwrite的用法详解(以数据块的形式读写文件) (biancheng.net)http://c.biancheng.net/view/2071.html如果使用fopen报错,可以参考如下:

(2条消息) VS 报错error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead._mini猿要成长QAQ的博客-CSDN博客_fopen unsafehttps://blog.csdn.net/sgfmby1994/article/details/80432205

(3)将RGB三通道值分别保存在r[65536]、g[65536]、b[65536]三个数组中

(4)统计RGB三通道不同色度值的个数概率分布→各自的

2.代码

#include <iostream>
#include<stdio.h>
#include <stdlib.h>
#include<math.h>
int main()
{int size = 256 * 256; unsigned char all[196608] = { 0 };unsigned char r[65536] = { 0 }; //R、G、B三通道值unsigned char g[65536] = { 0 };unsigned char b[65536] = { 0 };double Pr[256] = { 0 }, Pg[256] = { 0 }, Pb[256] = { 0 };//R、G、B的概率分量double Hr = 0, Hg = 0, Hb = 0;//R、G、B的熵FILE* fp;fp=fopen("D://大三下//数据压缩//实验一//test.rgb", "rb");//从文件读取内容并保存到数组allfread(all, sizeof(unsigned char), size*3, fp);for (int i = 0,j = 0 ; i < size * 3 ; i += 3){//数据格式为每个像素占用3字节,BGRBGR...保存b[j] = all[i];g[j] = all[i + 1];r[j] = all[i + 2];j++;}for (int i = 0; i < 256; i++) //统计RGB三通道不同色度值的个数{for (int j = 0; j < size; j++){if (b[j] == i){Pb[i]++;}if(g[j] == i){Pg[i]++;}if(r[j] == i){Pr[i]++;}}}for (int i = 0; i < 256; i++){Pb[i] /= size; //统计RGB三通道不同色度值的概率if (Pb[i] != 0){Hb-= Pb[i] * (log(Pb[i])/log(2.0)); //计算B的熵}Pg[i] /= size;if (Pg[i] != 0){Hg -= Pg[i] * (log(Pg[i]) / log(2.0)); //计算G的熵}Pr[i] /= size;if (Pr[i] != 0){Hr -= Pr[i] * (log(Pr[i]) / log(2.0)); //计算R的熵}}printf("H(B)=%lf\n", Hb);printf("H(G)=%lf\n", Hg);printf("H(R)=%lf\n", Hr);fclose(fp);}

运行结果:

[数据压缩作业1]利用Audacity分析浊音、清音、爆破音|RGB文件三通道分量的熵计算相关推荐

  1. 数据压缩作业1-1|利用Audacity分析浊音、清音、爆破音的时域及频域特性

    文章目录 实验任务 实验目的 实验步骤 实验过程 实验结果分析 实验总结 实验任务 使用Audacity分析浊音.清音爆破音的时域及频域特性 实验目的 能够基本掌握Audacity这款音频处理软件的基 ...

  2. 浊音/清音/爆破音的时域及频域特性

    第一周作业 浊音/清音/爆破音的时域及频域特性 思路:使用Audacity进行录制,时域部分将音频放大观察波形规律,频域部分生成并进行频谱分析. (1)浊音U 时域分析: 时域表现为短周期性,波形比较 ...

  3. 利用audacity分析浊音、清音、爆破音的时域及频域特性

    必备知识: 浊音:声门打开然后关闭时中断肺部到声道的气流所产生的脉冲. 清音:由不稳定气流激励产生,这种气流是在声门处在打开状态下强制空气在声道里高速收缩产生的. 爆破音:是在声道关闭之后产生的压缩空 ...

  4. 作业:自行录制轻音、浊音、爆破音并使用Audacity分析其时域和频域的特性

    作业:自行录制轻音.浊音.爆破音并使用Audacity分析其时域和频域的特性## 录制轻音.浊音.爆破音 浊音:发音时声带振动/z/ 轻音:发音时声带不动/s/ 爆破音:发音器官在口腔中形成阻碍,然后 ...

  5. 用Audacity分析浊音、清音、爆破音的时域及频域特性

    文章目录 一.实验任务 二.实验内容及分析 1.浊音[u] 浊音u时域分析 浊音u频域分析 2.清音[t] 清音t时域分析 清音t频域分析 3.爆破音[p] 爆破音p时域分析 爆破音p频域分析 一.实 ...

  6. 信源编码技术作业1:使用Audacity绘制并分析清音、浊音、爆破音的频谱图

    实验目的 观察不同类型语音信号的时域.频域特性 实验过程 选取了浊音m.l:清音f.h:爆破音p发音进行录音,将录音mp3文件导入Audacity中进行时域与频域的分析. 实验结果 浊音 m.l的时域 ...

  7. 数据压缩作业 1.1清音、浊音、爆破音的时域和频域特性分析

    分析工具:audacity 一.浊音(o) ·时域分析 浊音的时域波形短时平均幅度最大,短时过零率最低,且具有周期性,即基音周期. ·频域分析 浊音的频域波形有明显的共振峰,能量集中在低频区域,主要为 ...

  8. 数据压缩作业1之:使用音频分析软件(Audacity)分析浊音、清音爆破音的时域及频域特性。

    录制的浊音为/d/,清音为/ʃ/,爆破音为/t/ 实验结果 浊音时域 浊音频域 清音时域 清音频域 爆破音时域 爆破音频域 分析 从实验结果可以看出: ①在时域上,相同的单位时间内,浊音的幅度变化范围 ...

  9. Audacity分析浊音清音爆破音的时域和频域波形图

    自行录制三个.wav音频文件:浊音U,清音S,爆破音P.使用Audacity对语音信号(具有短时平稳性)进行分析并记录: 一.浊音U: 时域图: 频域图: 分析: 浊音信号时域能量高,具有周期性: 频 ...

最新文章

  1. 初步理解Python进程的信号通讯
  2. AnalogClock的使用(一)
  3. Java后台开发Tomcat添加https支持小程序开发过程
  4. 关于sqlserver中xml数据的操作
  5. 四万字让你精通SQL数据库操作
  6. linux usermod修改用户所在组方法
  7. Python字符集编码和文件读写
  8. htc a620d 刷android,续航以及最后的总结_HTC A620d - CNMO
  9. 一场对爱情的反思《少有人走的路:心智成熟的旅程》
  10. snmp工具_运维超级好用工具大PK,你在用哪个?
  11. CentOS 7 安装教程
  12. 云服务器是什么?云服务器有什么作用?
  13. SQL Server 2005系列教学(13) 游标
  14. scrollbar滚动条修改样式
  15. css flex 知乎,Oh My God,CSS flex-basis原来有这么多细节
  16. PTA(每日一题)7-75 某校几人
  17. Go语言WEB框架:请求参数处理
  18. 44所高校入选!分布式智能计算项目名单公示
  19. 分类指数及对应的ETF
  20. R语言Copula模型分析股票市场板块相关性结构

热门文章

  1. 防火墙添加ip白名单_如何给防火墙加白名单 防火墙添加ip白名单
  2. Docker Image 基础使用命令
  3. flowable 查询完成的流程_flowable流程引擎初体验,完成一个请假流程
  4. GD32F303固件库开发(7)----printf打印配置
  5. rdms系统_什么是关系数据库管理系统(RDMS)?
  6. Android recycleView滑动与bottomsheet 冲突解决
  7. 数据分析pandas使用
  8. git merge 单个文件
  9. Matlab视频处理
  10. Java web实现百度地图导航