function psychwavwrite(varargin) % psychwavwrite - Replacement for wavwrite(). % % Replaces the Matlab wavwrite() function, which was removed % in Matlab R2015b, by the audiowrite() function, which was % introduced in R2012b, to provide basic sanity to the mess % that is Matlab's way of (not) dealing with "backwards % compatibility". % % This is a least common denominator implementation of % what both wavwrite() and audiowrite() support in a % compatible fashion. See the help of either one for % details. % % Usage: % % wavwrite(y,filename) % wavwrite(y,Fs,filename) % wavwrite(y,Fs,N,filename) % History: % 02-Feb-2016 mk Created. if exist('audioread') if length(varargin) < 2 error('Invalid call to psychwavwrite(). Must provide at least y and filename.'); end if length(varargin) == 2 audiowrite(varargin{2}, varargin{1}, 8000); elseif length(varargin) == 3 audiowrite(varargin{3}, varargin{1}, varargin{2}); elseif length(varargin) == 4 audiowrite(varargin{4}, varargin{1}, varargin{2}, 'BitsPerSample', varargin{3}); else error('Too many input arguments to psychwavwrite().'); end else wavwrite(varargin{:}); end