https://github.com/moisentinel/dicto
This says what you need it to say, but with pleasure.
https://github.com/moisentinel/dicto
edtech education fuck-yeah hacktoberfest learn learning teaching
Last synced: 5 months ago
JSON representation
This says what you need it to say, but with pleasure.
- Host: GitHub
- URL: https://github.com/moisentinel/dicto
- Owner: moiSentineL
- License: mit
- Created: 2023-11-17T13:42:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-24T03:35:07.000Z (over 1 year ago)
- Last Synced: 2025-07-09T23:27:03.876Z (12 months ago)
- Topics: edtech, education, fuck-yeah, hacktoberfest, learn, learning, teaching
- Language: Python
- Homepage: https://nibirsan.org/dicto/
- Size: 88.9 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dicto.py 📝🔊
This is your friendly dictation companion, designed to make writing tasks a breeze!
dicto.py is a simple yet powerful application that reads text aloud, allowing you to write it down physically at your own pace. It's perfect for:
- Students who want to practice their handwriting while studying
- Typewriters looking to increase their efficiency
- Anyone who prefers a hands-on approach to note-taking
## Features
- 🌐 Web-based interface powered by Streamlit
- 🎙️ Text-to-speech functionality using gTTS
- 🌍 Multiple language support
- 🗣️ Accent selection (UK, Nigerian, Australian so far)
- ⏩ Customizable speech rate and pauses
- 🔴 Real-time text highlighting
- 📤 Upload your own text files or use the text area
## Installation
1. Clone this repository:
```
git clone https://github.com/moiSentineL/dicto.git
```
2. Navigate to the project directory:
```
cd dicto
```
3. Install the required dependencies:
```
pip install -r requirements.txt
```
## Usage
1. Run the Streamlit application:
```
streamlit run dicto.py
```
2. Open your web browser and go to the URL provided by Streamlit (usually `http://localhost:8501`).
3. Use the web interface to:
- Enter text in the text area or upload a `.txt` file
- Configure dictation settings in the sidebar:
- Select language and accent
- Adjust pause duration after full stops
- Set the number of words to read at once
- Modify the minimum pause and length multiplier
- Click the "Dictate!" button to start the dictation
## Configuration Options
- **Language**: Choose between English, French, and Hindi
- **Accent**: Select UK, Nigerian, or Australian accent
- **Pause after fullstop**: Set the duration of pause after each full stop (0-5 seconds)
- **Word Groups**: Choose how many words to read in each group (0-5 words)
- **Minimum pause**: Set the minimum pause between word groups (0-3 seconds)
- **Length Multiplier**: Adjust the pause duration based on word length (0x-1x)
## How It Works
1. Dicto processes the input text, breaking it into paragraphs and word groups.
2. It uses gTTS (Google Text-to-Speech) to convert text to speech.
3. The application highlights the current word group being read.
4. Pygame is used to play the audio.
5. Customizable pauses are inserted between word groups and after punctuation marks.
## Contributing
We welcome contributions! If you have ideas for improvements or bug fixes, please open an issue or submit a pull request.
## Support
If you find Dicto.py helpful, ~~consider buying the developer a coffee! ☕~~ just make sure you have fun with it and share it with others who might benefit!.
Also maybe check out some of my other [stuff](https://github.com/moisentinel) 👈
Happy writing! ✍️