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 🚀

# Clone the repo
git clone https://github.com/autoscatto/asmreader.git
cd asmreader
make install  # Install with development dependencies

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.1.tar.gz (11.7 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.1-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asmreader-0.1.1.tar.gz
  • Upload date:
  • Size: 11.7 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.1.tar.gz
Algorithm Hash digest
SHA256 97b608d8a3570f49ef5feca2c1a78c70b3251b3e229c30ff44705f13515adc29
MD5 a2892da17d9df6c91f754d3a5e9ff68a
BLAKE2b-256 c3e93b3418356bc93251c6e452c5d4b700fc2fbb3d691690621649f47a5576ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for asmreader-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: asmreader-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1c366f77c40b9d5d2adad27ad6532970adeebce65a5801e5ccb7816cc8d4c04
MD5 aa4e452439c5d247f59c3822b151d86e
BLAKE2b-256 ecb9d5f06820b9b95aa1732af647faa2336065c517e7efcbe6d101f7bcdc8894

See more details on using hashes here.

Provenance

The following attestation bundles were made for asmreader-0.1.1-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