Skip to main content

Turn any text into a soothing ASMR-style reading experience

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asmreader-0.1.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asmreader-0.1.2-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file asmreader-0.1.2.tar.gz.

File metadata

  • Download URL: asmreader-0.1.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for asmreader-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7744ca9daf9747d30a645179f6eac13c2cee984898af2e3a492b0d05ef3763c6
MD5 7fea882322d84267825453b6857eb857
BLAKE2b-256 74d71ef7ab43a13067fd7099c84229e35d29dbe7f1ad46d83e4ff038fd663ea0

See more details on using hashes here.

Provenance

The following attestation bundles were made for asmreader-0.1.2.tar.gz:

Publisher: publish.yml on autoscatto/ASMReader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file asmreader-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: asmreader-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for asmreader-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d4023a0403f7937d15544a5e8bcfe6498c3789bbb106e7876a92f5d368f755
MD5 b079aac782d597bcfd02c084bde096f2
BLAKE2b-256 7e4f3e07e4f3303f54cdb5dc076aa9278f1fb10d411d985ac11d3d99a5e69d8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for asmreader-0.1.2-py3-none-any.whl:

Publisher: publish.yml on autoscatto/ASMReader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page