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

2 views (last 30 days)
yuuto kurisaki
yuuto kurisaki on 9 Jun 2020
Answered: Naoya on 12 Jun 2020
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という感じでお願いします。

Answers (1)

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

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!