Requisits:
- Tener instal·lat Python.
- Instal·lar la llibreria
pyttsx3
:
pip install pyttsx3
pip install pyttsx3
PS C:\WINDOWS\system32> python -V
Python 3.13.5
PS C:\WINDOWS\system32>
import pyttsx3
def llistar_veus():
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for idx, voice in enumerate(voices):
print(f"Veu {idx + 1}:")
print(f" ID: {voice.id}")
print(f" Nom: {voice.name}")
print(f" Llengua: {voice.languages}")
print(f" Gènere: {voice.gender}")
print()
if __name__ == "__main__":
llistar_veus()
Aquest script es pot llançar des de powerShell
python c:\python\llista_veus.py
python s:\python\llista_veus.py

si volem afegir les OneCore
python c:\python\llista_veus_onecore.py
python s:\python\llista_veus_onecore.py

python c:\python\llista_veus_onecore.py
python s:\python\llista_veus_onecore.py
import pyttsx3
import winreg
def llistar_veus_sapi():
print("🎙️ Veus SAPI instal·lades:\n")
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for idx, voice in enumerate(voices):
print(f"Veu {idx + 1}:")
print(f" ID: {voice.id}")
print(f" Nom: {voice.name}")
print(f" Llengua: {voice.languages}")
print(f" Gènere: {voice.gender}")
print()
def obtenir_nom_veu_onecore(subkey):
for value_name in ["", "Name", "DisplayName", "Attributes"]:
try:
val = winreg.QueryValueEx(subkey, value_name)[0]
if isinstance(val, str) and val.strip():
return val.strip()
except FileNotFoundError:
continue
return "Desconegut"
def llistar_veus_onecore():
base_key = r"SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens"
try:
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, base_key) as key:
print("🎙️ Veus OneCore disponibles:\n")
for i in range(winreg.QueryInfoKey(key)[0]):
subkey_name = winreg.EnumKey(key, i)
with winreg.OpenKey(key, subkey_name) as subkey:
nom = obtenir_nom_veu_onecore(subkey)
print(f"ID: {subkey_name}")
print(f"Nom: {nom}\n")
except FileNotFoundError:
print("No s'ha trobat la clau de registre per a les veus OneCore. Assegura't que estàs a Windows 11.")
if __name__ == "__main__":
llistar_veus_sapi()
llistar_veus_onecore()
python c:\python\veus_sapi_onecore.py
python s:\python\veus_sapi_onecore.py
import pyttsx3
import winreg
def llistar_veus_sapi():
print("🎙️ Veus SAPI instal·lades:\n")
engine = pyttsx3.init()
voices = engine.getProperty('voices')
for idx, voice in enumerate(voices):
print(f"Veu {idx + 1}:")
print(f" ID: {voice.id}")
print(f" Nom: {voice.name}")
print(f" Llengua: {voice.languages}")
print(f" Gènere: {voice.gender}")
print()
def obtenir_nom_veu_onecore(subkey):
for value_name in ["", "Name", "DisplayName", "Attributes"]:
try:
val = winreg.QueryValueEx(subkey, value_name)[0]
if isinstance(val, str) and val.strip():
return val.strip()
except FileNotFoundError:
continue
return "Desconegut"
def llistar_veus_onecore():
base_key = r"SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens"
try:
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, base_key) as key:
print("🎙️ Veus OneCore disponibles:\n")
for i in range(winreg.QueryInfoKey(key)[0]):
subkey_name = winreg.EnumKey(key, i)
with winreg.OpenKey(key, subkey_name) as subkey:
nom = obtenir_nom_veu_onecore(subkey)
print(f"ID: {subkey_name}")
print(f"Nom: {nom}\n")
except FileNotFoundError:
print("No s'ha trobat la clau de registre per a les veus OneCore. Assegura't que estàs a Windows 11.")
if __name__ == "__main__":
llistar_veus_sapi()
llistar_veus_onecore()