Kollektív AudioTábla Információs Elemekből
Kollektive Audio Table of Informational Elements
A phrase-based concatenating speech synthesis program.
Detects the longest phrase possible (by iterating through words) and plays the audio clips one by one.
Tip
See also: usage
This project has a number of open-source dependencies. See Attributions
I wanted to replace the announcer "C.A.S.S.I.E." in SCP: Secret Laboratory with the MÁV (Hungarian State Railways) announcer's voice (Mátyus Katalin, hence the name of the project)..
At this time I don't have the rights to use Kati's voice, so the app requires audio samples from other sources.
Important
The app is not compatible with portrait screens.
Make sure your device/display is in a landscape (wide) orientation.
Currently, the app only supports s wav files.
The web app is available here
It has some limitations, most notably performance-wise.
A sample phrase pack is available:
- Download the zip from here
- Go into the app's
Cachetab - Click
Load From Archive - Select the file, and wait for it to load
Caution
Leaving the page will discard any phrases/signals that were not cached.
Click Cache Everything to make sure they'll be restored in later sessions.
Note
If the app crashes, it does so silently. When the UI becomes unresponsive, give it a few seconds (it might be processing your request). After multiple seconds of unresponsiveness, reload the page.e.
- Make sure you have .NET Desktop Runtime 10 installed
- Download the platform-specific archive from the releases page
- Extract the
bin/Katie.UI.Desktop(.exe on Windows) file - Run the executable
- You'll probably need to
chmod +xit on Linux
- You'll probably need to
Tip
See also: desktop usage
Note
This part of the setup guide is for SCP: Secret Laboratory servers. Check out this guide on how to set up an SCP:SL server..
- Install SecretLabNAudio
- Download the following files from the releases page:
Katie.Core.dllKatie.NAudio.dll
- Download and extract Harmony 2.2.2
- Download the
Harmony.2.2.2.0.zipasset - Extract the
net48/0Harmony.dllfile from the archive
- Download the
- Place the downloaded files in the dependencies directory
- Linux:
.config/SCP Secret Laboratory/LabAPI/dependencies//t>/ - Windows:
%appdata%/SCP Secret Laboratory/LabAPI/dependencies//t>/
- Linux:
- Download the
Katie.SecretLab.dllfile from the releases page - Place the file in the plugins directory
- Linux:
.config/SCP Secret Laboratory/LabAPI/plugins//t>/ - Windows:
%appdata%/SCP Secret Laboratory/LabAPI/plugins//t>/
- Linux:
- Restart the server
- Configure phrases
- Restart the server again
The configuration root directory is:
- Linux:
.config/SCP Secret Laboratory/LabAPI/config//K.A.T.I.E. TTSE. TTS - Windows:
%appdata%/SCP Secret Laboratory/LabAPI/dependencies//K.A.T.I.E. TTSE. TTS
The config.yml file contains some properties:
- Enabling
ReplaceCassiewill override base-game announcements to be spoken by K.A.T.I.E. (not fully supported yet) DefaultLanguagesets the language of replaced announcementsDefaultSignalsets the signal to be played before replaced announcements
Place phrases in Phrases subdirectories (Hungarian English Global).
To assign aliases, create an aliases.txt file in the language subdirectory.
Aliases are defined on every line like so: alias = original (spaces are trimmed).
Place signals in the Signals directory.
Tip
The full installation of SecretLabNAudio allows for mp3 and ogg files to be read as well.
If only the Core is installed, reading is limited to wav files.
Neither sample rate nor channel count matter, regardless of file format..
The C.A.S.S.I.E. Remote Admin GUI supports announcing with K.A.T.I.E., even if ReplaceCassie is set to false.
Examples::
- Announcement:
[Hungarian]
Custom subtitles:Az 1. vágányra szerelvény érkezik. - Announcement:
[English] [EC]
Custom subtitles:cassie_sl EuroCity train Semmelweis is arriving at platform two.
The language must be specified first, which may be followed by an optional signal.
Note
If an announcement is played with a signal, background noise will be disabled.
Tip
See also: usage
For Unity projects (where you have access to the editor), download the
Katie.Core.dll and Katie.Unity.dll files, and place them in the Assets/Plugins directory.
Then, you can create scriptable objects: PhrasePack and Signal
Use the QueuePlayer script and the QueuePlayerExtensions.EnqueueAnnouncement
extension method to play announcements through an AudioSource
Important
Currently, the app only supports wav files.
To automatically load phrases and signals, create directories in the same folder the executable is in.
Place phrases in Phrases subdirectories (Hungarian English Global).
Place signals in the Signals directory.
Caching will only load phrases into memory, it won't save them to any "special" folder.
First, add phrases to be loaded, or load them at runtime if using the app.
Global phrases will be considered when parsing either language.
Phrase names are case-insensitive, however, spaces and dashes must be taken into account.
The file name is used to set phrase text, however, you can define aliases in the app by clicking
the ✏ or r Alias button.
Examples:
passenger train- validpassenger train- invalid (two consecutive spaces)Budapest-Keleti- will matchBudapest-Keletibut notBudapest KeletinorBudapest -Keleti
The parser steps word-by-word (delimited by spaces or . or , or ? or !)
and tries to add a known phrase with the longest joined text..
If a word doesn't map to any known phrase, it will be replaced with silence.
Numbers 0-9999 can be parsed, suffixes are supported.
Phrases must be loaded as follows:
- 0-9 digits separately like
egykettőhárom - Ordinal digits separately like
elsőmásodikharmadik - Tens like
tízhúszharminc - Tenths like
tizenhuszonharminc(must be separated from the ones) - Hundred as
száz - Thousand as
ezer óraandpercliterals for time parsing
Numbers 0-999 can be parsed, suffixes are not supported. Numbers above 1000 are parsed per digit as ones..
Phrases must be loaded as follows:
- 0-9 digits separately like
onetwothree - Ordinal digits separately like
firstsecondthird - Tens like
tentwentythirty - Tenths like
eleventwelvethirteen(must be separated from the ones) - Hundred as
hundred o'clockliteral for time parsing
The is hh:mm for time phrases.
The leading zero is trimmed, suffixes are supported.
07:50maps tohétóraötvenperc12:00-kormaps totizenkétórakor
Suffixes are not supported.
07:50maps toohsevenfifty12:00maps totwelveo'clock