X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/e5b0e8bee502e61dfaaf2a5bc4b4d9d4938a9a2a..e775f23a10c4ba37fc1a762299f52cd0d71593b7:/interpretor/libsndfile-1.0.25/Octave/sndfile_play.m diff --git a/interpretor/libsndfile-1.0.25/Octave/sndfile_play.m b/interpretor/libsndfile-1.0.25/Octave/sndfile_play.m new file mode 100644 index 0000000..e8a34a7 --- /dev/null +++ b/interpretor/libsndfile-1.0.25/Octave/sndfile_play.m @@ -0,0 +1,59 @@ +## 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_play (@var{data, fs}) +## Play @var{data} at sample rate @var{fs} using the sndfile-play +## program. +## @end deftypefn + +## Author: Erik de Castro Lopo +## Description: Play the given data as a sound file + +function sndfile_play (data, fs) + +if nargin != 2, + error ("Need two input arguments: data and fs.") ; + endif + +if (max (size (fs)) > 1), + error ("Second parameter fs must be a single value.") ; + endif + +[nr nc] = size (data) ; + +if (nr > nc), + data = data' ; + endif + +samplerate = fs ; +wavedata = data ; + +filename = tmpnam () ; + +cmd = sprintf ("save -mat-binary %s fs data", filename) ; + +eval (cmd) ; + +cmd = sprintf ("sndfile-play %s", filename) ; + +[output, status] = system (cmd) ; + +if (status), + disp (outout) ; + endif + +endfunction