Implement a basic demonstration

This commit is contained in:
2024-12-17 10:03:22 +01:00
parent a20d4bf6b9
commit 8ab799f2c5
3 changed files with 21 additions and 16 deletions

View File

@@ -1,6 +1,6 @@
import serial
import time
import logging as log
def write_to_serial_read_respone(port, cmd, timeout = 2):
# Initialize serial connection
@@ -84,10 +84,10 @@ def broadcaster_config():
for cmd in cmds:
ret = write_to_serial_read_respone(serial_port, cmd, timeout=0.1)
print("\n".join(ret))
log.info("\n".join(ret))
ret = write_to_serial_read_respone(serial_port, "nac show", timeout=0.1)
print("\n".join(ret))
log.info("\n".join(ret))

View File

@@ -21,6 +21,7 @@ from encode import encode_lc3
import shutil
ANNOUNCEMENT_DIR = os.path.join(os.path.dirname(__file__), 'announcements')
N_MAX_BIS = 2
os.makedirs(ANNOUNCEMENT_DIR, exist_ok=True)
@@ -35,31 +36,35 @@ def announcement_from_german_text(text_de):
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",
# "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')
file = files['de']
synthesize_resample_encode(text_de, 'de_DE-kerstin-low', f'{file}.wav')
text_en = llm_translator.translator_de_en(text_de)
synthesize_resample_encode(text_en, 'en_US-lessac-medium', f'{files['en']}.wav')
file = files['en']
synthesize_resample_encode(text_en, 'en_US-lessac-medium', f'{file}.wav')
text_fr = llm_translator.translator_de_fr(text_de)
synthesize_resample_encode(text_fr, 'fr_FR-siwis-medium', f'{files['fr']}.wav')
# text_fr = llm_translator.translator_de_fr(text_de)
# file = files['fr']
# synthesize_resample_encode(text_fr, 'fr_FR-siwis-medium', f'{file}.wav')
text_es = llm_translator.translator_de_es(text_de)
synthesize_resample_encode(text_es, 'es_ES-sharvard-medium', f'{files['es']}.wav')
# text_es = llm_translator.translator_de_es(text_de)
# file = files['es']
# synthesize_resample_encode(text_es, 'es_ES-sharvard-medium', f'{file}.wav')
# Transfer the files to broadcaster memory
start = time.time()
for val in files.values():
copy_to_broadcaster(f'{ANNOUNCEMENT_DIR}/{val}.lc3')
copy_to_broadcaster(f'{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():
for i, val in enumerate(list(files.values())[:N_MAX_BIS]):
time.sleep(1)
broadcaster_play_file(f'{val}.lc3')
broadcaster_play_file(i, f'{os.path.basename(val)}.lc3')
log.info("Starting all broadcasts %s s", round(time.time() - start, 3))
@@ -86,7 +91,7 @@ if __name__ == '__main__':
log.basicConfig(level=log.INFO)
start= time.time()
broadcaster_config()
#broadcaster_config()
announcement_from_german_text(test_content.TESTSENTENCE_DE_RAINBOW)
print("Generating and starting the announcement took", time.time() - start)

View File

@@ -11,7 +11,7 @@ def test_copy_to_broadcaster():
log.info("Current working directory is: " + os.getcwd())
start = time.time()
copy_to_broadcaster('./tests/announcement_de.lc3')
log.info(f"Copy to broadcaster took {time.time() - start} seconds")
log.info(f"Copy to broadcaster took {round(time.time() - start, 3)} seconds")
def test_config_broadcaster():
broadcaster_config()