Skip to main content

ASMReader 📧 ✨️

Turn any text into a soothing ASMR-style reading experience. Because sometimes you just want your PDF documentation read in a calming voice.

Features 🔫

  • Converts text from various sources (PDF, TXT, Markdown, Web pages) into speech
  • Blends different voices for a unique ASMR experience
  • Parallel processing for smooth playback
  • Supports chunking for long texts
  • Handles web content with readability extraction

Installation 🚀

You can install ASMReader using pip:

pip install asmreader

For users who prefer to use pipx, you can install it globally:

pipx install asmreader

If you are using uv, you can install it with:

uv install asmreader

After installation, you can run the application using the command:

asmreader --help

Usage 📣

Important: Before using the application, you MUST call the download_model function to download the necessary files.

make run -- --file path/to/your/2501.00536v2.pdf  # Read a local file
make run -- --url "https://en.wikipedia.org/wiki/Gigi_D%27Agostino"  # Read a web page
make run -- --file document.txt --speed 0.8  # Adjust speech speed
make run -- --file document.pdf --output reading.wav  # Save to file instead of playing

Development 🦠

To contribute:

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write tests for your feature
  4. Implement your feature
  5. Run tests: make test
  6. Push and create a Pull Request

Adding New File Formats 📘

  1. Create a new reader in asmreader/readers/
  2. Inherit from TextReader
  3. Implement supported_mime_types() and read()
  4. Add to READERS in readers/__init__.py

Example:

class MyNewReader(TextReader):
    def supported_mime_types(self, mime: str) -> bool:
        return mime in ['application/x-my-format']
    
    def read(self, file_path: str) -> str:
        # Your implementation here
        pass

License 📘

MIT - Because sharing is caring, and ASMR should be free.

Why? 🤊

Because sometimes you need your technical documentation read in a soothing voice while you drift off to sleep, dreaming of well-documented code and properly handled edge cases.

Known Issues 💣

  • Side effects include improved understanding of technical documents
  • Not responsible for ASMR addiction

Release files for asmreader 0.1.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 asmreader 0.1.2
File Size Uploaded
asmreader-0.1.2.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asmreader 0.1.2
File Interpreter ABI Platform
asmreader-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 25.4 kB

Release files / asmreader-0.1.2.tar.gz

Download URL asmreader-0.1.2.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7744ca9daf9747d30a645179f6eac13c2cee984898af2e3a492b0d05ef3763c6
BLAKE2b-256 checksum
How to use checksums
74d71ef7ab43a13067fd7099c84229e35d29dbe7f1ad46d83e4ff038fd663ea0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 22, 2025.

Transparency log

Release files / asmreader-0.1.2-py3-none-any.whl

Download URL asmreader-0.1.2-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4d4023a0403f7937d15544a5e8bcfe6498c3789bbb106e7876a92f5d368f755
BLAKE2b-256 checksum
How to use checksums
7e4f3e07e4f3303f54cdb5dc076aa9278f1fb10d411d985ac11d3d99a5e69d8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 22, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.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