decoder.py 1.5XB RELEASED!!!
Scroll down to download or click
New things in 1.5XB:
* Added support for OGG FLAC files (*.oga)
* Added extra URL to update() function
* update() switched to urllib2 for compatibility with Python 3
* First updates after version 1.5WB available to update() function
* Corrected some minor mistakes in the documentation
* Discarded use of win32con module from win32 library (decoder.py does not depend on it any more)
* Removed a terrible bug that appeared in codecs.pdc file for Unix and Unix-like systems
A next version will fully support cygwin platform with Windows exes and have more decoding options.
It will have latest versions of decoders packed in Windows ZIP file
A testing on Mac is planed soon. If someone already tried, I would like to hear about it.
To see How can you contribute in development of decoder.py, scroll down or just click
"decoder.py" is a cross-platform module for decoding compressed audio files.
It uses external decoders by turning their stdout into file-like object
which is completely compatible with wave module from Python's standard library
i.e. with its Wave_read class.
With it you can decode the following filetypes:
MPEG layer 1, 2 and 3 (*.mp1; *.mp2; *.mp3)
MPEG-4 HE-AAC (*.mp4, *.m4a, *.m4b, *.aac)
OGG Vorbis (*.ogg)
Free Audio Lossless Codec (*.flac)
OGG FLAC (*.oga)
Windows Media Audio (*.wma)
As it decodes on the fly you can use it in combination with audiodev.py or PyAudio or some other similar module to play a compressed audio file.
It is fully tested on:
Ubuntu Linux (10.04, 12.04, 12.10),
Raspbian (on Raspberry Pi),
Windows 98 SE,
Windows XP Professional
and Windows 7 Professional.
Python 2.5.x or later
External command line decoders:
lame(.exe), faad(.exe), flac(.exe), oggdec(.exe), wmadec.exe (on Windows) and ffmpeg (on Unix)
If you won't use particular filetype you won't be needing matching decoder.
For full documentation consult the source code.
You will get the mutagen and, in Win32 case, external decoders along with "decoder.py" in the same ZIP file.
decoder.py/1.5XB for Windows 1.65 MB
decoder.py/1.5XB for Unix 881 KB
Note: Version "1.5WB" does not support OGG FLAC and it is not perfect
decoder.py/1.5WB for Windows 1.65 MB
decoder.py/1.5WB for Unix 876 KB
decoder.py/1.4ZB for Windows 1.64 MB
decoder.py/1.4ZB for Unix 876 KB
decoder.py/1.4YB for Windows 1.6 MB
decoder.py/1.4YB for Unix 865.3 KB
Note: Version "1.4XB" does not support FLAC
decoder.py/1.4XB for Win32 1.53 MB
decoder.py/1.4XB for Unix 861 KB
How to contribute?
To contribute in creation of decoder.py it is enough to do one of two things;
either send the author an e-mail with your modification(s) and, if they are good, you will see them in the next official version of decoder.py,
or, join this Bit Bucket repository.
Thanks to Tom Enos from lightshowpi.org project for creating it.
If you use this repo to further develop decoder.py, you do not have to comply with the licence part where you need to send an e-mail to the author of decoder.py thus announcing your work,
but your code may still end being accepted in an official version, with proper credits to you.
Do not forget, the above repository code is still NOT AN OFFICIAL VERSION and the author is not accountable for any code that appears on it.
But it will be used by the author to improve decoder.py with new ideas and code.
If you are not a developer or you do not need a particular feature that is not yet included in the official version, please use the official version and not the one on the repository.
Main reasons being the hard backward compatibility, garanteed stability and updates for old versions.
For more info on the license, see the "COPYING" file or the source code itself.
I hope we will see your code in the upcoming version (1.5YB) of decoder.py. Good luck with coding!
Copyright © 2010-2017 by Dalen Bernaca All rights reserved.