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
- 🌐 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
-
Clone this repository:
git clone https://github.com/moiSentineL/dicto.git
-
Navigate to the project directory:
cd dicto
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the Streamlit application:
streamlit run dicto.py
-
Open your web browser and go to the URL provided by Streamlit (usually
http://localhost:8501
). -
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
- Enter text in the text area or upload a
- 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)
- Dicto processes the input text, breaking it into paragraphs and word groups.
- It uses gTTS (Google Text-to-Speech) to convert text to speech.
- The application highlights the current word group being read.
- Pygame is used to play the audio.
- Customizable pauses are inserted between word groups and after punctuation marks.
We welcome contributions! If you have ideas for improvements or bug fixes, please open an issue or submit a pull request.
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 👈
Happy writing! ✍️