cloudlanguagetools 11.3.1__tar.gz → 11.3.3__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/PKG-INFO +2 -1
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/forvo.py +12 -4
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/google.py +40 -31
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/PKG-INFO +2 -1
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/SOURCES.txt +9 -1
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/setup.py +1 -1
- cloudlanguagetools-11.3.3/tests/test_audio.py +611 -0
- cloudlanguagetools-11.3.3/tests/test_breakdown.py +377 -0
- cloudlanguagetools-11.3.3/tests/test_chatapi.py +214 -0
- cloudlanguagetools-11.3.3/tests/test_dictionary_lookup.py +202 -0
- cloudlanguagetools-11.3.3/tests/test_llm.py +66 -0
- cloudlanguagetools-11.3.3/tests/test_mock_services.py +106 -0
- cloudlanguagetools-11.3.3/tests/test_servicemanager.py +48 -0
- cloudlanguagetools-11.3.3/tests/test_translation.py +586 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/LICENSE +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/README.rst +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/__init__.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/amazon.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/argostranslate.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/azure.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/cereproc.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/chatapi.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/constants.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/deepl.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/dictionarylookup.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/easypronunciation.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/elevenlabs.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/encryption.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/epitran.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/errors.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/fptai.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/keys.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/languages.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/libretranslate.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/mandarincantonese.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/naver.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/openai.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/options.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/pythainlp.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/service.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/servicemanager.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/spacy.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/test_services.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/tokenization.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/translationlanguage.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/transliterationlanguage.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/ttsvoice.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/vocalware.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/voicen.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/watson.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools/wenlin.py +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/dependency_links.txt +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/requires.txt +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/top_level.txt +0 -0
- {cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: cloudlanguagetools
|
3
|
-
Version: 11.3.
|
3
|
+
Version: 11.3.3
|
4
4
|
Summary: Interface with various cloud APIs for language processing such as translation, text to speech
|
5
5
|
Home-page: https://github.com/Language-Tools/cloud-language-tools-core
|
6
6
|
Author: Luc
|
@@ -9,6 +9,7 @@ License: GPL
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
10
10
|
Classifier: Topic :: Text Processing :: Linguistic
|
11
11
|
License-File: LICENSE
|
12
|
+
Requires-Dist: clt_requirements>=1.7
|
12
13
|
|
13
14
|
# cloud-language-tools
|
14
15
|
Interface with various cloud APIs for translation, text to speech
|
@@ -170,8 +170,9 @@ class ForvoService(cloudlanguagetools.service.Service):
|
|
170
170
|
cloudlanguagetools.languages.AudioLanguage.ta_SG: 'SGP',
|
171
171
|
cloudlanguagetools.languages.AudioLanguage.ta_MY: 'MYS',
|
172
172
|
|
173
|
-
|
174
|
-
|
173
|
+
# portuguese
|
174
|
+
cloudlanguagetools.languages.AudioLanguage.pt_PT: 'PRT',
|
175
|
+
cloudlanguagetools.languages.AudioLanguage.pt_BR: 'BRA',
|
175
176
|
|
176
177
|
# arabic
|
177
178
|
cloudlanguagetools.languages.AudioLanguage.ar_AE: 'ARE',
|
@@ -251,7 +252,14 @@ class ForvoService(cloudlanguagetools.service.Service):
|
|
251
252
|
|
252
253
|
logger.debug(f'processing language_enum {language_enum}')
|
253
254
|
audio_language_list = self.audio_language_map[language_enum]
|
254
|
-
|
255
|
+
|
256
|
+
# special handling for portugese. we need to add both countries manually.
|
257
|
+
if language_enum == cloudlanguagetools.languages.Language.pt_pt:
|
258
|
+
audio_language_list = [
|
259
|
+
cloudlanguagetools.languages.AudioLanguage.pt_PT,
|
260
|
+
cloudlanguagetools.languages.AudioLanguage.pt_BR
|
261
|
+
]
|
262
|
+
|
255
263
|
voices = []
|
256
264
|
|
257
265
|
for gender in cloudlanguagetools.constants.Gender:
|
@@ -296,7 +304,7 @@ class ForvoService(cloudlanguagetools.service.Service):
|
|
296
304
|
language_voice_list = self.get_voices_for_language_entry(language)
|
297
305
|
voice_list.extend(language_voice_list)
|
298
306
|
|
299
|
-
|
307
|
+
pprint.pprint(data)
|
300
308
|
else:
|
301
309
|
print(response.content)
|
302
310
|
|
@@ -13,6 +13,9 @@ import cloudlanguagetools.languages
|
|
13
13
|
|
14
14
|
logger = logging.getLogger(__name__)
|
15
15
|
|
16
|
+
# updates on google text to speech:
|
17
|
+
# https://cloud.google.com/text-to-speech/docs/release-notes
|
18
|
+
|
16
19
|
def language_code_to_enum(language_code):
|
17
20
|
override_map = {
|
18
21
|
'cmn-TW': cloudlanguagetools.languages.AudioLanguage.zh_TW,
|
@@ -86,6 +89,7 @@ def get_translation_language_enum(language_id):
|
|
86
89
|
'or': 'or_',
|
87
90
|
'pt': 'pt_br',
|
88
91
|
'pt-pt': 'pt_pt',
|
92
|
+
'pt-PT': 'pt_pt',
|
89
93
|
'sr': 'sr_cyrl',
|
90
94
|
'sr-Cyrl': 'sr_cyrl',
|
91
95
|
'sr-Latn': 'sr_latn',
|
@@ -145,36 +149,41 @@ class GoogleService(cloudlanguagetools.service.Service):
|
|
145
149
|
cloudlanguagetools.options.AudioFormat.ogg_opus: google.cloud.texttospeech.AudioEncoding.OGG_OPUS
|
146
150
|
}
|
147
151
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
152
|
+
try:
|
153
|
+
client = self.get_client()
|
154
|
+
|
155
|
+
ssml_text = '<speak>' + text + '</speak>'
|
156
|
+
input_text = google.cloud.texttospeech.SynthesisInput(ssml=ssml_text)
|
157
|
+
|
158
|
+
# Note: the voice can also be specified by name.
|
159
|
+
# Names of voices can be retrieved with client.list_voices().
|
160
|
+
voice = google.cloud.texttospeech.VoiceSelectionParams(
|
161
|
+
name=voice_key['name'],
|
162
|
+
language_code=voice_key['language_code'],
|
163
|
+
ssml_gender=google.cloud.texttospeech.SsmlVoiceGender[voice_key['ssml_gender']]
|
164
|
+
)
|
165
|
+
|
166
|
+
audio_config = google.cloud.texttospeech.AudioConfig(
|
167
|
+
audio_encoding=audio_format_map[audio_format],
|
168
|
+
speaking_rate=options.get('speaking_rate', 1.0),
|
169
|
+
pitch=options.get('pitch', 0.0)
|
170
|
+
)
|
171
|
+
|
172
|
+
response = client.synthesize_speech(
|
173
|
+
request={"input": input_text, "voice": voice, "audio_config": audio_config}
|
174
|
+
)
|
175
|
+
|
176
|
+
# The response's audio_content is binary.
|
177
|
+
output_temp_file = tempfile.NamedTemporaryFile()
|
178
|
+
output_temp_filename = output_temp_file.name
|
179
|
+
with open(output_temp_filename, "wb") as out:
|
180
|
+
out.write(response.audio_content)
|
181
|
+
|
182
|
+
return output_temp_file
|
183
|
+
except google.api_core.exceptions.BadRequest as bad_request_exception:
|
184
|
+
logger.exception(bad_request_exception)
|
185
|
+
error_message = f'Could not generate audio: {str(bad_request_exception)}'
|
186
|
+
raise cloudlanguagetools.errors.RequestError(error_message)
|
178
187
|
|
179
188
|
|
180
189
|
def get_tts_voice_list(self):
|
@@ -201,7 +210,7 @@ class GoogleService(cloudlanguagetools.service.Service):
|
|
201
210
|
translation_language = GoogleTranslationLanguage(entry['language'])
|
202
211
|
result_dict[translation_language.get_language_code()] = translation_language
|
203
212
|
except KeyError:
|
204
|
-
logging.
|
213
|
+
logging.warning(f'could not process translation language for {entry}', exc_info=True)
|
205
214
|
return result_dict.values()
|
206
215
|
|
207
216
|
def get_transliteration_language_list(self):
|
{cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: cloudlanguagetools
|
3
|
-
Version: 11.3.
|
3
|
+
Version: 11.3.3
|
4
4
|
Summary: Interface with various cloud APIs for language processing such as translation, text to speech
|
5
5
|
Home-page: https://github.com/Language-Tools/cloud-language-tools-core
|
6
6
|
Author: Luc
|
@@ -9,6 +9,7 @@ License: GPL
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
10
10
|
Classifier: Topic :: Text Processing :: Linguistic
|
11
11
|
License-File: LICENSE
|
12
|
+
Requires-Dist: clt_requirements>=1.7
|
12
13
|
|
13
14
|
# cloud-language-tools
|
14
15
|
Interface with various cloud APIs for translation, text to speech
|
{cloudlanguagetools-11.3.1 → cloudlanguagetools-11.3.3}/cloudlanguagetools.egg-info/SOURCES.txt
RENAMED
@@ -42,4 +42,12 @@ cloudlanguagetools.egg-info/PKG-INFO
|
|
42
42
|
cloudlanguagetools.egg-info/SOURCES.txt
|
43
43
|
cloudlanguagetools.egg-info/dependency_links.txt
|
44
44
|
cloudlanguagetools.egg-info/requires.txt
|
45
|
-
cloudlanguagetools.egg-info/top_level.txt
|
45
|
+
cloudlanguagetools.egg-info/top_level.txt
|
46
|
+
tests/test_audio.py
|
47
|
+
tests/test_breakdown.py
|
48
|
+
tests/test_chatapi.py
|
49
|
+
tests/test_dictionary_lookup.py
|
50
|
+
tests/test_llm.py
|
51
|
+
tests/test_mock_services.py
|
52
|
+
tests/test_servicemanager.py
|
53
|
+
tests/test_translation.py
|
@@ -6,7 +6,7 @@ from setuptools.command.install import install
|
|
6
6
|
# twine upload dist/*
|
7
7
|
|
8
8
|
setup(name='cloudlanguagetools',
|
9
|
-
version='11.3.
|
9
|
+
version='11.3.3',
|
10
10
|
description='Interface with various cloud APIs for language processing such as translation, text to speech',
|
11
11
|
long_description=open('README.rst', encoding='utf-8').read(),
|
12
12
|
url='https://github.com/Language-Tools/cloud-language-tools-core',
|