Audio::MPEG 0.04
Sponsored Links
Audio::MPEG 0.04 Ranking & Summary
File size:
00057 MB
Platform:
Any Platform
License:
GPL (GNU General Public License)
Price:
Downloads:
1228
Date added:
2006-06-19
Publisher:
Peter Timofejew
Audio::MPEG 0.04 description
Audio::MPEG is a Perl module for encoding and decoding of MPEG Audio (MP3).
SYNOPSIS
use Audio::MPEG;
Audio::MPEG is a Perl interface to the LAME and MAD MPEG audio Layers I, II, and III encoding and decoding libraries.
Rationale
I have been building a fairly extensive MP3 library, and decided to write some software to help manage the collection. Its turned out to be a rather cool piece of software (incidentally, I will be releasing it under the GPL shortly), with both a web and command line interface, good searching, integrated ripping, archive statistics, etc.
However, I also wanted to be able to stream audio, and verify the integrity of files in the archive. It is certainly possible to stream audio (even with re-encoding at a different bitrate) without resorting to writing interface glue like this module, but verification of the files was clumsy at best (e.g. scanning stdout/err for strings), and useless at worst.
Thus, Audio::MPEG was born.
LAME
This is arguably the best quality MPEG encoder available (certainly the best GPL encoder). Portions of the code have been optimized to take advantage of some of the advanced features for Intel/AMD processors, but even on non-optimized machines, such as the PowerPC, it performs quite well (faster than real-time on late 90s (and later) machines).
MAD
This is a relatively new MPEG decoding library. I chose it after struggling to clean up the MPEG decoding library included with LAME (which is based on Michael Hipps mpg123(1) implementation). In the end, I was very pleased with the results. MAD performs its decoding with an internal precision of 24 bits (pro-level quality) with fixed-point arithmetic. The code is very clean, and seems rock-solid. Although it may seem that it should be faster than the mpg123(1) library due to the use of fixed-point arithmetic, it is in fact about 60% or so of the speed (due to the higher resolution audio). However, the ease of coding against MAD, and the higher precision of the output more than makes up for the slower decoding.
Audio::MPEG can export the data at its highest precision for programs that wish to manipulate the data at the higher resolution.
Operating System Environment
I have only tested this on a Linux 2.4.x system so far, but I see no reason why it should not work on any Un*x variant. In fact, it may actually even work on a Windoze box (the underlying LAME and MAD libraries apparently compile somehow on them). I am doing no special magic with the interface, so presumably it will work under Windows. As you can probably tell, I dont really care if it does (Ill may start caring if M$ releases the source code to Windows under GPL, BSD, or Artistic licenses...). But, for you poor, misguided souls that insist upon running Windows, I expect that there should be little problem getting it to work.
Performance
You would think that with encoding/decoding audio, which is quite a compute-intensive task, Perl would be much slower than the equivalent pure C programs. Surprise... it is only about 3% slower (!) Even with the mechanism I use here (Perl->C->Perl for every frame, Perl 5.6.1 and Linux 2.4.4 (PowerPC 7500) performs just fantastic. So, the moral of this paragraph is to run your own performance tests, but theres no need to think of your own Perl encoder/decoder will be inferior to a pure C/C++ implementation. The only drawback is that, depending upon how much buffer space you use for reading, memory usage will be at least 3 times as much (eh... RAM is cheap...)
SYNOPSIS
use Audio::MPEG;
Audio::MPEG is a Perl interface to the LAME and MAD MPEG audio Layers I, II, and III encoding and decoding libraries.
Rationale
I have been building a fairly extensive MP3 library, and decided to write some software to help manage the collection. Its turned out to be a rather cool piece of software (incidentally, I will be releasing it under the GPL shortly), with both a web and command line interface, good searching, integrated ripping, archive statistics, etc.
However, I also wanted to be able to stream audio, and verify the integrity of files in the archive. It is certainly possible to stream audio (even with re-encoding at a different bitrate) without resorting to writing interface glue like this module, but verification of the files was clumsy at best (e.g. scanning stdout/err for strings), and useless at worst.
Thus, Audio::MPEG was born.
LAME
This is arguably the best quality MPEG encoder available (certainly the best GPL encoder). Portions of the code have been optimized to take advantage of some of the advanced features for Intel/AMD processors, but even on non-optimized machines, such as the PowerPC, it performs quite well (faster than real-time on late 90s (and later) machines).
MAD
This is a relatively new MPEG decoding library. I chose it after struggling to clean up the MPEG decoding library included with LAME (which is based on Michael Hipps mpg123(1) implementation). In the end, I was very pleased with the results. MAD performs its decoding with an internal precision of 24 bits (pro-level quality) with fixed-point arithmetic. The code is very clean, and seems rock-solid. Although it may seem that it should be faster than the mpg123(1) library due to the use of fixed-point arithmetic, it is in fact about 60% or so of the speed (due to the higher resolution audio). However, the ease of coding against MAD, and the higher precision of the output more than makes up for the slower decoding.
Audio::MPEG can export the data at its highest precision for programs that wish to manipulate the data at the higher resolution.
Operating System Environment
I have only tested this on a Linux 2.4.x system so far, but I see no reason why it should not work on any Un*x variant. In fact, it may actually even work on a Windoze box (the underlying LAME and MAD libraries apparently compile somehow on them). I am doing no special magic with the interface, so presumably it will work under Windows. As you can probably tell, I dont really care if it does (Ill may start caring if M$ releases the source code to Windows under GPL, BSD, or Artistic licenses...). But, for you poor, misguided souls that insist upon running Windows, I expect that there should be little problem getting it to work.
Performance
You would think that with encoding/decoding audio, which is quite a compute-intensive task, Perl would be much slower than the equivalent pure C programs. Surprise... it is only about 3% slower (!) Even with the mechanism I use here (Perl->C->Perl for every frame, Perl 5.6.1 and Linux 2.4.4 (PowerPC 7500) performs just fantastic. So, the moral of this paragraph is to run your own performance tests, but theres no need to think of your own Perl encoder/decoder will be inferior to a pure C/C++ implementation. The only drawback is that, depending upon how much buffer space you use for reading, memory usage will be at least 3 times as much (eh... RAM is cheap...)
Audio::MPEG 0.04 Screenshot
Audio::MPEG 0.04 Keywords
MPEG
MAD
MP3
MPEG 0.04
LAME
MPEG Audio
encoding and decoding
Perl module
Perl
decoding
audio
encoding
module
work
Audio::MPEG
AudioMPEG
Bookmark Audio::MPEG 0.04
Audio::MPEG 0.04 Copyright
WareSeeker periodically updates pricing and software information of Audio::MPEG 0.04 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Audio::MPEG 0.04 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
vin decoding
what is encoding memory
encoding and decoding communication
encoding and decoding stuart hall
stuart hall encoding and decoding
1967 pontiac vin 223377u104197 decoding
define encoding and decoding
encoding decoding
medical decoding
encoding and decoding in reading
encoding and decoding in the television discourse
MPEG-1 Audio Layer II
another word for decoding
whet is the definition for encoding
long word decoding
encoding device
encoding and decoding communication skills
contrast encoding and decoding
Related Software
Audio::Play::MPG321 is a frontend to MPG321. Free Download
Audio::MadJACK is a Perl module to talk to MadJACK server using Object Oriented Perl. Free Download
Audio::Mad is a Perl interface to the mad MPEG decoder library. Free Download
MPEG::Audio::Frame is a class for weeding out MPEG audio frames out of a file handle. Free Download
Audio::Wav::Read is a Perl module for reading Microsoft WAV files. Free Download
KAudioCreator is an audio file creation solution for KDE. Free Download
Mp3Make is a program that automates the ripping and encoding of CD audio to mp3 files. Free Download
Audio::Mad::Util is a utility class for working with mpeg streams. Free Download
Latest Software
Popular Software
Favourite Software