File size: 9,387 Bytes
2ad50bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f8f2e8e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2ad50bf
f8f2e8e
 
 
2ad50bf
 
 
 
 
 
 
 
 
f8f2e8e
2ad50bf
 
 
f8f2e8e
2ad50bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
de3e82c
 
 
2ad50bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Установка необходимых библиотек\n",
    "!pip install gradio gtts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import gradio as gr\n",
    "from gtts import gTTS\n",
    "import os\n",
    "\n",
    "# Список поддерживаемых языков и их кодов\n",
    "LANGUAGES = {\n",
    "    \"Английский\": \"en\",\n",
    "    \"Русский\": \"ru\",\n",
    "    \"Испанский\": \"es\",\n",
    "    \"Французский\": \"fr\",\n",
    "    \"Немецкий\": \"de\",\n",
    "    \"Итальянский\": \"it\",\n",
    "    \"Китайский (упрощенный)\": \"zh-cn\",\n",
    "    \"Японский\": \"ja\",\n",
    "    \"Корейский\": \"ko\",\n",
    "    \"Арабский\": \"ar\",\n",
    "    \"Хинди\": \"hi\",\n",
    "    \"Португальский\": \"pt\",\n",
    "    \"Турецкий\": \"tr\",\n",
    "    \"Голландский\": \"nl\",\n",
    "    \"Польский\": \"pl\",\n",
    "    \"Шведский\": \"sv\",\n",
    "    \"Финский\": \"fi\",\n",
    "    \"Греческий\": \"el\",\n",
    "    \"Чешский\": \"cs\",\n",
    "    \"Венгерский\": \"hu\",\n",
    "    \"Датский\": \"da\",\n",
    "    \"Норвежский\": \"no\",\n",
    "    \"Тайский\": \"th\",\n",
    "    \"Вьетнамский\": \"vi\",\n",
    "    \"Индонезийский\": \"id\",\n",
    "    \"Украинский\": \"uk\",\n",
    "    \"Каталанский\": \"ca\",\n",
    "    \"Румынский\": \"ro\",\n",
    "    \"Словацкий\": \"sk\",\n",
    "    \"Словенский\": \"sl\",\n",
    "    \"Филиппинский\": \"tl\",\n",
    "    \"Малайский\": \"ms\",\n",
    "    \"Хорватский\": \"hr\",\n",
    "    \"Эстонский\": \"et\",\n",
    "    \"Латышский\": \"lv\",\n",
    "    \"Литовский\": \"lt\",\n",
    "    \"Сербский\": \"sr\",\n",
    "    \"Болгарский\": \"bg\",\n",
    "    \"Исландский\": \"is\",\n",
    "    \"Македонский\": \"mk\",\n",
    "    \"Африкаанс\": \"af\",\n",
    "    \"Суахили\": \"sw\",\n",
    "    \"Валлийский\": \"cy\",\n",
    "    \"Ирландский\": \"ga\",\n",
    "    \"Мальтийский\": \"mt\",\n",
    "    \"Баскский\": \"eu\",\n",
    "    \"Галисийский\": \"gl\",\n",
    "    \"Шотландский (гэльский)\": \"gd\",\n",
    "    \"Бенгальский\": \"bn\",\n",
    "    \"Тамильский\": \"ta\",\n",
    "    \"Телугу\": \"te\",\n",
    "    \"Каннада\": \"kn\",\n",
    "    \"Малаялам\": \"ml\",\n",
    "    \"Сингальский\": \"si\",\n",
    "    \"Урду\": \"ur\",\n",
    "    \"Персидский\": \"fa\",\n",
    "    \"Иврит\": \"he\",\n",
    "    \"Йоруба\": \"yo\",\n",
    "    \"Зулу\": \"zu\",\n",
    "    \"Кхмерский\": \"km\",\n",
    "    \"Лаосский\": \"lo\",\n",
    "    \"Монгольский\": \"mn\",\n",
    "    \"Бирманский\": \"my\",\n",
    "    \"Непальский\": \"ne\",\n",
    "    \"Пушту\": \"ps\",\n",
    "    \"Синдхи\": \"sd\",\n",
    "    \"Сомали\": \"so\",\n",
    "    \"Таджикский\": \"tg\",\n",
    "    \"Узбекский\": \"uz\",\n",
    "    \"Курдский\": \"ku\",\n",
    "    \"Татарский\": \"tt\",\n",
    "    \"Чувашский\": \"cv\",\n",
    "    \"Уйгурский\": \"ug\",\n",
    "    \"Башкирский\": \"ba\",\n",
    "    \"Чеченский\": \"ce\",\n",
    "    \"Аварский\": \"av\",\n",
    "    \"Адыгейский\": \"ady\",\n",
    "    \"Кабардино-черкесский\": \"kbd\",\n",
    "    \"Карачаево-балкарский\": \"krc\",\n",
    "    \"Лакский\": \"lbe\",\n",
    "    \"Лезгинский\": \"lez\",\n",
    "    \"Табасаранский\": \"tab\",\n",
    "    \"Агульский\": \"agx\",\n",
    "    \"Рутульский\": \"rut\",\n",
    "    \"Цахурский\": \"tkr\",\n",
    "    \"Арчинский\": \"aqc\",\n",
    "    \"Ахвахский\": \"akv\",\n",
    "    \"Багвалинский\": \"bgl\",\n",
    "    \"Ботлихский\": \"bph\",\n",
    "    \"Годоберинский\": \"gdo\",\n",
    "    \"Гунзибский\": \"gun\",\n",
    "    \"Дидойский\": \"ddo\",\n",
    "    \"Каратинский\": \"kpt\",\n",
    "    \"Тиндинский\": \"tin\",\n",
    "    \"Хваршинский\": \"khv\",\n",
    "    \"Цезский\": \"ddo\",\n",
    "    \"Чамалинский\": \"cji\",\n",
    "    \"Чеченский (кистинский)\": \"che\",\n",
    "    \"Эрзянский\": \"myv\",\n",
    "    \"Мокшанский\": \"mdf\",\n",
    "    \"Марийский\": \"chm\",\n",
    "    \"Удмуртский\": \"udm\",\n",
    "    \"Коми\": \"kv\",\n",
    "    \"Коми-пермяцкий\": \"koi\",\n",
    "    \"Карельский\": \"krl\",\n",
    "    \"Вепсский\": \"vep\",\n",
    "    \"Саамский\": \"smi\",\n",
    "    \"Ненецкий\": \"yrk\",\n",
    "    \"Селькупский\": \"sel\",\n",
    "    \"Хантыйский\": \"kca\",\n",
    "    \"Мансийский\": \"mns\",\n",
    "    \"Эвенкийский\": \"evn\",\n",
    "    \"Эвенский\": \"eve\",\n",
    "    \"Нанайский\": \"gld\",\n",
    "    \"Ульчский\": \"ulc\",\n",
    "    \"Орокский\": \"oaa\",\n",
    "    \"Удэгейский\": \"ude\",\n",
    "    \"Орочский\": \"oac\",\n",
    "    \"Негидальский\": \"neg\",\n",
    "    \"Нивхский\": \"niv\",\n",
    "    \"Кетский\": \"ket\",\n",
    "    \"Юкагирский\": \"yux\",\n",
    "    \"Чукотский\": \"ckt\",\n",
    "    \"Корякский\": \"kpy\",\n",
    "    \"Ительменский\": \"itl\",\n",
    "    \"Алеутский\": \"ale\",\n",
    "    \"Эскимосский\": \"ipk\",\n",
    "    \"Алюторский\": \"alr\",\n",
    "    \"Керекский\": \"krk\",\n",
    "    \"Нивхский (амурский)\": \"niv\",\n",
    "    \"Нивхский (сахалинский)\": \"niv\",\n",
    "    \"Орокский (ульчский)\": \"oaa\",\n",
    "    \"Орокский (нанайский)\": \"oaa\",\n",
    "    \"Орокский (удэгейский)\": \"oaa\",\n",
    "    \"Орокский (орочский)\": \"oaa\",\n",
    "    \"Орокский (негидальский)\": \"oaa\",\n",
    "    \"Орокский (нивхский)\": \"oaa\",\n",
    "    \"Орокский (кетский)\": \"oaa\",\n",
    "    \"Орокский (юкагирский)\": \"oaa\",\n",
    "    \"Орокский (чукотский)\": \"oaa\",\n",
    "    \"Орокский (корякский)\": \"oaa\",\n",
    "    \"Орокский (ительменский)\": \"oaa\",\n",
    "    \"Орокский (алеутский)\": \"oaa\",\n",
    "    \"Орокский (эскимосский)\": \"oaa\",\n",
    "    \"Орокский (алюторский)\": \"oaa\",\n",
    "    \"Орокский (керекский)\": \"oaa\",\n",
    "    \"Орокский (нивхский амурский)\": \"oaa\",\n",
    "    \"Орокский (нивхский сахалинский)\": \"oaa\"\n",
    "}\n",
    "\n",
    "# Функция для преобразования текста в речь\n",
    "def text_to_speech(text, language):\n",
    "    lang_code = LANGUAGES[language]\n",
    "    tts = gTTS(text=text, lang=lang_code)\n",
    "    audio_file = \"output.mp3\"\n",
    "    tts.save(audio_file)\n",
    "    return audio_file\n",
    "\n",
    "# Создаем интерфейс Gradio\n",
    "iface = gr.Interface(\n",
    "    fn=text_to_speech,\n",
    "    inputs=[\n",
    "        gr.Textbox(label=\"Введите текст\", placeholder=\"Введите текст здесь...\"),\n",
    "        gr.Dropdown(label=\"Выберите язык\", choices=list(LANGUAGES.keys()), value=\"Английский\")\n",
    "    ],\n",
    "    outputs=gr.Audio(label=\"Аудио\"),\n",
    "    title=\"Text-to-Speech Converter\",\n",
    "    description=\"Преобразуйте текст в речь с помощью gTTS. Выберите язык из списка.\"\n",
    ")\n",
    "\n",
    "# Запускаем интерфейс\n",
    "iface.launch(inline=True)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}