53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
	
	
|   | ## Copyright (C) 2002-2011  Erik de Castro Lopo
 | ||
|  | ##
 | ||
|  | ## This program is free software; you can redistribute it and/or modify
 | ||
|  | ## it under the terms of the GNU General Public License as published by
 | ||
|  | ## the Free Software Foundation; either version 2, or (at your option)
 | ||
|  | ## any later version.
 | ||
|  | ##
 | ||
|  | ## This program is distributed in the hope that it will be useful, but
 | ||
|  | ## WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||
|  | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | ||
|  | ## General Public License for more details.
 | ||
|  | ##
 | ||
|  | ## You should have received a copy of the GNU General Public License
 | ||
|  | ## along with this file.  If not, write to the Free Software Foundation,
 | ||
|  | ## 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | ||
|  | 
 | ||
|  | ## -*- texinfo -*-
 | ||
|  | ## @deftypefn {Function File} {} sndfile_load (@var{filename})
 | ||
|  | ## Load data from the file given by @var{filename}.
 | ||
|  | ## @end deftypefn
 | ||
|  | 
 | ||
|  | ## Author: Erik de Castro Lopo <erikd@mega-nerd.com>
 | ||
|  | ## Description: Load the sound data from the given file name
 | ||
|  | 
 | ||
|  | function [data fs] = sndfile_load (filename)
 | ||
|  | 
 | ||
|  | if (nargin != 1),
 | ||
|  | 	error ("Need an input filename") ;
 | ||
|  | 	endif
 | ||
|  | 
 | ||
|  | samplerate = -1 ;
 | ||
|  | samplingrate = -1 ;
 | ||
|  | wavedata = -1 ;
 | ||
|  | 
 | ||
|  | 
 | ||
|  | eval (sprintf ('load -f %s', filename)) ;
 | ||
|  | 
 | ||
|  | if (samplerate > 0),
 | ||
|  | 	fs = samplerate ;
 | ||
|  | elseif (samplingrate > 0),
 | ||
|  | 	fs = samplingrate ;
 | ||
|  | else
 | ||
|  | 	error ("Not able to find sample rate.") ;
 | ||
|  | 	endif
 | ||
|  | 
 | ||
|  | if (max (size (wavedata)) > 1),
 | ||
|  | 	data = wavedata ;
 | ||
|  | else
 | ||
|  | 	error ("Not able to find waveform data.") ;
 | ||
|  | 	endif
 | ||
|  | 
 | ||
|  | endfunction
 |