声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1595|回复: 2

[其他] 求助:求音乐波形时遇到的问题

[复制链接]
发表于 2006-12-7 18:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用matlab求音乐波形的代码
[x,fs,nbits]= wavread('1.wav');
plot(x);
得到的横坐标是采样点的数值
如何得到横坐标是时间的数值?
请知道的帮帮忙
谢谢

[ 本帖最后由 zhangnan3509 于 2007-7-4 09:32 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-12-7 23:41 | 显示全部楼层
给出时间就行了:
t=(0:length(x)-1)/fs;
plot(t,x)
 楼主| 发表于 2006-12-28 21:23 | 显示全部楼层
那请问如果也想把短时能量和过零率的横坐标也该为用时间显示
也问应该如何修改
[x,fs,bits] = wavread('F:\code\music\5.wav');
win=fs*20/1000;%
inc=win*0.5;   %
%计算短时能量
subplot(len,1,2);
amp = sum(abs(enframe(filter([1 -0.9375], 1, x), win, inc)), 2);
t=(0:length(amp)-1)/fs;我这样写显示的小数
plot(t,amp);

%计算过零率
subplot(len,1,3);
tmp1  = enframe(x(1:end-1), win, inc);
tmp2  = enframe(x(2:end)  , win, inc);
signs = (tmp1.*tmp2)<0;
diffs = (tmp1 -tmp2)>0.02;
zcr   = sum(signs.*diffs, 2);
t=(0:length(zcr)-1)/fs;我这样写显示的小数
plot(t,zcr);
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 19:48 , Processed in 0.212947 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表