From 4dca1f698e275c2f18d240a30facdce41438f3be Mon Sep 17 00:00:00 2001 From: Abdul-Kadir Coskun Date: Mon, 12 Dec 2022 23:15:50 +1100 Subject: [PATCH] Ditto --- requirements.txt | 1 + utils/.config.template.toml | 1 + utils/voice.py | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/requirements.txt b/requirements.txt index e3d4336..295a445 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,3 +14,4 @@ pyttsx3==2.90 Pillow~=9.3.0 tomlkit==0.11.4 Flask==2.2.2 +clean-text==0.6.0 \ No newline at end of file diff --git a/utils/.config.template.toml b/utils/.config.template.toml index ee1abe5..baa9c32 100644 --- a/utils/.config.template.toml +++ b/utils/.config.template.toml @@ -38,3 +38,4 @@ tiktok_voice = { optional = false, default = "en_us_006", example = "en_us_006", python_voice = { optional = false, default = "1", example = "1", explanation = "The index of the system tts voices (can be downloaded externally, run ptt.py to find value, start from zero)" } py_voice_num = { optional = false, default = "2", example = "2", explanation = "The number of system voices (2 are pre-installed in Windows)" } silence_duration = { optional = true, example = "0.1", explanation = "Time in seconds between TTS comments", default = 0.3, type = "float" } +no_emojis = { optional = false, type = "bool", default = false, example = false, options = [true, false,], explanation = "Whether to remove emojis from the comments" } \ No newline at end of file diff --git a/utils/voice.py b/utils/voice.py index 0ff6b37..2e14e54 100644 --- a/utils/voice.py +++ b/utils/voice.py @@ -6,6 +6,9 @@ from time import sleep from requests import Response +from utils import settings +from cleantext import clean + if sys.version_info[0] >= 3: from datetime import timezone @@ -84,5 +87,10 @@ def sanitize_text(text: str) -> str: regex_expr = r"\s['|’]|['|’]\s|[\^_~@!&;#:\-%—“”‘\"%\*/{}\[\]\(\)\\|<>=+]" result = re.sub(regex_expr, " ", result) result = result.replace("+", "plus").replace("&", "and") + + # emoji removal if the setting is enabled + if settings.config["settings"]["tts"]["no_emojis"]: + result = clean(result, no_emoji=True) + # remove extra whitespace return " ".join(result.split())