配列をサウンドとして再生し、その出力を並行して記録する

私はOctave/MATLABがサウンドとして配列を再生できることを知っていますが、私はOctaveがこれを行うことができるかどうか疑問に思っていました:周波数の範囲を巡回し、Octaveにスピーカーを使ってコンピュータで再生させ、最大値を得るためにマイク入力を使用して発音します。私は周波数を使ってOctaveサイクルを作り、受信したデータを記録する方法を自動化しようとしているので、後で戻って共振周波数を見ることができます。 Octaveはこの種の操作を並行して行うことができますか?

私は全二重サウンドカードでUbuntu Linux 10.04 64ビットを使用しています

例:

clear all
t=linspace(0,1,44100);
A = 1; % amplitude
Fs = 44100

for ii=1:1:10
     freq=ii; %how many in 1 sec
     T = 1/freq; % period of the signal
     vertoffset=0.5;
     % square
     square = mod(t * A/T, A) > A/2;
     square = square - vertoffset;
     sound(square,Fs);
end;
3

1 答え

This can be done with SOX http://sox.sourceforge.net/

これを行うオクターブ/ SOXコードの例 システム( 'play /home/a_playback.wav | rec -c 1 -r 8000 -b 16 /home/a_record.wav trim 00:01')

1
追加された