Skip to main content

defrost

  • split broken icecast recordings into separate mp3s
  • MIT-Licensed, 2019-06-01, ed @ irc.rizon.net, github, pypi

features

  • silence detection -- finds the best part to split at
  • mp3 parser -- clean splits at frame boundaries
  • icy-meta parser -- extract artist/title from inband metadata
    • dynamic recalibration to recover from server glitches
  • charset detection -- UTF8, latin-1, shift-jis and friends, all good
  • ID3 tags -- uses mutagen to write aritst/title into the files
  • timestamping -- the date/time that the song was played live
  • support for other input formats:
    • loopstream recording

installation

  • get the latest release from pypi: python3 -m pip install --user -U defrostir
  • or the latest commit from github: python3 -m pip install --user -U https://github.com/9001/defrost/tarball/hovudstraum

usage

from an internet radio station:

wget -U MPlayer --header 'Icy-MetaData: 1' -St1 'https://stream.r-a-d.io/main.mp3'
# wait until the show is over, then abort the download
python3 -m defrostir main.mp3

from a loopstream recording:

python3 -m defrostir -i ls Loopstream-2021-10-02_22.53.44.mp3

notes

versions x.y.1 have chardet as a dependency, while x.y.2 have charset-normalizer (preferred) and are otherwise identical; setup.py rls will produce both to avoid a pypi package selection bug

Metadata

Release files for defrostir 1.2.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 defrostir 1.2.2
File Size Uploaded
defrostir-1.2.2.tar.gz 19.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for defrostir 1.2.2
File Interpreter ABI Platform
defrostir-1.2.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 36.9 kB

Release files / defrostir-1.2.2.tar.gz

Download URL defrostir-1.2.2.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3597ec0e9f234a43432f89c9d2c98b10aa43d1a7e82489a7baba74b62401bb6c
BLAKE2b-256 checksum
How to use checksums
102137a8dec823c502b00b03a478e9d644f37b7da6e5ff2b4b5d5f64ad574839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / defrostir-1.2.2-py2.py3-none-any.whl

Download URL defrostir-1.2.2-py2.py3-none-any.whl
Size 17.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0f68ccd75a302180e7f39318a5d964c4e9be8571d2e1e6d14025f50dfeabdb94
BLAKE2b-256 checksum
How to use checksums
46cdbff2b40d457a14ad9980f446920c0d195f76f5d531705c0eb2227aee7da6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.15.2

2 release files

0.15.1

2 release files

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