行列の次元を揃える方法

音の合成を行いたいのですが,2つのwavファイルを読み込んだところもちろん行列の次元が違うためエラーが出ます.解決法を教えていただきたいです.
clear;
[p1,fs]=audioread('40kph_RN.wav');
[p2,fs]=audioread('2000rpm_Knock.wav');
fs=44100;
pp1=p1(1:);
smix=pp1+p2;
soundsc(smix,fs)

2 件のコメント

Kenta
Kenta 2020 年 7 月 23 日
こんにちは、「音の合成」といっても、具体的にどのような結果がほしいのでしょうか。~の関数にインプットしたい、xxという形にしたい、またはそれが難しければ絵などを添付して説明していただけると回答が得られやすいと思います。
Kaede
Kaede 2020 年 7 月 23 日
コメントありがとうございます.
音の重ね合わせと言ったらよいのでしょうか.
画像の①をみていただきたいのですが,凹凸があるディーゼルエンジンのガラガラ音に対して直線の走行騒音を重ねるという意味での合成ですので,基本的に加算で行えると認識しておりますが,音源の長さが異なるため行列の次元が異なると言ったエラーがでます.

サインインしてコメントする。

 採用された回答

Kenta
Kenta 2020 年 7 月 25 日

0 投票

clear;clc
load gong.mat;
y1=y*2;
load handel.mat;
y2=y;
y2(1:numel(y1))=y2(1:numel(y1))+y1;
soundsc(y2);
状況を詳しく教えていただきありがとうございます。単に波を足すだけでしたらこのようにすればよいと思います。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulation, Tuning, and Visualization についてさらに検索

製品

質問済み:

2020 年 7 月 23 日

回答済み:

2020 年 7 月 25 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!