import pyttsx3
import tkinter as tk
from tkinter import ttk
class TextToSpeech:
def __init__(self, master):
self.master = master
self.master.title("Text-to-Speech")
self.master.geometry("400x300")
self.engine = pyttsx3.init()
self.create_widgets()
def create_widgets(self):
# Text Input
self.text_label = ttk.Label(self.master, text="Enter Text:")
self.text_label.pack(pady=5)
self.text_entry = ttk.Entry(self.master, width=50)
self.text_entry.pack(pady=5)
# Voice Selection
self.voice_label = ttk.Label(self.master, text="Select Voice:")
self.voice_label.pack(pady=5)
self.voice_var = tk.StringVar()
self.voice_combo = ttk.Combobox(self.master, textvariable=self.voice_var)
self.voice_combo['values'] = [voice.id for voice in self.engine.getProperty('voices')]
self.voice_combo.pack(pady=5)
self.voice_combo.set(self.voice_combo['values'][0])
# Speed Control
self.speed_label = ttk.Label(self.master, text="Speech Speed:")
self.speed_label.pack(pady=5)
self.speed_scale = ttk.Scale(self.master, from_=100, to=400, orient='horizontal') # Set range for speech rate
self.speed_scale.set(200) # Default speed
self.speed_scale.pack(pady=5)
# Speak Button
self.speak_button = ttk.Button(self.master, text="Speak", command=self.speak_text)
self.speak_button.pack(pady=20)
def speak_text(self):
text = self.text_entry.get()
voice = self.voice_var.get()
speed = self.speed_scale.get()
self.engine.setProperty('voice', voice)
self.engine.setProperty('rate', speed)
self.engine.say(text)
self.engine.runAndWait()
if __name__ == "__main__":
root = tk.Tk()
app = TextToSpeech(root)
root.mainloop()
I have all the requirements installed but still won’t run. I was trying to do a little text to speech project on my MacBook that I recently purchased after learning to code a little on a school computer and I wanted to do this project to help me with long readings since sometimes I can get lost in the words and I was expecting the code to run well with no problems but I always get this in the output.
[Running] python -u “/User/User/Deskstop/Projects/TTS.py”
/bin/sh: python: command not found
Jayee70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.