dtas 0.13.1 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/Documentation/.gitignore +1 -0
  3. data/Documentation/GNUmakefile +28 -5
  4. data/Documentation/dtas-archive.pod +74 -0
  5. data/Documentation/dtas-console.pod +94 -0
  6. data/Documentation/{dtas-ctl.txt → dtas-ctl.pod} +21 -19
  7. data/Documentation/dtas-cueedit.pod +38 -0
  8. data/Documentation/dtas-enq.pod +43 -0
  9. data/Documentation/dtas-env.pod +75 -0
  10. data/Documentation/{dtas-msinkctl.txt → dtas-msinkctl.pod} +18 -14
  11. data/Documentation/{dtas-player.txt → dtas-player.pod} +34 -33
  12. data/Documentation/dtas-player_effects.pod +103 -0
  13. data/Documentation/dtas-player_protocol.pod +460 -0
  14. data/Documentation/{dtas-player_sink_examples.txt → dtas-player_sink_examples.pod} +25 -21
  15. data/Documentation/{dtas-sinkedit.txt → dtas-sinkedit.pod} +34 -24
  16. data/Documentation/{dtas-sourceedit.txt → dtas-sourceedit.pod} +34 -25
  17. data/Documentation/dtas-splitfx.pod +271 -0
  18. data/Documentation/dtas-tl.pod +129 -0
  19. data/Documentation/dtas-xdelay.pod +96 -0
  20. data/Documentation/update-footer.rb +16 -12
  21. data/GIT-VERSION-GEN +1 -1
  22. data/GNUmakefile +1 -1
  23. data/INSTALL +3 -3
  24. data/Rakefile +11 -4
  25. data/bin/dtas-console +1 -1
  26. data/bin/dtas-mlib +3 -1
  27. data/bin/dtas-tl +0 -1
  28. data/lib/dtas/format.rb +1 -1
  29. data/lib/dtas/mlib.rb +28 -19
  30. data/lib/dtas/partstats.rb +1 -1
  31. data/lib/dtas/player.rb +1 -1
  32. data/lib/dtas/player/client_handler.rb +18 -4
  33. data/lib/dtas/source/av_ff_common.rb +1 -0
  34. data/lib/dtas/source/mp3gain.rb +1 -1
  35. data/lib/dtas/source/sox.rb +8 -4
  36. data/lib/dtas/source/splitfx.rb +4 -0
  37. data/lib/dtas/tracklist.rb +19 -8
  38. metadata +20 -18
  39. data/Documentation/dtas-archive.txt +0 -62
  40. data/Documentation/dtas-console.txt +0 -73
  41. data/Documentation/dtas-cueedit.txt +0 -36
  42. data/Documentation/dtas-enq.txt +0 -41
  43. data/Documentation/dtas-env.txt +0 -60
  44. data/Documentation/dtas-player_effects.txt +0 -57
  45. data/Documentation/dtas-player_protocol.txt +0 -326
  46. data/Documentation/dtas-splitfx.txt +0 -188
  47. data/Documentation/dtas-tl.txt +0 -96
  48. data/Documentation/dtas-xdelay.txt +0 -76
@@ -1,19 +1,20 @@
1
1
  % dtas-player_sink_examples(7) dtas user manual
2
2
 
3
- # NAME
3
+ =head1 NAME
4
4
 
5
5
  dtas-player_sink_examples - sink examples for dtas-player
6
6
 
7
- # SYNOPSIS
7
+ =head1 SYNOPSIS
8
8
 
9
9
  dtas-ctl sink ed SINKNAME command='...'
10
+
10
11
  dtas-sinkedit SINKNAME
11
12
 
12
- # EXAMPLES
13
+ =head1 EXAMPLES
13
14
 
14
- ## Streaming Ogg-Vorbis to Icecast
15
+ =head2 Streaming Ogg-Vorbis to Icecast
15
16
 
16
- To use oggfwd(1) and Icecast, the following sink works.
17
+ To use L<oggfwd(1)> and Icecast, the following sink works.
17
18
  Warning: the following example will likely expose your Icecast source
18
19
  password to any local users on the system.
19
20
 
@@ -22,9 +23,9 @@ password to any local users on the system.
22
23
  name: oggfwd
