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:
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97b608d8a3570f49ef5feca2c1a78c70b3251b3e229c30ff44705f13515adc29
|
|
| MD5 |
a2892da17d9df6c91f754d3a5e9ff68a
|
|
| BLAKE2b-256 |
c3e93b3418356bc93251c6e452c5d4b700fc2fbb3d691690621649f47a5576ed
|
Provenance
The following attestation bundles were made for asmreader-0.1.1.tar.gz:
Publisher:
publish.yml on autoscatto/ASMReader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
asmreader-0.1.1.tar.gz -
Subject digest:
97b608d8a3570f49ef5feca2c1a78c70b3251b3e229c30ff44705f13515adc29 - Sigstore transparency entry: 164454113
- Sigstore integration time:
-
Permalink:
autoscatto/ASMReader@f9b088115a8bb1501279cbabc8c7916ff247a052 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/autoscatto
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f9b088115a8bb1501279cbabc8c7916ff247a052 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1c366f77c40b9d5d2adad27ad6532970adeebce65a5801e5ccb7816cc8d4c04
|
|
| MD5 |
aa4e452439c5d247f59c3822b151d86e
|
|
| BLAKE2b-256 |
ecb9d5f06820b9b95aa1732af647faa2336065c517e7efcbe6d101f7bcdc8894
|
Provenance
The following attestation bundles were made for asmreader-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on autoscatto/ASMReader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
asmreader-0.1.1-py3-none-any.whl -
Subject digest:
a1c366f77c40b9d5d2adad27ad6532970adeebce65a5801e5ccb7816cc8d4c04 - Sigstore transparency entry: 164454116
- Sigstore integration time:
-
Permalink:
autoscatto/ASMReader@f9b088115a8bb1501279cbabc8c7916ff247a052 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/autoscatto
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f9b088115a8bb1501279cbabc8c7916ff247a052 -
Trigger Event:
workflow_dispatch
-
Statement type: