Mercurial > hg > octave-nkf
annotate scripts/deprecated/wavwrite.m @ 20694:c8ec0b72b7a6
Deprecate wavread and wavwrite.
* NEWS: Announce deprecation and replacement functions.
* scripts/deprecated/wavread.m, scripts/deprecated/wavwrite.m:
Moved from scripts/audio. Add deprecation message to docstring.
Add deprecation warning to m-file.
* scripts/audio/module.mk: Remove from build system.
* scripts/deprecated/module.mk: Add deprecated versions to build system.
* audio.txi: Remove functions from manual.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 05 Sep 2015 05:00:46 -0700 |
parents | scripts/audio/wavwrite.m@aa36fb998a4d |
children |
rev | line source |
---|---|
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
1 ## Copyright (C) 2015 Mike Miller |
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19470
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}) |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
22 ## @deftypefnx {Function File} {} wavwrite (@var{y}, @var{fs}, @var{filename}) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
23 ## @deftypefnx {Function File} {} wavwrite (@var{y}, @var{fs}, @var{nbits}, @var{filename}) |
20694 | 24 ## |
25 ## @code{wavwrite} is deprecated and will be removed in Octave version 4.6. | |
26 ## Use @code{audiowrite} for the equivalent functionality. | |
27 ## | |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
28 ## Write the audio signal @var{y} to the RIFF/WAVE sound file @var{filename}. |
20368
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
29 ## |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
30 ## If @var{y} is a matrix, the columns represent multiple audio channels. |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
31 ## |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
32 ## The optional argument @var{fs} specifies the sample rate of the audio signal |
20368
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
33 ## in Hz. |
20391
aa36fb998a4d
maint: Remove unnecessary whitespace at end of lines.
Rik <rik@octave.org>
parents:
20368
diff
changeset
|
34 ## |
20368
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
35 ## 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:
20038
diff
changeset
|
36 ## to write to @var{filename}. |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
37 ## |
20368
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
38 ## 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:
20038
diff
changeset
|
39 ## per sample. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
40 ## |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
41 ## @seealso{audiowrite, audioread, wavread} |
5565 | 42 ## @end deftypefn |
43 | |
20694 | 44 ## Deprecated in 4.2 |
45 | |
6985 | 46 function wavwrite (y, varargin) |
5567 | 47 |
20694 | 48 persistent warned = false; |
49 if (! warned) | |
50 warned = true; | |
51 warning ("Octave:deprecated-function", | |
52 "wavwrite is obsolete and will be removed from a future version of Octave, please use audiowrite instead"); | |
53 endif | |
54 | |
5567 | 55 if (nargin < 2 || nargin > 4) |
6046 | 56 print_usage (); |
5565 | 57 endif |
5567 | 58 |
6985 | 59 ## Defaults. |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
60 fs = 8000; |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
61 nbits = 16; |
6985 | 62 |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
63 filename = varargin{end}; |
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
64 if (nargin > 2) |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
65 fs = varargin{1}; |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
66 if (nargin > 3) |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
67 nbits = varargin{2}; |
6985 | 68 endif |
69 endif | |
70 | |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
71 ## calculate filesize |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
72 [n, channels] = size (y); |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
73 |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
74 ## 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
|
75 if (n == 1) |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
76 y = y(:); |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
77 n = channels; |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
78 channels = 1; |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
79 endif |
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
80 |
6304 | 81 ## test arguments |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
82 if (channels < 1) |
6304 | 83 error ("wavwrite: Y must have at least one column"); |
84 endif | |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
85 |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
86 if (channels > 0x7FFF) |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
87 error ("wavwrite: Y must have no more than 32767 columns"); |
5565 | 88 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
89 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
90 if (! (isscalar (fs) && (fs > 0))) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
91 error ("wavwrite: sample rate FS must be a positive number"); |
5565 | 92 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
93 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
94 if (! isscalar (nbits) || isempty (find (nbits == [8, 16, 24, 32]))) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
95 error ("wavwrite: bit depth NBITS must be 8, 16, 24, or 32"); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
96 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
97 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
98 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
|
99 |
5565 | 100 endfunction |
6304 | 101 |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
102 |
13764
e9c23efe6fff
wavwrite.m: Use temporary filename in %!tests rather than hardcoded one.
Rik <octave@nomad.inbox5.com>
parents:
12701
diff
changeset
|
103 %!shared fname |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
104 %! 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
|
105 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
106 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
107 %! A = [-1:0.1:1; -1:0.1:1]'; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
108 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
109 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
110 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
111 %! assert (B, A, 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
112 %! assert (samples_per_sec, 8000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
113 %! assert (bits_per_sample, 16); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
114 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
115 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
116 %! 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
|
117 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
118 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
119 %! A = [-1:0.1:1; -1:0.1:1]'; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
120 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
121 %! wavwrite (A, 4000, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
122 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
123 %! assert (B, A, 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
124 %! assert (samples_per_sec, 4000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
125 %! assert (bits_per_sample, 16); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
126 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
127 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
128 %! 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
|
129 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
130 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
131 %! A = [-1:0.1:1; -1:0.1:1]'; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
132 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
133 %! wavwrite (A, 4000, 8, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
134 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
135 %! assert (B, A, 2^-6); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
136 %! assert (samples_per_sec, 4000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
137 %! assert (bits_per_sample, 8); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
138 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
139 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
140 %! 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
|
141 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
142 %!testif HAVE_SNDFILE |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
143 %! A = [-2:2]'; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
144 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
145 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
146 %! B = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
147 %! B *= 32768; |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
148 %! assert (B, [-32767 -32767 0 32767 32767]'); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
149 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
150 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
151 %! 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
|
152 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
153 %!testif HAVE_SNDFILE |
15529
9a7f73fc304f
Fix wavwrite to accept a row vector input (bug #37540)
Mike Miller <mtmiller@ieee.org>
parents:
14138
diff
changeset
|
154 %! A = [-1:0.1:1]; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
155 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
156 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
157 %! [B, samples_per_sec, bits_per_sample] = wavread (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
158 %! assert (B, A', 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
159 %! assert (samples_per_sec, 8000); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
160 %! assert (bits_per_sample, 16); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
161 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
162 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
163 %! end_unwind_protect |
12701
de3e90a420e3
Overhaul wavwrite, wavread and fix normalization problem (Bug #33420).
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
164 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
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]'; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
167 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
168 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
169 %! B = wavread (fname, 15); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
170 %! assert (B, A(1:15,:), 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
171 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
172 %! B = wavread (fname, [10, 20]); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
173 %! assert (B, A(10:20,:), 2^-14); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
174 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
175 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
176 %! end_unwind_protect |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
177 |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
178 %!testif HAVE_SNDFILE |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
179 %! A = [-1:0.1:1; -1:0.1:1]'; |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
180 %! unwind_protect |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
181 %! wavwrite (A, fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
182 %! [nsamp, nchan] = wavread (fname, "size"); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
183 %! assert (nsamp, 21); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
184 %! assert (nchan, 2); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
185 %! unwind_protect_cleanup |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
186 %! unlink (fname); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
187 %! end_unwind_protect |
17193
af2051e363ea
Fix return arguments for wavread (...,"size"), bug #39639.
Rik <rik@octave.org>
parents:
16974
diff
changeset
|
188 |
20038
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
20019
diff
changeset
|
189 ## Test input validation |
20019
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
190 %!error wavwrite () |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
191 %!error wavwrite (1) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
192 %!error wavwrite (1,2,3,4,5) |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
193 %!error wavwrite ([], "foo.wav"); |
71770cf07c30
wavread, wavwrite: Overhaul functions.
Mike Miller <mtmiller@ieee.org>
parents:
19898
diff
changeset
|
194 |