Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Text-to-speech generation in Prompt Engineering / GenAI - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Text-to-Speech Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
What is the main role of the vocoder in text-to-speech systems?

In text-to-speech (TTS) systems, the vocoder is a key component. What does it do?

AIt analyzes the input text to detect emotions.
BIt converts text into phonemes for pronunciation.
CIt converts the acoustic features into audible speech waveforms.
DIt translates speech back into text.
Attempts:
2 left
💡 Hint

Think about how the system creates sound from intermediate data.

Predict Output
intermediate
2:00remaining
What is the output shape of the mel spectrogram in this TTS preprocessing code?

Given the code below that converts audio to a mel spectrogram, what is the shape of mel_spectrogram?

Prompt Engineering / GenAI
import numpy as np
import librosa

audio, sr = librosa.load('audio.wav', sr=22050)
mel_spectrogram = librosa.feature.melspectrogram(y=audio, sr=sr, n_mels=80, hop_length=256, n_fft=1024)
output_shape = mel_spectrogram.shape
A(number_of_frames, 80)
B(80, number_of_frames)
C(1024, 80)
D(256, number_of_frames)
Attempts:
2 left
💡 Hint

Check the documentation for librosa.feature.melspectrogram output dimensions.

Model Choice
advanced
2:00remaining
Which model architecture is best suited for generating natural-sounding speech waveforms in TTS?

Among these options, which model architecture is designed specifically to generate high-quality speech waveforms in text-to-speech systems?

AWaveNet
BBERT
CResNet
DTacotron 2
Attempts:
2 left
💡 Hint

Consider which model is a neural vocoder producing raw audio.

Hyperparameter
advanced
2:00remaining
Which hyperparameter directly controls the time resolution of mel spectrogram frames in TTS preprocessing?

In mel spectrogram extraction, which hyperparameter affects how often frames are sampled over time?

An_fft
Bn_mels
Cwin_length
Dhop_length
Attempts:
2 left
💡 Hint

Think about the step size between frames in the spectrogram.

Metrics
expert
2:00remaining
Which metric best evaluates the naturalness of synthesized speech in TTS systems?

When assessing how natural synthesized speech sounds, which metric is most appropriate?

AMean Opinion Score (MOS) from human listeners
BWord Error Rate (WER) from speech recognition on synthesized audio
CBLEU score comparing synthesized text to reference text
DMean Squared Error (MSE) between predicted and target spectrograms
Attempts:
2 left
💡 Hint

Naturalness is subjective and often measured by human judgment.

Practice

(1/5)
1. What is the main purpose of text-to-speech (TTS) technology?
easy
A. To summarize long documents automatically
B. To translate text from one language to another
C. To detect emotions in spoken language
D. To convert written text into spoken audio

Solution

  1. Step 1: Understand the function of TTS

    Text-to-speech technology changes written words into sound that can be heard.
  2. Step 2: Compare options with TTS purpose

    Only To convert written text into spoken audio describes converting text to speech, which matches TTS.
  3. Final Answer:

    To convert written text into spoken audio -> Option D
  4. Quick Check:

    TTS = convert text to speech [OK]
Hint: Remember TTS means text becomes speech [OK]
Common Mistakes:
  • Confusing TTS with translation
  • Thinking TTS summarizes text
  • Mixing TTS with emotion detection
2. Which Python library is commonly used for simple text-to-speech conversion?
easy
A. Pandas
B. gTTS
C. Matplotlib
D. NumPy

Solution

  1. Step 1: Identify libraries related to TTS

    gTTS is a Python library designed for text-to-speech conversion.
  2. Step 2: Eliminate unrelated libraries

    NumPy, Matplotlib, and Pandas are for math, plotting, and data, not TTS.
  3. Final Answer:

    gTTS -> Option B
  4. Quick Check:

    gTTS = text-to-speech library [OK]
Hint: gTTS stands for Google Text-to-Speech [OK]
Common Mistakes:
  • Choosing data or plotting libraries by mistake
  • Confusing gTTS with general Python packages
  • Assuming TTS needs complex libraries always
3. What will the following Python code output?
from gtts import gTTS
text = 'Hello world'
tts = gTTS(text)
tts.save('hello.mp3')
print('Audio saved')
medium
A. An audio file named 'hello.mp3' is created and 'Audio saved' is printed
B. The text 'Hello world' is printed on screen
C. A syntax error occurs due to missing language parameter
D. Nothing happens because gTTS requires internet connection

Solution

  1. Step 1: Analyze the code steps

    The code imports gTTS, creates speech from 'Hello world', saves it as 'hello.mp3', then prints a message.
  2. Step 2: Check for errors or missing parts

    gTTS defaults to English if no language is given, so no syntax error occurs. Internet is needed but code runs assuming connection.
  3. Final Answer:

    An audio file named 'hello.mp3' is created and 'Audio saved' is printed -> Option A
  4. Quick Check:

    Code saves audio and prints message [OK]
Hint: gTTS saves audio file and prints confirmation [OK]
Common Mistakes:
  • Thinking language parameter is mandatory
  • Assuming print outputs the text spoken
  • Ignoring that gTTS needs internet but code runs
4. Identify the error in this text-to-speech code snippet:
from gtts import gTTS
tts = gTTS('Hello')
tts.save()
medium
A. Missing filename argument in save() method
B. gTTS requires language parameter in constructor
C. Text argument should be a list, not a string
D. gTTS cannot be imported directly

Solution

  1. Step 1: Check gTTS usage

    gTTS constructor accepts text string; language is optional. So no error there.
  2. Step 2: Check save() method

    save() requires a filename string argument to save the audio file. Missing argument causes error.
  3. Final Answer:

    Missing filename argument in save() method -> Option A
  4. Quick Check:

    save() needs filename [OK]
Hint: save() always needs a filename string [OK]
Common Mistakes:
  • Assuming language is always required
  • Thinking text must be a list
  • Believing import statement is wrong
5. You want to create a text-to-speech system that can speak multiple languages based on user input. Which approach is best?
hard
A. Use gTTS without language parameter and rely on default English
B. Manually translate text first, then use gTTS with fixed language
C. Use gTTS with a dynamic language parameter set from user input
D. Use a single pre-recorded audio file for all languages

Solution

  1. Step 1: Understand multilingual TTS needs

    The system must speak different languages based on user choice, so language must be flexible.
  2. Step 2: Evaluate options for language flexibility

    Use gTTS with a dynamic language parameter set from user input sets language dynamically in gTTS, allowing correct speech for each language. Others fix language or use static audio, which won't adapt.
  3. Final Answer:

    Use gTTS with a dynamic language parameter set from user input -> Option C
  4. Quick Check:

    Dynamic language parameter enables multilingual TTS [OK]
Hint: Set language parameter dynamically for multilingual speech [OK]
Common Mistakes:
  • Ignoring language parameter flexibility
  • Assuming default English works for all
  • Using static audio files for dynamic text