replace tiro tts service with grammatek
Browse files- scripts/tapi.py +36 -0
scripts/tapi.py
CHANGED
@@ -11,6 +11,7 @@ def tiro(text,voice,save='./',tiroalign = False):
|
|
11 |
# endpoint working 2023
|
12 |
url = 'https://tts.tiro.is/v0/speech'
|
13 |
headers = {'Content-Type': 'application/json'}
|
|
|
14 |
|
15 |
|
16 |
# synthesis
|
@@ -60,4 +61,39 @@ def tiro(text,voice,save='./',tiroalign = False):
|
|
60 |
return os.path.abspath(wname)
|
61 |
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
|
|
11 |
# endpoint working 2023
|
12 |
url = 'https://tts.tiro.is/v0/speech'
|
13 |
headers = {'Content-Type': 'application/json'}
|
14 |
+
# NOT working as of 07.2025
|
15 |
|
16 |
|
17 |
# synthesis
|
|
|
61 |
return os.path.abspath(wname)
|
62 |
|
63 |
|
64 |
+
def grammatek(text,voice,save='./',UNUSED = False):
|
65 |
+
|
66 |
+
# endpoint working 2025
|
67 |
+
url = 'https://api.grammatek.com/tts/v0/speech'
|
68 |
+
headers = {'Content-Type': 'application/json',
|
69 |
+
'Accept': 'audio/mpeg,audio/x-wav,audio/ogg'}
|
70 |
+
|
71 |
+
|
72 |
+
# synthesis
|
73 |
+
payload_tts = {
|
74 |
+
"Engine": "standard",
|
75 |
+
"LanguageCode": "is-IS",
|
76 |
+
"LexiconNames": [],
|
77 |
+
"OutputFormat": "pcm",
|
78 |
+
"SampleRate":"16000",
|
79 |
+
"SpeechMarkTypes": [
|
80 |
+
"word"
|
81 |
+
],
|
82 |
+
"Text": text,
|
83 |
+
"TextType": "text",
|
84 |
+
"VoiceId": voice
|
85 |
+
}
|
86 |
+
|
87 |
+
wname = save+voice+'.wav'
|
88 |
+
tts_data = requests.post(url, headers=headers, json=payload_tts, verify=False)
|
89 |
+
|
90 |
+
with wave.open(wname,'wb') as f:
|
91 |
+
f.setnchannels(1)
|
92 |
+
f.setframerate(16000)
|
93 |
+
f.setsampwidth(2)
|
94 |
+
f.writeframes(tts_data.content)
|
95 |
+
|
96 |
+
|
97 |
+
#return(os.path.abspath(wname),os.path.abspath(aname))
|
98 |
+
return os.path.abspath(wname)
|
99 |
|