Skip to content

Releases: jiaaro/pydub

v0.25.1

10 Mar 02:10
Compare
Choose a tag to compare
  • Fix crashing bug in new scipy-powered EQ effects

v0.25.0

06 Mar 17:36
Compare
Choose a tag to compare
  • Don't show a runtime warning about the optional ffplay dependency being missing until someone trys to use it
  • Documentation improvements
  • Python 3.9 support
  • Improved efficiency of loading wave files with pydub.AudioSegment.from_file()
  • Ensure pydub.AudioSegment().export() always retuns files with a seek position at the beginning of the file
  • Added more EQ effects to pydub.scipy_effects (requires scipy to be installed)
  • Fix a packaging bug where the LICENSE file was not included in the source distribution
  • Add a way to instantiate a pydub.AudioSegment() with a portion of an audio file via pydub.AudioSegment().from_file()

v0.24.1

03 Jun 15:21
4441450
Compare
Choose a tag to compare
  • Fix bug where ffmpeg errors in Python 3 are illegible
  • Fix bug where split_on_silence fails when there are one or fewer nonsilent segments
  • Fix bug in fallback audioop implementation

v0.24.0

12 May 02:47
Compare
Choose a tag to compare
  • Fix inconsistent handling of 8-bit audio
  • Fix bug where certain files will fail to parse
  • Fix bug where pyaudio stream is not closed on error
  • Allow codecs and parameters in wav and raw export
  • Fix bug in pydub.AudioSegment.from_file where supplied codec is ignored
  • Allow pydub.silence.split_on_silence to take a boolean for keep_silence
  • Fix bug where pydub.silence.split_on_silence sometimes adds non-silence from adjacent segments
  • Fix bug where pydub.AudioSegment.extract_wav_headers fails on empty wav files
  • Add new function pydub.silence.detect_leading_silence
  • Support conversion between an arbitrary number of channels and mono in pydub.AudioSegment.set_channels
  • Fix several issues related to reading from filelike objects

v0.23.1

22 Jan 17:02
Compare
Choose a tag to compare
  • Fix bug in passing ffmpeg/avconv parameters for pydub.AudioSegment.from_mp3(), pydub.AudioSegment.from_flv(), pydub.AudioSegment.from_ogg(), and pydub.AudioSegment.from_wav()
  • Fix logic bug in pydub.effects.strip_silence()

v0.23.0

17 Sep 20:29
Compare
Choose a tag to compare
  • Add support for playback via simpleaudio
  • Allow users to override the type in pydub.AudioSegment().get_array_of_samples() (PR #313)
  • Fix a bug where the wrong codec was used for 8-bit audio (PR #309 - issue #308)

v0.22.1

15 Jun 22:48
Compare
Choose a tag to compare
  • Fix pydub.utils.mediainfo_json() to work with newer, backwards-incompatible versions of ffprobe/avprobe (issue #285, PR #290)

v0.22.0

24 May 16:16
Compare
Choose a tag to compare
  • Adds support for audio with frame rates (sample rates) of 48k and higher (requires scipy) (PR #262, fixes #134, #237, #209)
  • Adds support for PEP 519 File Path protocol (PR #252)
  • Fixes a few places where handles to temporary files are kept open (PR #280)
  • Add the license file to the python package to aid other packaging projects (PR #279, fixes #274)
  • Big fix for pydub.silence.detect_silence() (PR #263)

v0.21.0

22 Feb 16:33
Compare
Choose a tag to compare
  • NOTE: Semi-counterintuitive change: using the a stride when slicing AudioSegment instances (for example, sound[::5000]) will return chunks of 5000ms (not 1ms chunks every 5000ms) (#222)
  • Debug output from ffmpeg/avlib is no longer printed to the console unless you set up logging (see README for how to set up logging for your converter) (#223)
  • All pydub exceptions are now subclasses of pydub.exceptions.PydubException
  • The utilities in pydub.silence now accept a seek_stepargument which can optionally be passed to improve the performance of silence detection (#211)
  • Fix to pydub.silence utilities which allow you to detect perfect silence (#233)
  • Fix a bug where threaded code screws up your terminal session due to ffmpeg inheriting the stdin from the parent process. (#231)
  • Fix a bug where a crashing programs using pydub would leave behind their temporary files (#206)

v0.20.0

05 Aug 16:11
Compare
Choose a tag to compare
  • Add new parameter gain_during_overlay to pydub.AudioSegment.overlay which allows users to adjust the volume of the target AudioSegment during the portion of the segment which is overlaid with the additional AudioSegment.
  • pydub.playback.play() No longer displays the (very verbose) playback "banner" when using ffplay
  • Fix a confusing error message when using invalid crossfade durations (issue #193)