MATLAB Answers

行列の次元を揃える方法

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

댓글을 달려면 로그인하십시오.

채택된 답변

Kenta
Kenta 25 Jul 2020
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

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!