23
24
  command: sox $SOXFMT - -t ogg - | oggfwd $HOST $PORT $PASS /dtas.ogg
24
25
 
25
- ## Stream to a remote host via ssh
26
+ =head2 Stream to a remote host via ssh
26
27
 
27
- Alternatively, if you have play(1) installed on any remote host and
28
+ Alternatively, if you have L<play(1)> installed on any remote host and
28
29
  a slow connection using Ogg-Vorbis:
29
30
 
30
31
  # Long lines in YAML can be broken up and the subsequent lines
@@ -46,12 +47,12 @@ the above Ogg-Vorbis example.
46
47
  name: ssh-remote
47
48
  command: ssh $HOST env AUDIODEV=... play -q $SOXFMT -
48
49
 
49
- ## Dump audio to a file during playback
50
+ =head2 Dump audio to a file during playback
50
51
 
51
52
  To configure a dumper sink (in addition to the "default" sink). Note
52
53
  the use of $SOXFMT, this will be automatically expanded to match the
53
54
  internal format of the player. The internal format of the player is
54
- described in dtas-player_protocol(7).
55
+ described in L<dtas-player_protocol(7)>.
55
56
 
56
57
  $ dtas-ctl sink ed dumper command='sox $SOXFMT - /tmp/dump.sox'
57
58
 
@@ -61,23 +62,26 @@ Non-"default" sinks are not active by default, but may be made active.
61
62
 
62
63
  Changing it again to "active=false" will deactivate the sink.
63
64
 
64
- ## Apply a short delay to low frequencies to improve time-alignment
65
+ =head2 Apply a short delay to low frequencies to improve time-alignment
66
+
67
+ See L<dtas-xdelay(1)>.
65
68
 
66
- See dtas-xdelay(1).
69
+ =head1 CONTACT
67
70
 
68
- # CONTACT
71
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
72
+
73
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
74
+ and L<ftp://lists.gnu.org/dtas-all/>
69
75
 
70
- All feedback welcome via plain-text mail to: <dtas-all@nongnu.org>\
71
- Mailing list archives available at <http://80x24.org/dtas-all/> and
72
- <ftp://lists.gnu.org/dtas-all/>\
73
76
  No subscription is necessary to post to the mailing list.
74
77
 
75
- # COPYRIGHT
78
+ =head1 COPYRIGHT
79
+
80
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
76
81
 
77
- Copyright 2013-2016 all contributors <dtas-all@nongnu.org>.\
78
- License: GPL-3.0+ <http://www.gnu.org/licenses/gpl-3.0.txt>
82
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
79
83
 
80
- # SEE ALSO
84
+ =head1 SEE ALSO
81
85
 
82
- dtas-ctl(1), dtas-sinkedit(1), dtas-xdelay(1),
83
- sox(1), play(1), oggfwd(1), ssh(1), ssh_config(5), env(1)
86
+ L<dtas-ctl(1)>, L<dtas-sinkedit(1)>, L<dtas-xdelay(1)>,
87
+ L<sox(1)>, L<play(1)>, L<oggfwd(1)>, L<ssh(1)>, L<ssh_config(5)>, L<env(1)>
@@ -1,36 +1,43 @@
1
1
  % dtas-sinkedit(1) dtas user manual
2
- %
3
2
 
4
- # NAME
3
+ =head1 NAME
5
4
 
6
5
  dtas-sinkedit - edit the command and environment of a sink
7
6
 
8
- # SYNOPSYS
7
+ =head1 SYNOPSYS
9
8
 
10
9
  dtas-sinkedit SINKNAME
11
10
 
12
- # DESCRIPTION
11
+ =head1 DESCRIPTION
13
12
 
14
13
  dtas-sinkedit spawns an editor to allow editing of a sink as a YAML file.
15
- See dtas-player_protocol(7) for details on SINKARGS.
14
+ See L<dtas-player_protocol(7)> for details on SINKARGS.
16
15
 
17
- On Linux machines with the sleepy_penguin RubyGem installed, inotify(7)
16
+ On Linux machines with the sleepy_penguin RubyGem installed, L<inotify(7)>
18
17
  is used to monitor the file for changes while the text exitor is running.
