|
|
|
@@ -13,9 +13,15 @@ from examples import custom_style_2
|
|
|
|
|
import os
|
|
|
|
|
from text_to_speech import text_to_speech, resample
|
|
|
|
|
from translator import llm_translator
|
|
|
|
|
from backend_controller.broadcaster_config import broadcaster_config
|
|
|
|
|
from backend_controller.broadcaster_play_once import broadcaster_play_file
|
|
|
|
|
from backend_controller.broadcaster_copy_files import copy_to_broadcaster
|
|
|
|
|
|
|
|
|
|
from encode import encode_lc3
|
|
|
|
|
import shutil
|
|
|
|
|
|
|
|
|
|
ANNOUNCEMENT_DIR = os.path.join(os.path.dirname(__file__), 'announcements')
|
|
|
|
|
|
|
|
|
|
os.makedirs(ANNOUNCEMENT_DIR, exist_ok=True)
|
|
|
|
|
|
|
|
|
|
def synthesize_resample_encode(text, tts_model, output_file):
|
|
|
|
@@ -25,16 +31,37 @@ def synthesize_resample_encode(text, tts_model, output_file):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def announcement_from_german_text(text_de):
|
|
|
|
|
synthesize_resample_encode(text_de, 'de_DE-kerstin-low', f'{ANNOUNCEMENT_DIR}/announcement_de.wav')
|
|
|
|
|
|
|
|
|
|
files = {
|
|
|
|
|
"de": f"{ANNOUNCEMENT_DIR}/announcement_de",
|
|
|
|
|
"en": f"{ANNOUNCEMENT_DIR}/announcement_en",
|
|
|
|
|
"fr": f"{ANNOUNCEMENT_DIR}/announcement_fr",
|
|
|
|
|
"es": f"{ANNOUNCEMENT_DIR}/announcement_es",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
synthesize_resample_encode(text_de, 'de_DE-kerstin-low', f'{files['de']}.wav')
|
|
|
|
|
|
|
|
|
|
text_en = llm_translator.translator_de_en(text_de)
|
|
|
|
|
synthesize_resample_encode(text_en, 'en_US-lessac-medium', f'{ANNOUNCEMENT_DIR}/announcement_en.wav')
|
|
|
|
|
synthesize_resample_encode(text_en, 'en_US-lessac-medium', f'{files['en']}.wav')
|
|
|
|
|
|
|
|
|
|
text_fr = llm_translator.translator_de_fr(text_de)
|
|
|
|
|
synthesize_resample_encode(text_fr, 'fr_FR-siwis-medium', f'{ANNOUNCEMENT_DIR}/announcement_fr.wav')
|
|
|
|
|
synthesize_resample_encode(text_fr, 'fr_FR-siwis-medium', f'{files['fr']}.wav')
|
|
|
|
|
|
|
|
|
|
text_fr = llm_translator.translator_de_es(text_de)
|
|
|
|
|
synthesize_resample_encode(text_fr, 'es_ES-sharvard-medium', f'{ANNOUNCEMENT_DIR}/announcement_fr.wav')
|
|
|
|
|
text_es = llm_translator.translator_de_es(text_de)
|
|
|
|
|
synthesize_resample_encode(text_es, 'es_ES-sharvard-medium', f'{files['es']}.wav')
|
|
|
|
|
|
|
|
|
|
# Transfer the files to broadcaster memory
|
|
|
|
|
start = time.time()
|
|
|
|
|
for val in files.values():
|
|
|
|
|
copy_to_broadcaster(f'{ANNOUNCEMENT_DIR}/{val}.lc3')
|
|
|
|
|
log.info("Transfering files to broadcaster took %s s", round(time.time() - start, 3))
|
|
|
|
|
|
|
|
|
|
# Instruct the broadcaster to stream the files
|
|
|
|
|
for val in files.values():
|
|
|
|
|
time.sleep(1)
|
|
|
|
|
broadcaster_play_file(f'{val}.lc3')
|
|
|
|
|
log.info("Starting all broadcasts %s s", round(time.time() - start, 3))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# questions = [
|
|
|
|
|
# {
|
|
|
|
@@ -59,5 +86,7 @@ if __name__ == '__main__':
|
|
|
|
|
log.basicConfig(level=log.INFO)
|
|
|
|
|
|
|
|
|
|
start= time.time()
|
|
|
|
|
broadcaster_config()
|
|
|
|
|
|
|
|
|
|
announcement_from_german_text(test_content.TESTSENTENCE_DE_RAINBOW)
|
|
|
|
|
print("Generating the announcement took", time.time() - start)
|
|
|
|
|
print("Generating and starting the announcement took", time.time() - start)
|