Skip to main content

What is it?

pyrogg is a simple recoding library for Ogg-Vorbis audio files, implemented in Cython. It reads Vorbis streams from the provided input files and recodes them to the desired quality level (-1 … 10). It comes with a handy command line interface.

Example

Command line usage:

$ recode.py -d outputdir --quality=1 --parallel=3 input1.ogg input2.ogg input3.ogg

Python usage:

>>> from pyrogg import VorbisFileRecoder
>>> rec = VorbisFileRecoder("input.ogg")

>>> time = rec.recode("output.ogg", quality=1)

Since the time used for decoding is substantially lower than that used for encoding, you might want to set the following environment variable to avoid busy waiting OpenMP threads:

OMP_WAIT_POLICY=PASSIVE

Why would I use it?

  • It can recode files on the file-system as well as file-like objects.

  • It uses OpenMP to decode and encode an input stream in parallel, as well as multiprocessing to recode multiple files in parallel. So it can use all resources that your machine can provide, which makes it pretty fast.

  • Parallel recoding of separate input files is thread-safe and frees the GIL.

Why would I not use it?

  • Currently, error handling isn’t very elaborate, so unexpected errors may crash your system. This should be easy to fix with a little work, and help on this is certainly appreciated. (Fear not, it’s written in Cython, not C.)

  • It’s not meant to recode streams on the fly, just files and file-like objects. Currently, input files/objects must allow random access through seek(). This should be fixable.

How can I install it?

Using pip:

pip install pyrogg

Note that this will do a source build, so you need a properly configured C compiler on your system that can build Python extension modules, as well as the library packages libogg, libvorbis, and their corresponding development packages. Most operating systems (including all commonly used Linux distributions) will allow you to install them via the normal package management tool. For the development packages, look for packages called libogg-dev or libogg-devel.

For Windows and MacOS, however, you need to install them manually. See here:

https://www.xiph.org/downloads/

Release files for pyrogg 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrogg 0.2
File Size Uploaded
pyrogg-0.2.tar.gz 65.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyrogg 0.2
File
pyrogg-0.2-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp35-cp35m-manylinux1_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp34-cp34m-manylinux1_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp34-cp34m-manylinux1_i686.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp33-cp33m-manylinux1_x86_64.whl CPython 3.3 CPython 3.3 pymalloc Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp33-cp33m-manylinux1_i686.whl CPython 3.3 CPython 3.3 pymalloc Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp27-cp27mu-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp27-cp27mu-manylinux1_i686.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp27-cp27m-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp27-cp27m-manylinux1_i686.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp26-cp26mu-manylinux1_x86_64.whl CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp26-cp26mu-manylinux1_i686.whl CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-32 Details
pyrogg-0.2-cp26-cp26m-manylinux1_x86_64.whl CPython 2.6 CPython 2.6 pymalloc Linux glibc 2.5+ x86-64 Details
pyrogg-0.2-cp26-cp26m-manylinux1_i686.whl CPython 2.6 CPython 2.6 pymalloc Linux glibc 2.5+ x86-32 Details

Total release size: 5.7 MB

Release files / pyrogg-0.2.tar.gz

Download URL pyrogg-0.2.tar.gz
Size 65.0 kB
Tags Source
SHA-256 checksum
How to use checksums
11b3ebec4b8f8e665a329ec72760365714d1628e89907b32d1e9239f65455207
BLAKE2b-256 checksum
How to use checksums
77c2bb30163787f63e8feb2d1b92d8bd0fab0b1ee811cdf23c61b2eb67c92feb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp36-cp36m-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp36-cp36m-manylinux1_x86_64.whl
Size 364.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
ffeda8ddf4cd29f86fe8f29e14669d23fe7ee069cd61f60a41b3a6b1eae47bea
BLAKE2b-256 checksum
How to use checksums
86fdae50ca726495e4fbcac879b9077072ff851eabf72606185f832756319d79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp36-cp36m-manylinux1_i686.whl

Download URL pyrogg-0.2-cp36-cp36m-manylinux1_i686.whl
Size 341.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
99dc06931f1a84c0dfd2155253e7a7de1387efcf31f86ee5de77b28875efbdb8
BLAKE2b-256 checksum
How to use checksums
6aa9eb31a2e9c7c980e1d75110ccce94631e277bd6a947277520f6f441bf5e1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp35-cp35m-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp35-cp35m-manylinux1_x86_64.whl
Size 364.2 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7a57abb7b7ea9a1fde4f183420798ebacd123c4aea6cf31811c75acbaf7dc2c1
BLAKE2b-256 checksum
How to use checksums
606184804263851371fd9ce06155575798711042683f9247ff55116754f272e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp35-cp35m-manylinux1_i686.whl

Download URL pyrogg-0.2-cp35-cp35m-manylinux1_i686.whl
Size 340.0 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
f44f90dfe117b23fe3a9c32c23d225d38fc0d333efe24a3f3c6448f4e98c7214
BLAKE2b-256 checksum
How to use checksums
7cbee5e6a3eef3d0dab889c6099a37f08c11b7a70a788fe6853684462e36f720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp34-cp34m-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp34-cp34m-manylinux1_x86_64.whl
Size 362.7 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b2a1fe9e8b340c58955d124bb39e7d2f59a43ee8300aa0c00edb03a2c7081932
BLAKE2b-256 checksum
How to use checksums
168e2ff5de59c12ad7ffee47b9da15f340a2250bf5b07c94dfecec1c662fef01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp34-cp34m-manylinux1_i686.whl