19
18
  Each time a user finishes saving a file, changes are committed immediately.
20
19
  This behavior may be disabled by using the -N or --no-watch command-line
21
20
  switch.
22
21
 
23
- # OPTIONS
24
- -N, \--no-watch
25
- : Disable inotify(7) support on Linux systems
22
+ =head1 OPTIONS
26
23
 
27
- -n, \--dry-run
28
- : Only print commands which would be sent to dtas-player
24
+ =over
29
25
 
30
- -V, \--verbose
31
- : Print out commands as they are sent to dtas-player
26
+ =item -N, --no-watch
32
27
 
33
- # EXAMPLES
28
+ Disable L<inotify(7)> support on Linux systems
29
+
30
+ =item -n, --dry-run
31
+
32
+ Only print commands which would be sent to dtas-player
33
+
34
+ =item -V, --verbose
35
+
36
+ Print out commands as they are sent to dtas-player
37
+
38
+ =back
39
+
40
+ =head1 EXAMPLES
34
41
 
35
42
  To get a list of existing sink names
36
43
 
@@ -45,25 +52,28 @@ If SINKNAME was not listed, it will be created (in an inactive state).
45
52
  Successfully exiting your text editor will send the changes to the
46
53
  running dtas-player.
47
54
 
48
- # ENVIRONMENT
55
+ =head1 ENVIRONMENT
49
56
 
50
57
  VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
51
58
 
52
59
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
53
60
  This defaults to ~/.dtas/player.sock
54
61
 
55
- # CONTACT
62
+ =head1 CONTACT
63
+
64
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
65
+
66
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
67
+ and L<ftp://lists.gnu.org/dtas-all/>
56
68
 
57
- All feedback welcome via plain-text mail to: <dtas-all@nongnu.org>\
58
- Mailing list archives available at <http://80x24.org/dtas-all/> and
59
- <ftp://lists.gnu.org/dtas-all/>\
60
69
  No subscription is necessary to post to the mailing list.
61
70
 
62
- # COPYRIGHT
71
+ =head1 COPYRIGHT
72
+
73
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
63
74
 
64
- Copyright 2013-2016 all contributors <dtas-all@nongnu.org>.\
65
- License: GPL-3.0+ <http://www.gnu.org/licenses/gpl-3.0.txt>
75
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
66
76
 
67
- # SEE ALSO
77
+ =head1 SEE ALSO
68
78
 
69
- dtas-player(1), dtas-player_protocol(7), dtas-ctl(1)
79
+ L<dtas-player(1)>, L<dtas-player_protocol(7)>, L<dtas-ctl(1)>
@@ -1,40 +1,46 @@
1
1
  % dtas-sourceedit(1) dtas user manual
2
- %
3
2
 
4
- # NAME
3
+ =head1 NAME
5
4
 
6
5
  dtas-sourceedit - edit parameters of a source decoder
7
6
 
8
- # SYNOPSYS
7
+ =head1 SYNOPSYS
9
8
 
10
9
  dtas-sourceedit {sox | av | ff}
11
10
 
12
- # DESCRIPTION
11
+ =head1 DESCRIPTION
13
12
 
14
13
  dtas-sourceedit spawns an editor to allow editing of a source as a YAML file.
15
- See dtas-player_protocol(7) for details on SOURCEARGS. If standard input is
16
- a pipe or file, it is parsed as YAML and fed to the dtas-player(1) instance
14
+ See L<dtas-player_protocol(7)> for details on SOURCEARGS. If standard input is
15
+ a pipe or file, it is parsed as YAML and fed to the L<dtas-player(1)> instance
17
16
  non-interactively. This is useful for loading various profiles from the
18
17
  filesystem.
19
18
 
20
- On Linux machines with the sleepy_penguin RubyGem installed, inotify(7)
19
+ On Linux machines with the sleepy_penguin RubyGem installed, L<inotify(7)>
21
20
  is used to monitor the file for changes while the text exitor is running.
22
21
  Each time a user finishes saving a file, changes are committed immediately.
23
22
  This behavior may be disabled by using the -N or --no-watch command-line
24
23
  switch.
25
24
 
