- Published on
SSML i TTS - Jak stworzyć realistyczną mowę z tekstu przy pomocy AI
- Authors

- Name
- Piotr Kołodziejczyk

Text-to-Speech (TTS) z wykorzystaniem SSML (Speech Synthesis Markup Language) to technologia AI, która pozwala przekształcać tekst w naturalnie brzmiącą mowę. Dzięki Google Cloud, Azure i Amazon Polly możesz tworzyć audiobooki, asystentów głosowych czy narracje.
Czym jest SSML?
SSML (Speech Synthesis Markup Language) to język znaczników XML, który pozwala precyzyjnie kontrolować sposób, w jaki AI wypowiada tekst. Zamiast monotonnej mowy, możesz dodać naturalność i emocje do syntezy mowy.
Kluczowe elementy SSML - wyjaśnienie
Prosody (Prozodia)
Prosody to melodia i rytm mowy. Tag <prosody> pozwala kontrolować:
- rate - tempo mowy (np.
90%= wolniej,110%= szybciej) - pitch - wysokość głosu (np.
+2st= wyżej,-1st= niżej, gdzie "st" to półton) - volume - głośność (np.
+3dB= głośniej,-2dB= ciszej)
<prosody rate="90%" pitch="-1st" volume="-2dB">
Powolna, niska i cicha wypowiedź
</prosody>
Emfaza (Emphasis)
Emphasis to akcent i nacisk na określone słowa. Poziomy emfazy:
- strong - silny nacisk (jak podkreślenie głosem)
- moderate - umiarkowany akcent
- reduced - osłabiony nacisk
<emphasis level="strong">To jest bardzo ważne!</emphasis>
Break (Pauza)
Break to celowa przerwa w mowie, która dodaje dramatyzmu lub ułatwia zrozumienie:
Pierwsza myśl.<break time="1s"/>Druga myśl po pauzie.
Praktyczny przykład z Node.js
Oto kompletny kod wykorzystujący Google Cloud Text-to-Speech API:
import fs from 'fs'
import fetch from 'node-fetch'
const apiKey = 'TWÓJ_KLUCZ_API_KTÓRY_NIE_POWINIEN_BYĆ_JAWNY_W_KODZIE' // Użyj zmiennych środowiskowych!
const text = `
<speak>
<prosody rate="95%" pitch="+1st">
<emphasis level="strong">Był świt.</emphasis>
<break time="1s"/>
Miasto jeszcze spało, ale gdzieś daleko...
<emphasis level="moderate">coś się budziło.</emphasis>
</prosody>
<break time="1200ms"/>
<prosody rate="90%" pitch="-1st">
W cieniu wieżowców, pośród deszczu i ciszy,
ktoś postawił pierwszy krok.
<break time="600ms"/>
Wiedział, że nie ma już odwrotu.
</prosody>
<break time="1.3s"/>
<prosody pitch="+3st" rate="97%" volume="+2dB">
Głos w jego głowie szeptał:
<break time="400ms"/>
<emphasis level="strong">"To dopiero początek..."</emphasis>
</prosody>
<break time="1.5s"/>
<prosody rate="102%" pitch="+1st" volume="+4dB">
A potem...
<break time="500ms"/>
wszystko eksplodowało dźwiękiem, światłem i ruchem.
</prosody>
<break time="1s"/>
<prosody rate="90%" pitch="-2st" volume="-2dB">
I tylko on został w ciszy, słuchając echa własnych myśli.
</prosody>
<break time="1.2s"/>
<prosody rate="98%" pitch="+1st" volume="+1dB">
<emphasis level="strong">To był moment, w którym świat się przebudził.</emphasis>
</prosody>
</speak>
`
// Główna funkcja do generowania mowy z API GCP
async function generateSpeech() {
try {
const response = await fetch(
`https://texttospeech.googleapis.com/v1/text:synthesize?key=${apiKey}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
input: { ssml: text },
voice: {
languageCode: 'pl-PL',
name: 'pl-PL-Standard-B', // przykładowo
},
audioConfig: {
audioEncoding: 'MP3',
speakingRate: 1.0,
pitch: 0.0,
},
}),
}
)
const data = await response.json()
if (!data.audioContent) {
console.error('Coś poszło nie tak... ;/ ', data)
return
}
// Tu zapiszemy plik jako Mp3
const audio = Buffer.from(data.audioContent, 'base64')
fs.writeFileSync('speech.mp3', audio)
console.log('Plik speech.mp3 zapisany! ')
} catch (error) {
console.error('❌błąd:', error)
}
}
generateSpeech()
Poniżej przykład do pobrania jak to wyszło. Oczywiście samo zarządzanie znacznikami SSML można wykorzystać lepiej
Pobierz by usłyszeć plik mp3 przygotowany przez SSML
Alternatywne platformy AI
Choć w przykładzie używamy Google Cloud Text-to-Speech, podobne możliwości oferują:
- Microsoft Azure
- Amazon Polly - szeroki wybór głosów i języków
Zastosowania praktyczne
SSML + TTS sprawdza się idealnie w:
- Audiobookach - naturalna narracja z emocjami
- Podcastach - automatyczna konwersja artykułów
- E-learningu - interaktywne kursy online
- Asystentach głosowych - realistyczne odpowiedzi
- Dostępności - wsparcie dla osób niedowidzących
Podsumowanie
Technologia SSML w połączeniu z AI Text-to-Speech otwiera nowe możliwości tworzenia treści audio. Dzięki precyzyjnej kontroli nad prozodią (melodia mowy), emfazą (akcenty) i pauzami możesz generować mowę o jakości porównywalnej z profesjonalnymi lektorami.
Czy warto inwestować w TTS? Absolutnie tak - to przyszłość content marketingu i automatyzacji treści audio.