正弦波の周波数につい​て、2CH周波数の出​力方法を教えてくださ​い。

fs=96000;
Ts=1/fs;
freq1=440;
mag1=0.5;
freq2=660;
mag2=0.5;
sec=1;
t=[0:Ts:sec];
wavedata1=mag1*sin(2*pi*freq1*t);
wavedata2=mag2*sin(2*pi*freq2*t);
wavedata=?
plot(t,wavedata);
title('');
xlabel('');
ylabel('');
wavedata=wavedata/max(abs(wavedata));
sound(wavedata,fs,24)
audiowrite('SP.wav',wavedata,fs,'BitsPerSample',24);
ここまでできてるのですが、?マークの場所にどう書けば、左右のスピーカーから違った周波数を出力できるのか教えてください。
例えば右のスピーカから440Hz左のスピーカから660Hzという感じでお願いします。

Réponses (1)

Naoya
Naoya le 12 Juin 2020

0 votes

こちら は、sound関数の引数 y に対する説明になります。
2ch 出力する場合は、 y を M行2列の行列で定義します。
現状の wavedata1, wavedata2 は行ベクトルのようですので、
>> wavedata = [wavedata1', wavedata2'];
のように各行ベクトルを転置して、横方向に列ベクトルを結合することで 96001x2 の行列を作成することができます。

Catégories

En savoir plus sur Audio Processing Algorithm Design dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!