qwavcut(1)

πŸ“¦ version 0.4.0, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– qwavcut β€” it's giving "surgical wav edits" βœ‚οΈβœ¨

okay so bestie, welcome to qwavcut(1), part of the quelcom man pages 🌸. this little icon lets you extract and/or delete parts of a wav file β€” like, cut a chunk out of your audio and either copy it somewhere cute or just yeet it into the void 🫢


✨ SYNOPSIS ✨

qwavcut [option]... file

🌈 DESCRIPTION 🌈

qwavcut lets you extract and/or delete a fragment of a wav file. no cap, that's the whole vibe πŸ’…

but listen, you have to supply some parameters to define the start/size/end cut points, and also decide what you actually wanna do with the fragment:

  • copy the fragment to another file, or
  • erase it from the file, or
  • literally both, main character energy πŸ‘‘

πŸŽ€ GENERAL OPTIONS πŸŽ€

  • -d, --delete β€” deletes the fragment from the file. heads up bestie: if option --output is used, the deletion action is always done after fragment extraction. order matters, iykyk.
  • -h, --help β€” show a brief help and exit. short king behavior fr fr.
  • -o <outfile>, --output=<outfile> β€” outfile is the file where the samples contained in the specified cut will be copied. your little souvenir 🎁
  • -V, --version β€” show version and exit. just flexing ✨

πŸ¦‹ CUT OPTIONS πŸ¦‹

so cut options are how you specify at which sample the fragment begins (options -b or -B), ends (options -e and -E), or which size it has (option -s). at least, one cut option must be specified. periodt.

also: neither the options -b and -B, and the options -e and -E can be used together. also, a begin, end and size option can be used at the same time. (yes that's exactly what the original says, don't come for me πŸ’€)

by default, the fragment begins at the first sample and ends at the last sample. there's no default value for size.

all the values are treated as a sample number unless a format specifier is used. see the FORMATS section below for info πŸ‘‡. all values must be positive integer.

  • -b <begin>[<format>], --set-begin-from-eof=<begin>[<format>] β€” begin specifies the first sample of the file that belongs to the cut, counting from the end of the file. (yes, from the end. it's quirky like that πŸ™ˆ)
  • -B <begin>[<format>], --set-begin=<begin>[<format>] β€” begin specifies the first sample of the file that belongs to the cut, counting from the beginning of the file.
  • -e <end>[<format>], --set-end-from-eof=<end>[<format>] β€” end specifies the last sample of the file that belongs to the cut, counting from the end of the file.
  • -E <end>[<format>], --set-end=<end>[<format>] β€” end specifies the last sample of the file that belongs to the cut, counting from the beginning of the file.
  • -s <size>[<format>], --set-size=<size>[<format>] β€” size specifies the number of samples contained in the cut.
  • -S <begin>-<end>, --slice <begin>-<end> β€” slice specifies the starting and ending points of the cut as a timeslice, which is to say, two time specifications ([[h:]m:]s[.ms]) joined by a hyphen. very demure, very mindful πŸŽ€

🌸 FORMATS 🌸

cut options can have also an optional modifier. if this modifier is not used, then the value provided with the corresponding cut option will be interpreted as a number of samples. and listen, since most of the times it'll be difficult to specify a cut in terms of samples, the following modifiers are provided πŸ’–:

  • j β€” value is interpreted as milliseconds.
  • m β€” value is interpreted as minutes.
  • s β€” value is interpreted as seconds.
  • b β€” value is interpreted as bytes.
  • k β€” value is interpreted as kbytes (1024 bytes).
  • M β€” value is interpreted as megabytes (1024 kbytes).

in either case, the values specified will be rounded to get an integer number of samples. ✨


πŸ’… EXAMPLES πŸ’…

here are some examples, bestie:

to get the last ten seconds of a file:

qwavcut -b 10s -o outfile.wav infile.wav

four ways of getting the first minute of a file:

qwavcut -S -1:0 -o outfile.wav infile.wav
qwavcut -S -60 -o outfile.wav infile.wav
qwavcut -E 1m -o outfile.wav infile.wav
qwavcut -s 1m -o outfile.wav infile.wav

four ways of getting the second quarter of a file:

qwavcut -S 15:0-30:0 -o outfile.wav infile.wav
qwavcut -B 15m -E 30m -o outfile.wav infile.wav
qwavcut -s 15m -E 30m -o outfile.wav infile.wav
qwavcut -B 15m -s 15m -o outfile.wav infile.wav

like, four ways to do the same thing?? we love options 🫢


⭐ NOTES ⭐

if neither the options --output nor --delete are specified, the program will do nothing. literally nothing. it will just sit there. do not expect it to read your mind πŸ’€

when cutting at the end, a simple truncate call is needed. but when cutting in the middle or in the beginning, all the data behind the cut must be moved ahead and, depending on the amount of the data to be moved, this can be a time consuming operation. so maybe grab a snack πŸ“


😭 BUGS 😭

tests has been done only with 44100 Hz 16 bit stereo files, though it may work with mono/stereo 8/16 bits files. not me being honest about the testing coverage πŸ’€


πŸ‘‘ AUTHOR πŸ‘‘

dmanye@etse.urv.es
http://www.etse.urv.es/~dmanye/quelcom/quelcom.html

🌈 SEE ALSO 🌈


quelcom 0.4.0 🌸 february 2001 β€” yeah she's vintage, she's an icon, she's thriving βœ¨πŸ’–πŸŽ€ that's the whole page bestie, go cut some wavs πŸ¦‹πŸ’…

πŸ“¦ where this page comes from