当前位置:首页 > matlab学习笔记
11).声音的处理
Matlab提供两种读取声音文件的函数:wavread(‘filename.wav’)和auread(‘filename.au’),非别读取wav格式的文件盒au格式的文件;且两个函数均返回三个变量:取值(-1,1)之间的声音向量(n行1列)--代表振幅、以HZ为单位的采样频率(1个常数)和记录数据所用的位数(8位或16位,分辨率不同而已。%分辨率取值一般8位或16位%)。
播放命令:sound(data,rate),其中data是声音值向量,rate为回放频率,一般等于录音时的频率。该函数直接将数据传递为计算机的声卡。
例:[b16,f16,n]=wavread(‘filename.wav’); Sound(b16,f16);
[b8,f8,n]=wavread(‘filename.wav’);
Sound(b8,f8); %可分辨8位和16位音质的差别
声音片段剪切:例
[a,b,n]=wavread(‘filename.wav’);
C=[a(1:2000);a(3000:end)]; %将文件中2000-3000的片段剪切掉并将剩余片段组合起来存入c。
C=C*0.5; %将音频音量降低一半 Sound(a,b); %播放原文件
Sound(c,b); %播放剪切后的文件,对比效果 Plot(a); %画出原音频图像
Plot(c) %画出剪切后的文件图形
快速傅里叶变换fft(x):x为时域采样序列,生成取值为复数的频谱文件;ifft(x):逆变换,重新生成时域序列。 12)随机排序
如:x=[1,2,3,4,3,2,1,5],编写程序将数据随机排序,程序如下 X=X(randperm(numel(x)))
numel(x)获得变量长度
randperm(n)产生长度为n的随机数列 如: randperm(4) ans=
3 2 1 4
X(...) 取得X中相应元素产生新数列
附录A:matlab特殊字符、保留字和函数 .* / ./ \\ ^ .^ < > <= >= == ~= & && | || ~ 逻辑函数 All(a) 若逻辑向量a中的所有值都为真,则返回值为真 And(a,b) 若a,b都为真,则返回值为真 Any(a) Not(a) Or(a,b)
文件输入输出 load save csverad fprinft imread 若逻辑向量a中有元素为真,则返回值为真 非a,即若a为真,则返回值为假,若a为假,则返回值为真 若a或b为真,则返回值为真 小于 大于 小于等于 大于等于 等于 不等 元素级逻辑与(向量) 短路逻辑与(标量) 元素级逻辑或(向量) 短路逻辑或(标量) 一元非 数组乘法 矩阵除法 数组除法 矩阵后除,等同求逆效果 矩阵指数运算 数组指数运算 imwrite 格式控制符 %e指数表示法 Fclose(file) %q由双引号界定的引用串 %s字符串 \\n换行 \\t制表 \\b退格 %f定点或十进制表示法 %g定点或指数表示法
Ans默认储存变量 Clc清屏 Clear清楚变量 Clf清空当前图形
Close all关闭所有窗口 Exit,quit关闭matlab Load载入文件 Who,whos查看所有变量
Eps两个浮点数之间可能出现的最小差 Pi圆周率 False逻辑假 Inf无穷大 NaN非数值 基本数学函数 Exp(x)指数函数 Fix(x)将x向0方向舍入取整 Floor(x)将x向负无穷舍入取整 Round(x)将x就近取整 Sqrt(x)开方 Sin(x)正弦 Cos(x)余弦 Tan(x)正切 向量数组矩阵操作 Cumsum(v) Deal() Det(a) Diag(a) Eye() find Fliplr() Inv(a) Length(a) Magic(c) 计算v中元素的累积和 给变量分配返回的元胞数组型结果 计算矩阵行列式的值 抽取aj矩阵的对角元素或以向量a为对角建立矩阵 生成单位阵 左右翻转矩阵 矩阵求逆 获取a的最大维数 生成魔方矩阵 Asin(x)反正弦 Acos(x)反余弦 Atan(x)反正切 Atan2(y,x)给定x和y,计算反正切 True逻辑真 Log(x)自然对数 Log10(x)以10为底的对数 Mod(x,a)计算x/a的余数 Rem(x,a)同上 Linspace(fr,t,n) 定义一个线性间隔的向量 [v,in]=max(a) Mean(a) Ones(n,m) Prod(x) Rand(n,m) Randn(n,m) Size(a) sparse [v,in]=sort(v) Sum(a) Zeros(n,m) Meshgrid(x,y) 2-D绘图 bar barh contour hist loglog pie plot polar semilogx semilogy 3-D绘图 Bar3 Barh3 gplot Mesh(x,y,z) Meshc(x,y,z) Meshz(x,y,z) meshgrid(n,m) peaks Pie3 Plot3() sphere surf surfc waterfall plotyy 查找a中最大元素的值和位置 计算a中元素的平均值 生成1矩阵 计算x中所有元素的乘积 产生0,1之前均匀分布的对应维数矩阵 产生0,1之间正态分布的对应维数矩阵 得到数组a的维数大小 定义稀疏矩阵 对向量v进行排序 计算a中元素之和 产生对应维数的0数组 将向量x,y分别映射成二维数组 产生条状图 产生水平条状图 产生等高线图 产生直方图 产生x,y轴均为对数尺度的图 产生饼图 产生x-y图 产生极坐标图 仅x轴为对数尺度产生x-y图 近y轴为对数尺度产生x-y图 三维条状图 水平三维条状图 按图论法则绘图 绘制曲面的网格图 绘制带有等高线的曲面网格图 绘制带有扩展垂直线的曲面网格图 产生三维绘图用的网格 产生采样矩阵用来要是绘图函数 绘制三维饼状图 绘制三维曲线图 演示绘图的例程函数 绘制曲面图 绘制带有等高线图的曲面图 产生仅在x轴具有扩展垂直线的网格曲面图
共分享92篇相关文档