promotional bannermobile promotional banner
premium banner
[WIP] TTS from SCP:Secret Lab (aka C.A.S.S.I.E)

Description

This project is being merged with More SCP Alarm. Therefore, no updates will be done on this page.

1. Available Commands

/cassie <text>

  • Plays a voice message in standard mode.
  • Forbids the use of words starting with "bg_" (reserved for background sounds).
  • Uses an estimated reading time to adjust a background sound before playing the message.

/cassiesl <text>

  • Plays a voice message in special (sl) mode, this mode dissable the background sound effect
  • Unlike /cassie, this mode allows the use of "bg_" words.

/cassiestop

  • Immediately stops the current voice playback.
  • Resets the playback state (isCassiePlaying), allowing a new message to be played without waiting for the previous one to finish.

2. Main Features

Voice Message Playback Management

  • Splits the text into words and plays them one by one as Minecraft sounds.
  • Loads a JSON file containing the estimated duration of each word.
  • Calculates the total estimated reading time of the message.
  • Adds delays between words based on their estimated duration.

Background Sound Management

  • In "cassie" mode, the script plays a background sound before reading the message.
  • The background sound is dynamically selected based on the estimated total message duration.

Playback Control

  • Prevents a new announcement from starting while another is already playing.
  • Displays logs in the console to track execution status.

Interruption System (/cassiestop)

  • Introduces a dedicated thread for message playback.
  • Allows stopping the playback at any moment, useful for canceling incorrect or unnecessary messages.

3. Security and Limitations

  •  ❗ Only players can execute the commands (For now...).
  • The "bg_" keyword is forbidden in /cassie but allowed in /cassiesl.
  • Logs are displayed in the console to assist debugging.
  • Prevention of excessive duration: The adjusted message duration is limited between 4 and 40 seconds.