-
Notifications
You must be signed in to change notification settings - Fork 0
/
makesound2.m
54 lines (41 loc) · 1.63 KB
/
makesound2.m
1
% function dur = makesound2 (sfile)function dur = makesound2 ( pahandle )% function dur = makesound {(sfile)}%% Function makes a sound and returns the duration of the sound [in s]% % This function tests how long a beep takes.% % if nargin < 1% % sfile = 'SOUND16';% % endtstart = GetSecs;% beep;% % % [y, fs, bits] = wavread (sfile);% % sound (y, fs, bits);% % %wavplay (y, fs, 'sync');% % %mywavplay (y, fs, 'sync'); %uses mex-file specific to signal processing toolbox% % %!\"Program Files"\"Windows Media Player"\mplayer2 \!Rafalek\control\experiment\task\sound.wav% % %!\"Program Files"\MusicMatch\"MusicMatch Jukebox"\mmjb \!Rafalek\control\experiment\task\sound.wav% tend = GetSecs;% dur = tend - tstart;% % Open the default audio device [], with default mode [] (==Only playback),% % and a required latencyclass of zero 0 == no low-latency mode, as well as% % a frequency of freq and nrchannels sound channels.% % This returns a handle to the audio device:% pahandle = PsychPortAudio('Open', [], [], 0, freq, nrchannels);% % % Fill the audio playback buffer with the audio data 'wavedata':% PsychPortAudio('FillBuffer', pahandle, wavedata);repetitions = 1; % Just play it once% Start audio playback for 'repetitions' repetitions of the sound data,% start it immediately (0) and wait for the playback to start, return onset% timestamp.t1 = PsychPortAudio('Start', pahandle, repetitions, 0, 1);% Stop playback (and wait for the end of playback before stopping):t2 = PsychPortAudio('Stop', pahandle,1);% Wait for release of all keys on keyboard:while KbCheckMulti; WaitSecs(0.01); end;dur = GetSecs - tstart;