added working opentts integration
This commit is contained in:
parent
217f6d881c
commit
59029f8398
@ -1,15 +1,38 @@
|
|||||||
import os
|
import requests
|
||||||
|
from requests.structures import CaseInsensitiveDict
|
||||||
|
|
||||||
from jarvis.utils import config_utils
|
from jarvis.utils import config_utils
|
||||||
|
|
||||||
|
|
||||||
def speak(sentence, quality=config_utils.get_in_config("LARYNX_QUALITY")):
|
def speak(sentence, client_ip, client_port):
|
||||||
voice = config_utils.get_in_config("LARYNX_VOICE")
|
raw_audio_bytes = get_audio_from_sentence(sentence)
|
||||||
denoiserstrength = config_utils.get_in_config("LARYNX_DENOISER_STRENGTH")
|
play_audio_on_client(raw_audio_bytes, client_ip, client_port)
|
||||||
|
|
||||||
os.system(
|
|
||||||
"larynx \"" + sentence + "\" --voice " + voice + " --quality " + quality +
|
def get_audio_from_sentence(sentence):
|
||||||
# " --output-dir wav " +
|
voice = config_utils.get_in_config("TTS_VOICE")
|
||||||
" --interactive " +
|
|
||||||
"--denoiser-strength " + str(denoiserstrength) +
|
headers = {'accept': '*/*'}
|
||||||
" --output-naming time")
|
|
||||||
|
params = (
|
||||||
|
('voice', voice),
|
||||||
|
('text', sentence),
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO : add support for external opentts server
|
||||||
|
response = requests.get('http://localhost:5500/api/tts', headers=headers, params=params)
|
||||||
|
return response.content
|
||||||
|
|
||||||
|
|
||||||
|
def play_audio_on_client(raw_audio_bytes, client_ip, client_port):
|
||||||
|
url_service = "http://" + client_ip + ":" + client_port + "/play_raw_audio"
|
||||||
|
|
||||||
|
headers = CaseInsensitiveDict()
|
||||||
|
headers["Content-Type"] = "text/xml; charset=utf8"
|
||||||
|
# headers["Authorization"] = config_utils.get_in_config("API_KEY")
|
||||||
|
|
||||||
|
response = requests.post(url_service,
|
||||||
|
headers=headers,
|
||||||
|
data=raw_audio_bytes)
|
||||||
|
|
||||||
|
print(response.content)
|
||||||
|
Reference in New Issue
Block a user