Воспроизведение массива как звука и запись его выходного сигнала параллельно - PullRequest
3 голосов
/ 28 октября 2011

Я знаю, что Octave / MATLAB могут воспроизводить массивы как звук, но мне было интересно, может ли Octave сделать это: я бы хотел переключаться между диапазонами частот и воспроизводить их с помощью динамика на моем компьютере, а Octave также запишите звук, используя вход микрофона, чтобы получить максимальное значение. Я пытаюсь автоматизировать способ, чтобы октава циклически проходила по частотам и записывала полученные данные, чтобы я могла вернуться позже и посмотреть на резонансные частоты. Может ли Octave выполнять этот тип операции параллельно?

Я использую Ubuntu Linux 10.04 64bit с полнодуплексной звуковой картой

Пример:

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;

1 Ответ

1 голос
/ 22 ноября 2011

Это можно сделать с помощью SOX http://sox.sourceforge.net/

, например, кода октавы / SOX, который делает это системным/home/a_record.wav trim 0 00:01 ')

...