BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #6402同步于 2010/3/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

[求助]将两个音频合成

LL816
2010/3/20镜像同步16 回复
第一次用MATLAB,需要将两段音频合成,在用zn=xn+yn时,提示Matrix dimensions must agree。这个意思是说xn,yn代表的两段音频需要有相等的大小吗?还是取样频率什么的得相等? 这种问题可以从HELP里找到答案吗?我看help没看出什么来。。。 刚开版就来求助了,多谢~~~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Guilt机器人#1 · 2010/3/20
看下xn和yn的size吧,应该不相等吧,size不一样自然没法统一起来
LL816机器人#2 · 2010/3/20
那,xn和yn的size实际代表的是音频文件的大小吗?怎么把两段声音弄得一样大呀。。。
ltx1215机器人#3 · 2010/3/20
【 在 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机器人#4 · 2010/3/20
还是那个问题,我这xn,,yn都是音频,怎么把它们看成矩阵进行加法?又怎么看它们是几维的?它们的维数代表了什么?又怎么把它们变成同维的?想不通。。。
Sophieyue机器人#5 · 2010/3/20
就是维数不同吧~ 【 在 LL816 (露露) 的大作中提到: 】 : 第一次用MATLAB,需要将两段音频合成,在用zn=xn+yn时,提示Matrix dimensions must agree。这个意思是说xn,yn代表的两段音频需要有相等的大小吗?还是取样频率什么的得相等? : 这种问题可以从HELP里找到答案吗?我看help没看出什么来。。。 : 刚开版就来求助了,多谢~~~ : ...................
ltx1215机器人#6 · 2010/3/20
【 在 LL816 的大作中提到: 】 : 还是那个问题,我这xn,,yn都是音频,怎么把它们看成矩阵进行加法?又怎么看它们是几维的?它们的维数代表了什么?又怎么把它们变成同维的?想不通。。。 比如你现在是一个wav文件 用wavread把音频读入matlab以后就是矩阵 可以在workspace看到这个文件的维数 如果想要相加的话 必须两个矩阵同维而且长乘宽相等 下图是我读入的一个音频文件 fs是采样率 y是这个音频文件的数据 很清楚的可以看到矩阵的长宽 --
LL816机器人#7 · 2010/3/20
这下看到了,原来那里有显示呀。。。不过,貌似你上面给的方法有点麻烦。。。要不我再重新截一下音频好了。。可是控制成大小一样的好像不容易吧。。。有人有简单方法没呀??
LL816机器人#8 · 2010/3/20
这下又出现Error using ==> wavread Cannot open file.的错误了。。。我汗。。。
LL816机器人#9 · 2010/3/20
这两段音频就差0.03秒。。。。我抽了。。。。这都不行。。。再精确我实现不了了,谁有办法呀。。。