Skip to content

PARALLACTION: Add text-to-speech (TTS)#6795

Merged
sev- merged 1 commit intoscummvm:masterfrom
ellm135:parallaction-tts
Jul 21, 2025
Merged

PARALLACTION: Add text-to-speech (TTS)#6795
sev- merged 1 commit intoscummvm:masterfrom
ellm135:parallaction-tts

Conversation

@ellm135
Copy link
Contributor

@ellm135 ellm135 commented Jul 5, 2025

Adds a toggle for text-to-speech to the game options.
Adds text-to-speech for the following:

  • Opening and end credits
  • Slides
  • Objects when hovered over
  • Dialogue and dialogue options
  • Location comments

Currently only tested with Nippon Safes, Inc.
The following hardcoded translations need verification:

  • Opening credits, mouse click prompts, and intro messages in Italian, French, and German
  • End credits in French and German (English translation may also need to be checked for mistranslations from the original text, which is in Italian)

@bluegr bluegr added the GSoC Part of a Google Summer of Code project label Jul 5, 2025
Copy link
Member

@sev- sev- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added my notes

"Der Pachinko-Spieler"
};

static const int kNumberOfCredits = 39;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
static const int kNumberOfCredits = 39;
static const int kNumberOfCredits = ARRAYSIZE(endCreditsItalian);

bool male;
};

static const CharacterVoiceData characterVoiceDatas[] = {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrap it into #ifdef USE_TTS?


namespace Parallaction {

static const char *openingCreditsFirstLine[] = {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also, wrap it into #ifdef USE_TTS please

charName = "Donna Fatale";
break;
case kDino:
charName = "Dino Fagioli";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add the missing break here - just in case anyone is adding a new case

creditsTexts = germanCredits;
break;
default:
creditsTexts = englishCredits;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add the missing break here, too - just in case

};

struct CharacterVoiceData {
Common::String characterName;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe use a const char * here to reduce the size of the struct as the Common::String has some internal storage that might add empty bytes and wastes memory.

also the voiceID could be uint8

@ellm135 ellm135 force-pushed the parallaction-tts branch from f3ae275 to d8936ba Compare July 11, 2025 21:31
@sev-
Copy link
Member

sev- commented Jul 21, 2025

Thank you!

@sev- sev- merged commit 8b8d723 into scummvm:master Jul 21, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GSoC Part of a Google Summer of Code project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants