第一周 清浊音时域波形与频谱分析以及计算RGB文件三通道的熵
一、清浊音时域频域分析
实验软件:Audacity
录制浊音a、o、e,清音t,爆破音p,分别查看其时域波形和频谱
(1)a
(2)o
(3)e
(4)t
(5)p
由上图可知:
浊音的时域波形呈现周期性,较为规律;频域波形中有明显的共振峰。
轻音与爆破音时域波形无周期性特征,轻音波形接近白噪声 。
二、编程实现计算rgb文件三通道的熵
测试文件分辨率为256*256,数据格式为每个像素占用3字节,以bgrbgr......的形式保存。
代码如下:
#include <iostream>
#include <stdio.h>
#include <math.h>
#pragma warning(disable:4996);
using namespace std;
int main()
{FILE* fp = fopen("E:\\test.rgb", "rb");//读入测试文件FILE* fp1 = fopen("E:\\r.txt", "w");//创建可写文件,装计算后的结果FILE* fp2 = fopen("E:\\g.txt", "w");FILE* fp3 = fopen("E:\\b.txt", "w");double h = 256; //图片宽高double w = 256;int i = 0;int j = 0;unsigned char* r;unsigned char* g;unsigned char* b;r = new unsigned char[256 * 256]; //为三个通道的数据分别创建容器g = new unsigned char[256 * 256];b = new unsigned char[256 * 256];unsigned char* yuantu; //装原图yuantu = new unsigned char[256 * 256 * 3];fread(yuantu, sizeof(unsigned char), 256 * 256 * 3, fp);double prob_r[256] = { 0 }; //各通道的概数或概率double prob_g[256] = { 0 };double prob_b[256] = { 0 };double shang_r = 0; //各通道的熵double shang_g = 0;double shang_b = 0;for (i = 0, j = 0; i < 256 * 256 * 3; i = i + 3, j++){b[j] = yuantu[i]; //以bgr的形式读进,b为读入的第一个数据g[j] = yuantu[i + 1];r[j] = yuantu[i + 2];}for (i = 0; i < 256; i++)//0到255的灰度值{for (j = 0; j < h * w; j++){if (r[j] == i){prob_r[i]++;}if (g[j] == i) { prob_g[i]++; }if (b[j] == i) { prob_b[i]++; }}}for (i = 0; i < 256; i++){prob_r[i] = prob_r[i] / double(h * w); //用概数计算得到概率prob_g[i] = prob_g[i] / double(h * w);prob_b[i] = prob_b[i] / double(h * w);}for (int i = 0; i < 256; i++){if (prob_r[i] != 0) { shang_r += (-1) * prob_r[i] * (log(prob_r[i]) / log(2.0)); }if (prob_g[i] != 0) { shang_g += (-1) * prob_g[i] * (log(prob_g[i]) / log(2.0)); }if (prob_b[i] != 0) { shang_b += (-1) * prob_b[i] * (log(prob_b[i]) / log(2.0)); }}for (int i = 0; i < 256; i++){fprintf(fp1, "%-3d\t%-8f\n", i, prob_r[i]);fprintf(fp2, "%-3d\t%-8f\n", i, prob_g[i]);fprintf(fp3, "%-3d\t%-8f\n", i, prob_b[i]);}cout << "r=" << shang_r << endl;cout << "g=" << shang_g << endl;cout << "b=" << shang_b << endl;return 0;
}
运行结果如下:
参考资料:
计算rgb文件与yuv文件的熵_Messi0822的博客-CSDN博客
第一周 清浊音时域波形与频谱分析以及计算RGB文件三通道的熵相关推荐
- 数据压缩(一)——音频文件时域频域分析RGB文件三通道的熵
一.音频文件时域频域分析 (一)实验要求 分别录制浊音.清音.爆破音的音素,通过软件audacity分析其时域及频域所具有的特点 (二)实验内容 1.浊音a 时域波形: 频域波形: 分析:时域部分具有 ...
- 元音音频时域频域特点 RGB文件三通道熵计算
一.元音 元音是在发音过程中由气流通过口腔而不受阻碍发出的音.发元音时,气流从肺部通过声门冲击声带,使声带发出均匀震动,然后震音气流不受阻碍地通过口腔.鼻腔,通过舌.唇的调节而发出不同的声音.发元音时 ...
- 实验一 元音音频时域、频谱分析 及 RGB文件读取、熵计算
实验内容: 录制三个元音音频,通过音频分析工具软件观察.总结时域波形.频谱的特点 编程实现RGB文件三通道分量的熵计算 该测试文件分辨率为256*256,数据格式为每个像素占用3字节,BGRBGR.. ...
- 数据压缩|分析浊音音频时域波形,频谱的特点
浊音时域波形和频谱的特点: 本实验中采用的三个浊音为a,i,u:实验结果如下图所示 如上图所示,三个浊音时域波形具有周期性:从频谱中可以看出浊音的短时能量和短时平均幅度比较大,但是短时过零率低,,同时 ...
- Audacity之清浊音频谱分析
Audacity之清浊音频谱分析 实验介绍 清浊音介绍 清音分析 浊音分析 清浊音对比分析 实验介绍 通过Audacity分析浊音.清音的时域与频域,并进行比较. 清浊音介绍 清浊音: 我们一般把发音 ...
- 使用Audacity对清浊音进行频谱分析
一.实验目标:使用Audacity分别录制浊清音并分析频谱特点 二.实验步骤: 1.录制两段语音,浊音/b/,清音/s/ 2.放大时域波形(灰色波形为浊音 /b/ ,蓝色波形为/s/) 3.分别对两段 ...
- 使用Audacity软件对清浊音进行时频分析并描述其特点
目录 一,实验内容 二,实验步骤 三,实验结果 四,实验总结 一,实验内容 语音学中,将发音时声带振动的音称为浊音,声带不振动的音称为清音.这里我们使用Audacity软件自行录入清音t和浊音u的音频 ...
- 判断清浊音 matlab,基于MATLAB的语音信号的清浊音分析.doc
基于MATLAB的语音信号的清浊音分析 目录 1 语音信号概述1 1.1 语音信号的基本组成1 1.2 语音信号的"短时谱"1 1.3 基音周期2 1.4 短时分析技术2 2 语音 ...
- 判断清浊音 matlab,基于MATLAB的语音信号的清浊音分析.docx
目录 TOC \o "1-5" \h \z HYPERLINK \l "bookmark0" \o "Current Document" 1 ...
最新文章
- MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP...
- 无空头的链表代码:学生管理系统
- 运行Xcode时出现 Lazy loading NSBundle MobileCoreServices.framework和 Loaded MobileCoreServices.framework
- java核心面试_Java核心面试问题
- Protobuf import文件导入其他proto
- suse 内核编译安装_Linux内核编译与安装
- Ubuntu20.04安装ZOOM
- 中年,就是1个人演1部西游记
- 利用矩阵特征值求解多项式的根
- TP-LINK配置无线上网短信Wifi认证方式
- 华为交换机5855设置ssh
- 字节跳动变更集团LOGO 此前已正式更名为抖音集团
- python - 啃书 第八章 正则表达式
- [全新大碟]周杰倫 - 魔杰座
- linux软路由设计博客,用Ubuntu来做个软路由
- 别让失败阻碍了你成功的路
- air换电池 macbook_大加分!苹果 2018 新款 MacBook Air 电池可独立更换
- 从零开始的Docker [ 7 ] --- 顶级 Volumes,数据卷, 系统限制sysctls
- 【算法学习笔记】6:SAT问题的一些经典求解策略
- 移动端vConsole查看控制台信息