College Student in need of simple Matlab advice
So I'm trying to run a basic sound experiment that has a participant hear a sound at a specific frequency, and then playing 10-20 more sounds, some of them being the same as the first frequency, some being different. For every sound that matches the initial sound, the participant will press a 'same' button on the screen. I've set up the basic code but I'm having trouble with data aquisition and getting the sounds to actually play (for the data aquisition I just need a 0 or 1 for each sound played, that is, if the first sound is identical to the original tone, the participant presses 'same' and the output records a 1; if the first sound is different than the original tone, 'same' is not clicked and the output records a 0). If anyone can give me any advice or pointers it would be greatly appreciated, I'll copy the code down below. As of now, when i try to input frequencies in the range of 400-1200 hz a high pitched weird sound plays. I want to give advanced thanks to anyone that posts anything helpful here. Cheers
output=0;
background = figure('NumberTitle','off','Toolbar','None','MenuBar','none', ...
'Name','Experiment','Color',[0 0 0],'Units','normalized','Position',[0 0 1 1]);
outbutton=uicontrol('style','pushbutton','units','normalized','ButtonDownFcn',...
'outputfunc','position',[.46,.5,.08,.035],'string','Same','fontsize',14, 'visible','on');
numtrials=20;
%sounds=xxx
isi=1;
t=[0:1/8192:1];
z=sin(2*pi*t);
f=[i think this is where i put the frequency order];
for j=1:numtrials
sound(z,f(j));
pause(isi);
data(j)=output;
output=0;
end
0
Comments
f = [a bunch of frequencies];
fs = [a sampling frequency, must be higher than 2* your highest frequency];
t = 0:1/fs:1;
for i=1:length(f)
x = sin(2*pi*f(i)*t);
soundsc(x,fs);
pause();
end
[/php]