The wavconvert package

[ Tags: bsd3, program, sound ] [ Propose Tags ]

Command-line tool for converting audio files and filling in ID3 tags

[Skip to Readme]


Versions 0.1, 0.1.1
Dependencies base, directory, filepath, process [details]
License BSD3
Copyright (c) Tim Chevalier, 2008
Author Tim Chevalier
Category Sound
Uploaded Tue Aug 19 00:21:38 UTC 2008 by TimChevalier
Distributions NixOS:0.1.1
Executables wavconvert
Downloads 538 total (6 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2017-01-03 [all 6 reports]
Hackage Matrix CI


Maintainer's Corner

For package maintainers and hackage trustees

Readme for wavconvert-0.1

[back to package description]
This program batch-converts .wav files to .ogg format while filling in the ID3
tags for the resulting .ogg files using directory structure information. 

=== Installation ===

$ runhaskell Setup.lhs configure
$ runhaskell Setup.lhs build
$ runhaskell Setup.lhs install

Tested with GHC 6.8.2.

You will need the "oggenc" program (part of the vorbis-tools package) to run
wavconvert. It would be easy to change the source code so that the program 
name to use (and appropriate flags) are specified on the command line or
(preferably) through a configure option. Send me a patch if you do!

=== Usage ===

./wavconvert [OPTION...] root-directory

(where options are described below).

wavconvert assumes that files in the root directory are named with the following

root-directory/ArtistName/AlbumName/TrackNum - SongTitle.wav

For example, if root-directory is "/home/tjc/Music", an example is:

/home/tjc/Music/Morrissey/Vauxhall and I/10 - The Lazy Sunbathers.wav

It looks for .wav files underneath the root directory and encodes any such files
it finds in .ogg, relying on the naming conventions described above. The output
file name is determined by substituting the ".wav" extension in the original 
filename with ".ogg".

It does not delete the original .wav file unless you specify the --remove-files

If the .ogg file that would have been created already exists, it skips that file
and prints a warning.

==== Command-line options ====

-v / --verbose prints out external commands as they are executed.
-d / --dry-run prints out commands without executing them.
-r / --remove-files removes .WAV files after all files are encoded.

=== To do ===

* Take the name of the program and relevant flags as configure or command-line
options, rather than hard-wiring in oggenc or its flags.
* Don't assume a particular file naming convention, but rather take a format
string as an argument and interpret the directory structure based on that string.

Feel free to send me patches if you decide to implement these changes or
anything else!

   -- Tim Chevalier <>
      August 2008