GeezerVison is showing github.com — GH-60729: Add IEEE format wave audio support take two by mbeijen · Pull Request #145931 · python/cpython
Conversation
mbeijen
commented
Mar 13, 2026
•
edited by bedevere-app
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
This is an updated version of #102574, the original PR where @lkoenig added support for IEEE Wave Audio.
As requested by @encukou
I've
- Renamed the new 'getencoding/setencoding' to 'getformat/setformat' - format is the term used in the specifications
- Added
format to getparams
- Added FACT chunk to written non-PCM wave files, which is required by the spec (and is what Audacity does)
- Added documentation!
Closes: #102574
This is the new version of #145384 which got merged today AND reverted, because it failed on big-endian. Looking back I changed the test so it has the same structure as all other tests in test_wave.py and I ran it on an s390 docker image and tests are passing now for me. I was surprised there were no big endian tests on PRs only on main!! I'm sorry for the churn this caused.
📚 Documentation preview 📚: https://cpython-previews--145931.org.readthedocs.build/
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This adds support for floating point wav files and fix python#60729.
'format' is the term used in the wave audio specification
These methods are public but were previously not documented. This caused
the unit tests to fail when I mentioned changes to getparams() in the
whats new ;-)
This is also similar to what libsndfile does
Store the WaveIeeeFloatingPointTest frames data in big-endian
byte order with a conditional byteswap for little-endian systems,
matching the pattern used by all other PCM test classes.
This fixes test_read and test_read_not_from_start failures on
big-endian platforms (e.g. s390x).
mbeijen
changed the title
Gh 60729 add ieee wave audio support take 2
GH-60729: Add IEEE format wave audio support take two
Mar 13, 2026
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
I'll run the buildbot tests this time. (Don't worry if some fail; there are some flaky ones in this set.)
I was surprised there were no big endian tests on PRs only on main!! I'm sorry for the churn this caused.
I should be apologizing here, for not catching this!
Yeah, we don't get that many issues around endianness; the s390x tests run after merge.
Normally I'd have looked into the issue and sent a fix, but I only noticed the failures as I was leaving for the weekend and wanted the tests to be green the next few days. Sorry you got caught in the churn!
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
mbeijen reacted with rocket emoji
Uh oh!
There was an error while loading. Please reload this page.
(Don't worry if some fail; there are some flaky ones in this set.)
(For the record, the failure is due to a clang bug...)
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
ljfp
pushed a commit
to ljfp/cpython
that referenced
this pull request
Apr 25, 2026
Reviewers
encukou
encukou approved these changes
AA-Turner
Awaiting requested review from AA-Turner
AA-Turner is a code owner
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|