|
From: | William Krekeler |
Subject: | RE: Playing an array as sound and recording it's output in parallel |
Date: | Fri, 28 Oct 2011 13:21:04 +0000 |
From: address@hidden
[mailto:address@hidden On Behalf Of Rick T Greetings All I know octave can play arrays as sound but, I was
wondering if Octave can do this. I would like to cycle through a range of
frequencies and have octave play them using the speaker out on my computer, and
have octave also record the sound using the mic input to get the max
value. I'm trying to automate a way to have octave cycle
through frequencies and record the data received so I can
go back latter and look at the resonant frequencies. Can Octave do this
type of operation in parallel? Example: 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; Playing sound and recording
sound at the same time requires a full-duplex soundcard. This is not the
default configuration so from a hardware standpoint your computer may not be
able to do this. Next you need a low-latency driver like ASIO, there are others
I just can't remember then right now. For code look at MATAA (Mat's Audio
Analyzer) for examples of how to input and output sound at the same time along
with analysis. http://sourceforge.net/projects/mataa/ http://www.audioroot.net/index.html?analysis/mataa.html Hope that helps. William Krekeler |
[Prev in Thread] | Current Thread | [Next in Thread] |