返回信息流第一次用MATLAB,需要将两段音频合成,在用zn=xn+yn时,提示Matrix dimensions must agree。这个意思是说xn,yn代表的两段音频需要有相等的大小吗?还是取样频率什么的得相等?
这种问题可以从HELP里找到答案吗?我看help没看出什么来。。。
刚开版就来求助了,多谢~~~
这是一条镜像帖。来源:北邮人论坛 / matlab / #6402同步于 2010/3/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
[求助]将两个音频合成
LL816
2010/3/20镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 LL816 的大作中提到: 】
: 那,xn和yn的size实际代表的是音频文件的大小吗?怎么把两段声音弄得一样大呀。。。
>> a=magic(4)
a =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> b=magic(5)
b =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> a+b
??? Error using ==> plus
Matrix dimensions must agree.
矩阵不同维所以会报错
我这里用一个巨笨的办法,让两个矩阵变得同维 求大牛指教
c=zeros(5)
c =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
for i=1:4
for j=1:4
c(i,j)=a(i,j);
end
end
>> c+b
ans =
33 26 4 21 15
28 16 17 22 16
13 13 19 32 22
14 26 34 22 3
11 18 25 2 9
就是维数不同吧~
【 在 LL816 (露露) 的大作中提到: 】
: 第一次用MATLAB,需要将两段音频合成,在用zn=xn+yn时,提示Matrix dimensions must agree。这个意思是说xn,yn代表的两段音频需要有相等的大小吗?还是取样频率什么的得相等?
: 这种问题可以从HELP里找到答案吗?我看help没看出什么来。。。
: 刚开版就来求助了,多谢~~~
: ...................
【 在 LL816 的大作中提到: 】
: 还是那个问题,我这xn,,yn都是音频,怎么把它们看成矩阵进行加法?又怎么看它们是几维的?它们的维数代表了什么?又怎么把它们变成同维的?想不通。。。
比如你现在是一个wav文件 用wavread把音频读入matlab以后就是矩阵 可以在workspace看到这个文件的维数 如果想要相加的话 必须两个矩阵同维而且长乘宽相等 下图是我读入的一个音频文件 fs是采样率 y是这个音频文件的数据 很清楚的可以看到矩阵的长宽 --
这下看到了,原来那里有显示呀。。。不过,貌似你上面给的方法有点麻烦。。。要不我再重新截一下音频好了。。可是控制成大小一样的好像不容易吧。。。有人有简单方法没呀??