Gtts Male Voice May 2026

engine.say("Hello, I am a male voice using pyttsx3") engine.runAndWait()

import pyttsx3 engine = pyttsx3.init() voices = engine.getProperty('voices') for v in voices: print(v.id, v.name, v.gender) # Some show gender Pick a male voice (e.g., 'HKEY_LOCAL_MACHINE\SOFTWARE...' on Windows) for v in voices: if 'male' in v.name.lower(): engine.setProperty('voice', v.id) break gtts male voice

return male_audio male_audio = gtts_male_voice("This is a male-sounding voice using GTTS.") male_audio.export("male_voice.mp3", format="mp3") engine

from gtts import gTTS tts = gTTS(text="Hello", lang="en") # always the default voice (female) The only reliable way is to switch to a different TTS engine or post-process the audio (pitch shifting). Here’s a clean Python approach using pydub to lower the pitch of the GTTS output, making it sound more masculine. Step-by-step male voice transformation: from gtts import gTTS from pydub import AudioSegment from pydub.effects import speedup import io def gtts_male_voice(text, lang='en', pitch_semi= -3): # Generate normal GTTS audio tts = gTTS(text, lang=lang) fp = io.BytesIO() tts.write_to_fp(fp) fp.seek(0) lang=lang) fp = io.BytesIO() tts.write_to_fp(fp) fp.seek(0)