Mercurial > octave-antonio
annotate scripts/audio/wavwrite.m @ 20158:7503499a252b stable
doc: Update docstrings to have one sentence summary as first line.
Update scripts in audio, elfun, general, geometry, and image directories.
* scripts/audio/@audioplayer/__get_properties__.m,
scripts/audio/@audioplayer/audioplayer.m, scripts/audio/@audioplayer/get.m,
scripts/audio/@audioplayer/isplaying.m, scripts/audio/@audioplayer/play.m,
scripts/audio/@audioplayer/playblocking.m, scripts/audio/@audioplayer/set.m,
scripts/audio/@audioplayer/subsasgn.m, scripts/audio/@audioplayer/subsref.m,
scripts/audio/@audiorecorder/audiorecorder.m,
scripts/audio/@audiorecorder/get.m,
scripts/audio/@audiorecorder/getaudiodata.m,
scripts/audio/@audiorecorder/getplayer.m,
scripts/audio/@audiorecorder/isrecording.m,
scripts/audio/@audiorecorder/play.m, scripts/audio/@audiorecorder/record.m,
scripts/audio/@audiorecorder/recordblocking.m,
scripts/audio/@audiorecorder/set.m, scripts/audio/@audiorecorder/stop.m,
scripts/audio/@audiorecorder/subsasgn.m,
scripts/audio/@audiorecorder/subsref.m, scripts/audio/lin2mu.m,
scripts/audio/mu2lin.m, scripts/audio/record.m, scripts/audio/sound.m,
scripts/audio/soundsc.m, scripts/audio/wavread.m, scripts/audio/wavwrite.m,
scripts/elfun/cosd.m, scripts/elfun/sind.m, scripts/elfun/tand.m,
scripts/general/accumarray.m, scripts/general/accumdim.m,
scripts/general/bitcmp.m, scripts/general/bitget.m, scripts/general/bitset.m,
scripts/general/blkdiag.m, scripts/general/cart2pol.m,
scripts/general/cart2sph.m, scripts/general/cell2mat.m,
scripts/general/celldisp.m, scripts/general/chop.m,
scripts/general/circshift.m, scripts/general/common_size.m,
scripts/general/cplxpair.m, scripts/general/cumtrapz.m,
scripts/general/dblquad.m, scripts/general/deal.m, scripts/general/del2.m,
scripts/general/display.m, scripts/general/divergence.m,
scripts/general/fieldnames.m, scripts/general/flip.m,
scripts/general/flipdim.m, scripts/general/fliplr.m, scripts/general/flipud.m,
scripts/general/gradient.m, scripts/general/interp3.m,
scripts/general/interpft.m, scripts/general/interpn.m,
scripts/general/loadobj.m, scripts/general/logspace.m,
scripts/general/methods.m, scripts/general/nargchk.m,
scripts/general/narginchk.m, scripts/general/nargoutchk.m,
scripts/general/nextpow2.m, scripts/general/nthargout.m,
scripts/general/num2str.m, scripts/general/pol2cart.m,
scripts/general/polyarea.m, scripts/general/postpad.m,
scripts/general/prepad.m, scripts/general/profile.m, scripts/general/quadgk.m,
scripts/general/quadl.m, scripts/general/quadv.m, scripts/general/randi.m,
scripts/general/rat.m, scripts/general/repmat.m, scripts/general/rot90.m,
scripts/general/rotdim.m, scripts/general/saveobj.m, scripts/general/shift.m,
scripts/general/shiftdim.m, scripts/general/sortrows.m,
scripts/general/sph2cart.m, scripts/general/structfun.m,
scripts/general/subsindex.m, scripts/general/trapz.m,
scripts/general/triplequad.m, scripts/geometry/delaunayn.m,
scripts/geometry/dsearch.m, scripts/geometry/dsearchn.m,
scripts/geometry/griddata.m, scripts/geometry/griddata3.m,
scripts/geometry/griddatan.m, scripts/geometry/inpolygon.m,
scripts/geometry/rectint.m, scripts/geometry/tsearchn.m,
scripts/geometry/voronoi.m, scripts/geometry/voronoin.m,
scripts/help/__unimplemented__.m, scripts/help/doc.m,
scripts/help/doc_cache_create.m, scripts/help/get_first_help_sentence.m,
scripts/help/help.m, scripts/help/lookfor.m, scripts/help/print_usage.m,
scripts/help/type.m, scripts/help/which.m, scripts/image/autumn.m,
scripts/image/bone.m, scripts/image/brighten.m, scripts/image/cmpermute.m,
scripts/image/colorcube.m, scripts/image/contrast.m, scripts/image/cool.m,
scripts/image/copper.m, scripts/image/cubehelix.m, scripts/image/flag.m,
scripts/image/gmap40.m, scripts/image/gray.m, scripts/image/gray2ind.m,
scripts/image/hot.m, scripts/image/hsv.m, scripts/image/image.m,
scripts/image/imagesc.m, scripts/image/imfinfo.m, scripts/image/imformats.m,
scripts/image/imread.m, scripts/image/imshow.m, scripts/image/imwrite.m,
scripts/image/iscolormap.m, scripts/image/jet.m, scripts/image/lines.m,
scripts/image/ntsc2rgb.m, scripts/image/ocean.m, scripts/image/pink.m,
scripts/image/prism.m, scripts/image/rainbow.m, scripts/image/rgb2ntsc.m,
scripts/image/spinmap.m, scripts/image/spring.m, scripts/image/summer.m,
scripts/image/white.m, scripts/image/winter.m:
Update docstrings to have one sentence summary as first line.
Re-structure to have line lengths <= 80 chars.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 03 May 2015 09:36:20 -0700 |
parents | 9fc020886ae9 |
children |
rev | line source |
---|---|
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
1 ## Copyright (C) 2015 Mike Miller |
19697
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19278
diff
changeset
|
2 ## Copyright (C) 2005-2015 Michael Zeising |
5565 | 3 ## |
4 ## This file is part of Octave. | |
5 ## | |
6 ## Octave is free software; you can redistribute it and/or modify it | |
7 ## under the terms of the GNU General Public License as published by | |
7016 | 8 ## the Free Software Foundation; either version 3 of the License, or (at |
9 ## your option) any later version. | |
5565 | 10 ## |
11 ## Octave is distributed in the hope that it will be useful, but | |
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 ## General Public License for more details. | |
15 ## | |
16 ## You should have received a copy of the GNU General Public License | |
7016 | 17 ## along with Octave; see the file COPYING. If not, see |
18 ## <http://www.gnu.org/licenses/>. | |
5565 | 19 |
20 ## -*- texinfo -*- | |
10793
be55736a0783
Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
21 ## @deftypefn {Function File} {} wavwrite (@var{y}, @var{filename}) |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
22 ## @deftypefnx {Function File} {} wavwrite (@var{y}, @var{fs}, @var{filename}) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
23 ## @deftypefnx {Function File} {} wavwrite (@var{y}, @var{fs}, @var{nbits}, @var{filename}) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
24 ## Write the audio signal @var{y} to the RIFF/WAVE sound file @var{filename}. |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
25 ## |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
26 ## If @var{y} is a matrix, the columns represent multiple audio channels. |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
27 ## |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
28 ## The optional argument @var{fs} specifies the sample rate of the audio signal |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
29 ## in Hz. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
30 ## |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
31 ## The optional argument @var{nbits} specifies the number of bits per sample |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
32 ## to write to @var{filename}. |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
33 ## |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
34 ## The default sample rate is 8000 Hz and the default bit depth is 16 bits |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
35 ## per sample. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
36 ## |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
37 ## @seealso{audiowrite, audioread, wavread} |
5565 | 38 ## @end deftypefn |
39 | |
6985 | 40 function wavwrite (y, varargin) |
5567 | 41 |
42 if (nargin < 2 || nargin > 4) | |
6046 | 43 print_usage (); |
5565 | 44 endif |
5567 | 45 |
6985 | 46 ## Defaults. |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
47 fs = 8000; |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
48 nbits = 16; |
6985 | 49 |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
50 filename = varargin{end}; |
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
51 if (nargin > 2) |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
52 fs = varargin{1}; |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
53 if (nargin > 3) |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
54 nbits = varargin{2}; |
6985 | 55 endif |
56 endif | |
57 | |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
58 ## calculate filesize |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
59 [n, channels] = size (y); |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
60 |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
61 ## allow y to be a row vector |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
62 if (n == 1) |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
63 y = y(:); |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
64 n = channels; |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
65 channels = 1; |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
66 endif |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
67 |
6304 | 68 ## test arguments |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
69 if (channels < 1) |
6304 | 70 error ("wavwrite: Y must have at least one column"); |
71 endif | |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
72 |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
73 if (channels > 0x7FFF) |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
74 error ("wavwrite: Y must have no more than 32767 columns"); |
5565 | 75 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
76 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
77 if (! (isscalar (fs) && (fs > 0))) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
78 error ("wavwrite: sample rate FS must be a positive number"); |
5565 | 79 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
80 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
81 if (! isscalar (nbits) || isempty (find (nbits == [8, 16, 24, 32]))) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
82 error ("wavwrite: bit depth NBITS must be 8, 16, 24, or 32"); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
83 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
84 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
85 audiowrite (filename, y, fs, "BitsPerSample", nbits); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
86 |
5565 | 87 endfunction |
6304 | 88 |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
89 |
13764
e9c23efe6fff
wavwrite.m: Use temporary filename in %!tests rather than hardcoded one.
Rik <octave@nomad.inbox5.com>
parents:
12701
diff
changeset
|
90 %!shared fname |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
91 %! fname = [tempname() ".wav"]; |
13764
e9c23efe6fff
wavwrite.m: Use temporary filename in %!tests rather than hardcoded one.
Rik <octave@nomad.inbox5.com>
parents:
12701
diff
changeset
|
92 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
93 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
94 %! A = [-1:0.1:1; -1:0.1:1]'; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
95 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
96 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
97 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
98 %! assert (B, A, 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
99 %! assert (samples_per_sec, 8000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
100 %! assert (bits_per_sample, 16); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
101 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
102 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
103 %! end_unwind_protect |
16974
221e71d2aef0
Unlink tmp files in %!tests before doing asserts so that file is always removed.
Rik <rik@octave.org>
parents:
15529
diff
changeset
|
104 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
105 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
106 %! A = [-1:0.1:1; -1:0.1:1]'; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
107 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
108 %! wavwrite (A, 4000, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
109 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
110 %! assert (B, A, 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
111 %! assert (samples_per_sec, 4000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
112 %! assert (bits_per_sample, 16); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
113 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
114 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
115 %! end_unwind_protect |
16974
221e71d2aef0
Unlink tmp files in %!tests before doing asserts so that file is always removed.
Rik <rik@octave.org>
parents:
15529
diff
changeset
|
116 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
117 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
118 %! A = [-1:0.1:1; -1:0.1:1]'; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
119 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
120 %! wavwrite (A, 4000, 8, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
121 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
122 %! assert (B, A, 2^-6); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
123 %! assert (samples_per_sec, 4000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
124 %! assert (bits_per_sample, 8); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
125 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
126 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
127 %! end_unwind_protect |
16974
221e71d2aef0
Unlink tmp files in %!tests before doing asserts so that file is always removed.
Rik <rik@octave.org>
parents:
15529
diff
changeset
|
128 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
129 %!testif HAVE_SNDFILE |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
130 %! A = [-2:2]'; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
131 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
132 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
133 %! B = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
134 %! B *= 32768; |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
135 %! assert (B, [-32767 -32767 0 32767 32767]'); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
136 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
137 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
138 %! end_unwind_protect |
16974
221e71d2aef0
Unlink tmp files in %!tests before doing asserts so that file is always removed.
Rik <rik@octave.org>
parents:
15529
diff
changeset
|
139 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
140 %!testif HAVE_SNDFILE |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
141 %! A = [-1:0.1:1]; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
142 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
143 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
144 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
145 %! assert (B, A', 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
146 %! assert (samples_per_sec, 8000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
147 %! assert (bits_per_sample, 16); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
148 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
149 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
150 %! end_unwind_protect |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
151 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
152 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
153 %! A = [-1:0.1:1; -1:0.1:1]'; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
154 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
155 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
156 %! B = wavread (fname, 15); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
157 %! assert (B, A(1:15,:), 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
158 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
159 %! B = wavread (fname, [10, 20]); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
160 %! assert (B, A(10:20,:), 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
161 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
162 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
163 %! end_unwind_protect |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
164 |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
165 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
166 %! A = [-1:0.1:1; -1:0.1:1]'; |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
167 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
168 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
169 %! [nsamp, nchan] = wavread (fname, "size"); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
170 %! assert (nsamp, 21); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
171 %! assert (nchan, 2); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
172 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
173 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
174 %! end_unwind_protect |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
175 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19814
diff
changeset
|
176 ## Test input validation |
19814
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
177 %!error wavwrite () |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
178 %!error wavwrite (1) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
179 %!error wavwrite (1,2,3,4,5) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
180 %!error wavwrite ([], "foo.wav"); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19697
diff
changeset
|
181 |