Download Latest Version Compress-Music 0.1.2 alpha.zip (62.0 kB)
Email in envelope

Get an email when there's a new version of Compress-Music

Home / Documentation
Name Modified Size InfoDownloads / Week
Parent folder
README.txt 2011-07-30 7.4 kB
GNU GENERAL PUBLIC LICENSE v3.0.txt 2011-06-29 32.0 kB
GNU GENERAL PUBLIC LICENSE v3.0.rtf 2011-06-29 69.9 kB
Totals: 3 Items   109.3 kB 0
    Compress-Music: A powershell script to convert music to mp3 format.
    Copyright (C) 2011 finles

	Compress-Music.Sourceforge.net
	This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    finles can be contacted at:
	finles at hotmail dot com
	


DESCRIPTION
Compress-Music is a powerful Powershell script that traverses a directory 
structure for audio files (in many formats) and converts to all supported 
files to mp3 in a duplicate directory structure.

Compress-Music supports the following technologies:
Gapless mp3 compression (NOT YET!)
Album & track Replaygain
Updating of tags only without recompression if the original audio is unchanged
Converting .pls and m3u play lists to mp3 (NOT YET!)
You control the compression arguments
Multithreaded
APE, ID3V1, IDEV2 tags


FILE TYPES SUPPORTED
flac


PREREQUISITES
Flac		- to decode flac files - www.flac.sourceforge.net
AudioGenie	- to read and write tags, using the C# wrapper - audioGenie.sf.net
Lame		- to encode and decode mp3 files and write id3 tags. Download 
		  binaries from www.rarewares.org
Powershell V2.0	- to run the script, comes packaged with Windows Vista and 
		  Windows 7. Download for XP from 
		  http://support.microsoft.com/kb/968930


INSTALLATION
INSTALLING COMPRESS-MUSIC

 * Download Compress-Music from compress-music.sf.net
 * Create a folder for Compress-Music e.g. 'D:\Compress-Music'.
 * Extract the downloaded .zip files to your Compress-Music folder.
 * Download & install Lame, Flac etc.
 * Download & copy the AudioGenie .dll to the system32 directory
	and/or the SysWOW64, and the C# wrapper to the Compress-Music folder.

REQUIREMENTS
 * Windows PowerShell 2.0 on Windows XP SP3, Windows Vista SP1, or Windows 7.
		Ensure that you have permissions to run scripts, else you will get an error similar to this:

			> File D:\Compress-Music\Compress-Music.ps1 cannot be loaded because the 
				execution of scripts is disabled on this system. Please see 
				"get-help about_signing" for more details.

		By default, PowerShell’s execution policy is set to Restricted; that means that scripts - including those you write yourself - won’t run. To change the execution policy, run the following command as Administrator.

			> Set-ExecutionPolicy RemoteSigned

		If you are downloading with Internet Explorer, IE will mark the file as being from a remote zone. You will need to set the policy to unrestricted to run scripts.

			> Set-ExecutionPolicy Unrestricted
	
 * AudioGenie 32 bit direct linked library and the C# wrapper.
		Use the 32 bit version (yes I am talking to you - even on a 64 bit OS)!
		Copy the library AudioGenie3.dll to 'C:\Windows\System32' and? 'C:\Windows\SysWOW64' folder.
		Copy the C# wrapper AudioGenie2.cs to your Compress-Music directory.
		
 * Lame binaries
		www.rarewares.org

  * Any de-compressors relating to your audio file types:
		www.flac.sf.net


USAGE
./Compress-Music.ps1 [arguments] [-source "directory or play list"] [-destination "directory"]
e.g. Compress-Music -noreplaygain -setlameargs "-V1" -processes 3 
	-source "d:\My Music" -destination "d:\Compressed Music For Portable Player"


arguments include:

-source dir			-s 		Directory of files to convert or location of
							play list to convert. Required if no default
							set.
-destination ""		–d		Location that the mp3 files will be stored. 
							Required if no default set.

-getdefaultsource	-gds	Get default source path.
-setdefaultsource ""-sds	Set default source path.

-getdefaultdest		-gdd	Get default destination path.
-setdefaultdest ""	-sdd	Set default destination path.



-processes n		-p		How many parallel processes to run. (Default is
							the number of cores)
-prereqtest					Test for required installed components.
-language ""		-lang	NOT WORKING! Change language. Default is English, Currently not
							available in anything else 
							(TO DO: add some other languages).
-help				-h		Show this usage.



-getdefaultargs		-gda	Get the default arguments
-setdefaultargs ""	-sda	Set the default arguments.
-restoreorigargs	-rda	Restore the original default arguments.
							"-prereqtest -trg -gl -id3V2 -tart"


-noreplaygain		-nrg	NOT WORKING! Replaygain tags not calculated or transferred.
-calcreplaygain		-crg	NOT WORKING! Calculate album replaygain instead of tag
				transfer.
-tagreplaygain		-trg	DEFAULT! Transfer replaygain tags.



-notgapless			-ngl	DEFAULT! Destination files will not be compressed as gapless
							mp3. The default is gapless compression. 
-gapless			-gl		NOT WORKING! Destination files are compressed as gapless mp3.
							All files in a single directory with the same 
							'Album' tag are compressed as gapless.



-getlameargs		-gla	Get the default lame arguments.
-setlameargs ""		-sla	Set the default lame arguments. You shouldn't
							be using arguments there if the functionality
							can be provided by Compress-Music arguments, it
							will either be ignored, or you might break
							something. e.g. use	Compress-Music -gapless
							rather than Compress-Music -lameargs "-gapless"
-restorelameargs	-rla	Restore the original default lame arguments 
							"-V 5 --silent"
-getlamepath		-glp	Get the default lame command path.
-setlamepath ""		-slp	Set the default lame command path.
-findlamepath		-flp	Try to find the lame path by searching C:\
							(excluding windows directory) for "lame.exe".



-getflacargs		-gfa	Get the default flac arguments.
-setflacargs ""		-sfa	Set the default flac arguments.
-restoreflacargs	-rfa	Restore the original default flac arguments 
							"-d -f -s"
-getflacpath		-gfp	Get the default flac command path.
-setflacpath ""		-sfp	Set the default flac command path.
-findflacpath		-ffp	Try to find the flac path by searching C:\ 
							(excluding windows directory) for "flac.exe".



-tagsonly			-t		Updates tags only. Re-tags all files.
-id3V2						Tags as ID3V2.
-id3V1						Tags as ID3V1 (what are the limitations 
							e.g. number of chars, image tags?).
-apetags					Tags as APE.
-putartinfolder		-fart	Transfer any album art from tags into the album
							folder. Checks for different images in
							different files, and multiple tags in each file
							(Tags will be removed from destination files).
-putartintags		-tart	NOT WORKING!! Album art stored as a file in the album folder
							will be stored as to the mp3 tags (files will be
							deleted	from destination directory).



-debug				-db		Full verbose output (English).
-quiet				-q		No output.
-licence			-l		Show full General Public Licence V3.
-warranty			-w		Show GPL V3 warranty.
-conditions			-c		Show GPL V3 conditions to redistribute.


Source: README.txt, updated 2011-07-30