Download URL pyrogg-0.2-cp34-cp34m-manylinux1_i686.whl
Size 339.0 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
ce1197a9465a4332056b84dcfd728d37629acaf511c0f4ee83241d07430af5f1
BLAKE2b-256 checksum
How to use checksums
880e0866d775663bc4252e8c08b650dec446b750eeb400e1e2d732f7fa36bf1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp33-cp33m-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp33-cp33m-manylinux1_x86_64.whl
Size 362.7 kB
Tags CPython 3.3 CPython 3.3 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
acd3ca9f38e5cc5060ad8f5f2bc0f050632a7412a208dd20cbdeaf18730f4f08
BLAKE2b-256 checksum
How to use checksums
ccd51798ea467b265fe68361054ed62982e2dce0c9133326dc135a5a1306cb65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp33-cp33m-manylinux1_i686.whl

Download URL pyrogg-0.2-cp33-cp33m-manylinux1_i686.whl
Size 339.0 kB
Tags CPython 3.3 CPython 3.3 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
04dd39f4944ce9a1bbd80d12b0ca924ef1e642ec1bc638dfecf121189511a151
BLAKE2b-256 checksum
How to use checksums
69a4776df314e93bb87aee335578e994fefb00cf14bf3826af587476dcbf1359
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp27-cp27mu-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp27-cp27mu-manylinux1_x86_64.whl
Size 360.2 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
f665ace2430d7c230dee0723b42a5703ed31f211ac5849217b90dcd6e6f5c549
BLAKE2b-256 checksum
How to use checksums
b3a0495ff44ea409305509dd61485d7516eb424b595ef1b9fd69b0eb0301905e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp27-cp27mu-manylinux1_i686.whl

Download URL pyrogg-0.2-cp27-cp27mu-manylinux1_i686.whl
Size 337.0 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
67be6231d47a7a42662e62ed0b6b274f8a1023960ddb882608117cfd473d7365
BLAKE2b-256 checksum
How to use checksums
70ae503a9ed55f9251ba6743de70cc8520a79546af2e8aea0739b827970da7e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp27-cp27m-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp27-cp27m-manylinux1_x86_64.whl
Size 360.2 kB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
20e2ffe4016168f569627850fa75d367f78900118f591ae21b98710167aec607
BLAKE2b-256 checksum
How to use checksums
547a091dde72512ad07bc9fd02f0e30c3f8ba98266038e56a6ad8acc2e59b05a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp27-cp27m-manylinux1_i686.whl

Download URL pyrogg-0.2-cp27-cp27m-manylinux1_i686.whl
Size 337.0 kB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
de1a9628eec4e0b20860c0a6aa63d960f0c6c85a280cfd75b47888fd77a49926
BLAKE2b-256 checksum
How to use checksums
9cc45ec539758635b96315deafbf18f7f5be56411fdba7963479d230923c7176
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp26-cp26mu-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp26-cp26mu-manylinux1_x86_64.whl
Size 360.1 kB
Tags CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
e58a5f0824be3594a514d82d38d194cbe447a94eebd4518ba868ed68b7953022
BLAKE2b-256 checksum
How to use checksums
53f29b5afc6b8587f903c719a17591e10554f8ef3e2d1f00802b59ec2da85464
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp26-cp26mu-manylinux1_i686.whl

Download URL pyrogg-0.2-cp26-cp26mu-manylinux1_i686.whl
Size 336.9 kB
Tags CPython 2.6 CPython 2.6 pymalloc wide-unicode Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
402bf68bec89c488462f494c9dedc34ca5ba409d68ae96cdf60c7775e867e272
BLAKE2b-256 checksum
How to use checksums
24ab682ec340c2e27956f8d121299e1ad24c0a26a7436f279794f2bef68466ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp26-cp26m-manylinux1_x86_64.whl

Download URL pyrogg-0.2-cp26-cp26m-manylinux1_x86_64.whl
Size 360.1 kB
Tags CPython 2.6 CPython 2.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
19e10854686b9488dc9967f168df5c4c2962dd4f2dac5da534a4a0d5ea2e30e6
BLAKE2b-256 checksum
How to use checksums
cff37c0cbbef40f0cb04b9885eec36c2d164052c7b4eef265bc6854a57c92a21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyrogg-0.2-cp26-cp26m-manylinux1_i686.whl

Download URL pyrogg-0.2-cp26-cp26m-manylinux1_i686.whl
Size 336.9 kB
Tags CPython 2.6 CPython 2.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
31770d9f6a69f4fe95ac29dd2b637c60311c5e7802299d30363e0bdce0b14c9a
BLAKE2b-256 checksum
How to use checksums
09d462fc7ed7de613c16267b3eb24dab2f491ba8c4d76e633e3c2f9ba9fac315
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.3

17 release files

This release

0.2 This release

17 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page