26
- # OPTIONS
25
+ =head1 OPTIONS
27
26
 
28
- -N, \--no-watch
29
- : Disable inotify(7) support on Linux systems
27
+ =over
30
28
 
31
- -n, \--dry-run
32
- : Only print commands which would be sent to dtas-player
29
+ =item -N, --no-watch
33
30
 
34
- -V, \--verbose
35
- : Print out commands as they are sent to dtas-player
31
+ Disable L<inotify(7)> support on Linux systems
36
32
 
37
- # EXAMPLES
33
+ =item -n, --dry-run
34
+
35
+ Only print commands which would be sent to dtas-player
36
+
37
+ =item -V, --verbose
38
+
39
+ Print out commands as they are sent to dtas-player
40
+
41
+ =back
42
+
43
+ =head1 EXAMPLES
38
44
 
39
45
  Invoking dtas-sourceedit will spawn your favorite text editor on "sox":
40
46
 
@@ -53,25 +59,28 @@ To change the way dtas-player calls ffmpeg (lightly-tested):
53
59
 
54
60
  $ dtas-sourceedit ff
55
61
 
56
- # ENVIRONMENT
62
+ =head1 ENVIRONMENT
57
63
 
58
64
  VISUAL / EDITOR - your favorite *nix text editor, defaults to 'vi' if unset.
59
65
 
60
66
  DTAS_PLAYER_SOCK - the path to the dtas-player control socket.
61
67
  This defaults to ~/.dtas/player.sock
62
68
 
63
- # CONTACT
69
+ =head1 CONTACT
70
+
71
+ All feedback welcome via plain-text mail to: L<mailto:dtas-all@nongnu.org>
72
+
73
+ Mailing list archives available at L<http://80x24.org/dtas-all/>
74
+ and L<ftp://lists.gnu.org/dtas-all/>
64
75
 
65
- All feedback welcome via plain-text mail to: <dtas-all@nongnu.org>\
66
- Mailing list archives available at <http://80x24.org/dtas-all/> and
67
- <ftp://lists.gnu.org/dtas-all/>\
68
76
  No subscription is necessary to post to the mailing list.
69
77
 
70
- # COPYRIGHT
78
+ =head1 COPYRIGHT
79
+
80
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
71
81
 
72
- Copyright 2013-2016 all contributors <dtas-all@nongnu.org>.\
73
- License: GPL-3.0+ <http://www.gnu.org/licenses/gpl-3.0.txt>
82
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
74
83
 
75
- # SEE ALSO
84
+ =head1 SEE ALSO
76
85
 
