SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

xmcd2make v2.0 Mon Jan 10 20:35:28 EST 2005

Copyright 2001-2005 C R Johnson <iamcliff@freeengineer.org> xmcd2make is licensed using the GNU GPL. See the file COPYING for details. THERE IS NO WARRANTY FOR THIS FREE SOFTWARE

Prerequisites

Everyone will need:

        Perl 5 with the modules, available from...
                GetOpt::Long                            cpan.org 
                Data::Dumper                            cpan.org
                LWP::Simple                                     cpan.org
                WebService::FreeDB              cpan.org
                Audio::Gramofile        http://sourceforge.net/projects/libgramofile

If you want to encode ogg-vorbis files:

        oggenc
                http://www.vorbis.com

If you want to make shn files:

        Shorten 
                http://www.etree.org/shnutils/shorten/

        shntool 
                http://www.etree.org/shnutils/shntool/

        md5sum 
                A standard unix tool

If you want to encode mp3 files:

        mpgtx
                A tool for manipulation of MPEG files, http://mpgtx.sourceforge.net

        lameenc
                The mp3 encoder, whereever you can find it. 

If you want to easily burn an audio CD or archive CD's of shns

shn2make also from ftp://ftp.freeengineer.org/pub/shn2make

Introduction


There are several user tools here:

xmcdsearch

        A script which searches the freedb database and downloads .xmcd files
        Use it like this:

xmcdsearch -xmcd "pink floyd interstellar overdrive oenone" artist track

Run it with no options for a help message.

findtracks

        A script which runs the libgramofile track finding tool. 
        It is intended to be used interactivly.  It works best with bash (or any 
        other shell that allows easy command line re-editing.) It is much faster way 
        than using the gramofile curses interface.

xmcd2make

        A script which generates a Makefile. Using this makefile, automatic
        track splitting, signal processing, ogg/mp3  file encoding, shn making, and song 
        naming for entire recored albums can be done with single commands, 
        for example "make ogg".

and a couple of processing utilities.

xmcdsignalproc
xmcdtrackstates

        utility scripts performing various gramofile related tasks. Used by the 
        makefiles created by xmcd2make

History

One day I got tired of typing in song names to the albums I was recording and encoding to ogg.

I knew that alot of the albums I was recording had song listings available via the CD database at freedb.org.

So I took an .xmcd file, and I wrote a perl script to read the xmcd and create ogg files using the output files I got from gramofile (processedxxx.wav's)

There were two problems with this:

  1. I have to run the whole script over if I change just one source .wav file

2)It only used 1 of my 2 cpu's as script execution is serial and oggenc is not multi-threaded.

Then I thought about how make automates these things. Make rebuilds only targets with changed dependencies and using the -j argument, make backgrounds multiple processes.

I changed my script to output a Makefile and xmcd2make was born.

How to use xmcd2make

+ To record Aretha Franklin's first album, Aretha ( with the Ray Bryant Combo ), and encode it to ogg-vorbis :

Record the album using gramofile or any other wav recorder

Name the resulting 2 wav files "aretha1.wav" and "aretha2.wav".

Use the script xmcdsearch to search the database at freedb.org, find the album listing, and copy the xmcd data to a plain text file in the same directory as the wav files. Name the file "aretha.xmcd".

Run findtracks, and play with the parameters until you are finding the correct 6 tracks per side. Check the tracks files to make sure they are correct and edit the files if necessary.

Run xmcd2make like this:

xmcd2make.pl --filter=cond_median2_filter aretha

A Makefile is created Run the makefile

make

You are done.

Some Targets available in the Makefile output by xmcd2make:

make proc      - splits and processes the big wav file
make ogg       - creates ogg files
make shn       - create shn archive files, and an md5 file. 
make           - same as make ogg
make procclean - delete all intermediate wav files. 
make disc1              - burn an audio CD of the processed wav files 
                                        (requires shn2make)


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.