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:
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Write tests for your feature
- Implement your feature
- Run tests:
make test - Push and create a Pull Request
Adding New File Formats 📘
- Create a new reader in
asmreader/readers/ - Inherit from
TextReader - Implement
supported_mime_types()andread() - Add to
READERSinreaders/__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)
| File | Size | Uploaded | |
|---|---|---|---|
| asmreader-0.1.2.tar.gz | 11.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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