Python ma głos
Wykorzystanie obiektu Speech API systemu Windows do syntezy mowy w pythonie.
Synteza mowy
W poniższym kodzie używana jest biblioteka win32com.client
, która umożliwia dostęp do funkcji COM (Component Object Model) w systemie Windows za pomocą języka Python. W tym przypadku, funkcja Dispatch
jest używana do utworzenia nowej instancji obiektu COM.
Parametr przekazany do funkcji Dispatch
to ciąg znaków reprezentujący identyfikator programu (ProgID) obiektu COM, który chcemy utworzyć. W tym konkretnym przypadku, SAPI.SpVoice
odnosi się do obiektu Speech API (SAPI)
, który jest używany do obsługi syntezy mowy w systemie Windows.
Skrypt
Najpierw instalujemy bibliotekę pywin32
:
pip install pywin32
Skrypt w pythonie odczytujący podany tekst:
# -*- utf-8 -*-
import win32com.client
# Tekst do syntezy mowy
tekst = '''Czy równania potrafią naprawdę wyjaśnić, jak szpaki
latają w skoordynowany sposób? Czy fizyka leży u podstaw
nawet najbardziej spontanicznych, urzekających przejawów
życia na Ziemi? Odpowiedź zależy w pewnym sensie od tego,
czy wierzy się w to, że matematyka została odkryta,
czy wynaleziona; czy jest to wszechobecna siła, kierująca
każdym działaniem we wszechświecie, lub czy logika została
narzucona przez ludzki mózg.
To jest cytat z książki "Rzecz o ptakach".
Autor Noah Strycker.'''
speaker = win32com.client.Dispatch('SAPI.SpVoice')
# Wywołanie syntezatora
speaker.Speak(tekst)