77
- dtas-player(1), dtas-player_protocol(7), dtas-ctl(1)
86
+ L<dtas-player(1)>, L<dtas-player_protocol(7)>, L<dtas-ctl(1)>
@@ -0,0 +1,271 @@
1
+ % dtas-splitfx(1) dtas user manual
2
+
3
+ =head1 NAME
4
+
5
+ dtas-splitfx - split audio and apply effects to all tracks
6
+
7
+ =head1 SYNOPSIS
8
+
9
+ dtas-splitfx SPLITFX_FILE.yml [OPTIONS] [TARGETS] [ARGS...]
10
+
11
+ =head1 DESCRIPTION
12
+
13
+ dtas-splitfx reads as YAML file and can apply effects (including
14
+ resampling/dither), split, tag, and encode files in parallel.
15
+ dtas-splitfx is intended for splitting recordings from vinyl and live
16
+ concerts into separate files. dtas-splitfx is inspired by cuesheets for
17
+ CD audio and the L<make(1)> build tool.
18
+
19
+ dtas-splitfx primarily uses L<sox(1)>, but it is possible to define targets
20
+ to use L<ecasound(1)>, too.
21
+
22
+ =head1 OPTIONS
23
+
24
+ =over
25
+
26
+ =item -j, --jobs [JOBS]
27
+
28
+ Number of jobs to run in parallel. If no number is specified, all
29
+ jobs are run in parallel.
30
+
31
+ =item -n, --dry-run
32
+
33
+ Print, but do not run the commands to be executed
34
+
35
+ =item -s, --quiet, --silent
36
+
37
+ Silent operation, commands are not printed as executed
38
+
39
+ =item -D, --no-dither
40
+
41
+ Disable automatic setting of the DITHERFX env. This also passes
42
+ the option to L<sox(1)> via SOX_OPTS.
43
+
44
+ =item -O, --outdir OUTDIR
45
+
46
+ Set output directory instead of current directory.
47
+ User-created targets must allow a placeholder for the
48
+ (by default, an empty string) $OUTDIR environment variable
49
+ in the output command.
50
+
51
+ =item -C, --compression FACTOR
52
+
53
+ Set the compression factor passed to L<sox(1)>. See L<soxformat(7)>
54
+ for more information on how it works across different formats.
55
+
56
+ =item -r, --rate RATE
57
+
58
+ Override the output sample rate in the specified TARGET
59
+
60
+ =item -b, --bits BITS
61
+
62
+ Override the output bit depth in the specified TARGET
63
+
64
+ =item -t, --trim POSITION
65
+
66
+ Passes a POSITION argument to the sox "trim" effect to allow
67
+ limiting output to only process a portion of the original.
68
+ This bypasses the "tracks" section and of the YAML file and
69
+ outputs the result as a single file with the TRACKNUMBER
70
+ of "000". For ease-of-typing, commas in this command-line
71
+ argument are automatically expanded to spaces when passed to sox.
72
+
73
+ =item -p, --sox-pipe
74
+
75
+ Used in place of an output target to specify outputting audio data in
76
+ the native "sox" format to another L<sox(1)> or L<play(1)> command. This
77
+ moves printing of output to stderr and disables parallel job invocation.
78
+
79
+ =back
80
+
81
+ =head1 FILE FORMAT
82
+
83
+ =over
84
+
85
+ =item infile - string, the pathname of the original audio file
86
+
87
+ =item env - ordered hash of environment variables to set for all commands
88
+
89
+ env: !omap
90
+ FX: gain 3 stats
91
+
92
+ =item comments - hash of common tags for all audio (e.g. ARTIST, ALBUM, YEAR)
93
+
94
+ comments:
95
+ ARTIST: John Smith
96
+ ALBUM: Hello World
97
+ YEAR: 2013
98
+
99
+ =item track_start - integer, number to start the track count at
100
+
101
+ default: 1
102
+
103
+ =item cdda_align - boolean, enforce sector alignment for audio CDs
104
+
105
+ default: false
106
+
107
+ =item track_zpad - boolean or integer
108
+
109
+ Zero-pad the TRACKNUMBER in metadata and
110
+ filenames. If an integer, this creates a fixed padding even if the
111
+ padding is not necessary. If true, this only pads as needed for the
112
+ highest-numbered track. Default: true
113
+
114
+ =item tracks - array, see "TRACKS" section
115
+
116
+ =item targets - hash, see "TARGETS" section
117
+
118
+ =item command - used only by L<dtas-player(1)>
119
+
120
+ =back
121
+
122
+ =head1 TRACKS
123
+
124
+ Tracks may be defined by a start time, with the stop time defined
125
+ automatically by the start of the next track, stop time, or a skip
126
+ segment.
127
+
128
+ =over
129
+
130
+ =item t TIME TITLE [fade_in/fade_out=FADE_ARGS]
131
+
132
+ The start of a new track
133
+ at TIME with TITLE. An optional fade_in and fade_out may be specified
134
+ for the first/last tracks.
135
+
136
+ =item skip TIME - skip a segment starting at TIME
137
+
138
+ "skip" segments are
139
+ useful for skipping long gaps between tracks (such as flipping vinyl
140
+ or intermission at concerts)
141
+
142
+ =item stop TIME - stop the last track
143
+
144
+ This should be the last directive in the "tracks" array.
145
+
146
+ =back
147
+
148
+ An example of the tracks array for a 4 track EP follows:
149
+
150
+ tracks:
151
+ - t 0:21 "This is the first track of an EP" fade_in='t 1'
152
+ - t 7:11.6 "Second track of side A of an EP"
153
+ - skip 9:18 # this is where I flip the record, comments are allowed
154
+ - t 9:41 "3rd track of an EP"
155
+ - t 13:36.5 "Final track of the EP" fade_out='t 1'
156
+ - stop 18:11
157
+
158
+ =head1 FADES
159
+
160
+ dtas-splitfx automatically sets up fade-in/fade-out effects for sox(1)
161
+ based on track times. These are to be used in "t" (track) directives in
162
+ the "tracks" array:
163
+
164
+ =over
165
+
166
+ =item fade_in="[TYPE] LENGTH"
167
+
168
+ =item fade_out="[TYPE] LENGTH"
169
+
170
+ =back
171
+
172
+ TYPE is optional, but LENGTH is required. See L<sox(1)> for a description
173
+ of the fade type.
174
+
175
+ =head1 ENVIRONMENT
176
+
177
+ dtas-splitfx sets several default environment variables for commands to
178
+ use in targets:
179
+
180
+ =over
181
+
182
+ =item INFILE - this matches the "infile" directive in the YAML file
183
+
184
+ =item INDIR - the directory INFILE belongs to, without trailing slash
185
+
186
+ =item INBASE - the basename of INFILE
187
+
188
+ =item TBEG - the integer sample offset where the L<sox(1)> trim effect starts
189
+
190
+ =item TLEN - the integer sample count representing the length of the trim
191
+
192
+ =item TRIMFX - essential
193
+
194
+ Supplies the necessary L<sox(1)> trim effect to
195
+ each track. In other words, this is: "trim ${TBEG}s ${TLEN}s"
196
+
197
+ =item COMMENTS - expands to --comment-file=PATH for L<sox(1)>
198
+
199
+ =item OUTDIR - placeholder for --outdir, defaults to an empty string
200
+
201
+ =item SUFFIX - the suffix of the output format without "." (e.g. "flac", "ogg")
202
+
203
+ =item TRACKNUMBER - the track number, useful for comments and filenames
204
+
205
+ =item RATEFX - rate effect and arguments for L<sox(1)> resampling
206
+
207
+ =item DITHERFX - dither effect and arguments for L<sox(1)> dithering
208
+
209
+ =item FX - any user-specified sox effects which encompases the entire file.
210
+
211
+ (e.g. "highpass 35 gain 3 stats")
212
+
213
+ =back
214
+
215
+ =head1 TARGETS
216
+
217
+ The default targets will split audio and avoid applying any effects.
218
+ They are named after common audio formats supported by L<sox(1)>:
219
+
220
+ =over
221
+
222
+ =item flac
223
+
224
+ =item ogg
225
+
226
+ =item mp3
227
+
228
+ =item sox
229
+
230
+ =back
231
+
232
+ If not specified, "flac" is the default target.
233
+
234
+ Additional targets supported by default.
235
+
236
+ =over
237
+
238
+ =item flac-cdda
239
+
240
+ This encodes the audio to "flac" format while being
241
+ easily decompressible to a format suitable for being burned to audio CD.
242
+
243
+ =back
244
+
245
+ Custom targets may easily be defined to apply effects and gain. For
246
+ example, the following "flac24" target raises the volume of the left
247
+ channel by 9.5dB and the right one by 8.5dB to compensate for channel
248
+ imbalance in a live concert recording from the audience:
249
+
250
+ targets:
251
+ flac24:
252
+ command: sox -M
253
+ "|sox $INFILE -c1 -p $TRIMFX remix 1v1 gain 9.5"
254
+ "|sox $INFILE -c1 -p $TRIMFX remix 2v1 gain 8.5"
255
+ $COMMENTS $OUTFMT
256
+ ${OUTDIR}bandYYYY-MM-DD.FOO.t0"$TRACKNUMBER.$SUFFIX"
257
+ $RATEFX $DITHERFX stats
258
+ format:
259
+ type: flac
260
+ bits: 24
261
+ rate: 48000
262
+
263
+ =head1 COPYRIGHT
264
+
265
+ Copyright 2013-2016 all contributors L<mailto:dtas-all@nongnu.org>
266
+
267
+ License: GPL-3.0+ L<http://www.gnu.org/licenses/gpl-3.0.txt>
268
+
269
+ =head1 SEE ALSO
270
+
271
+ L<sox(1)>, L<ecasound(1)>, L<flac(1)>, L<dtas-player(1)>