Spaces:
No application file
No application file
Update run.ipynb
Browse files
run.ipynb
CHANGED
|
@@ -20,9 +20,162 @@
|
|
| 20 |
"from gtts import gTTS\n",
|
| 21 |
"import os\n",
|
| 22 |
"\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
"# Функция для преобразования текста в речь\n",
|
| 24 |
-
"def text_to_speech(text, language
|
| 25 |
-
"
|
|
|
|
| 26 |
" audio_file = \"output.mp3\"\n",
|
| 27 |
" tts.save(audio_file)\n",
|
| 28 |
" return audio_file\n",
|
|
@@ -32,11 +185,11 @@
|
|
| 32 |
" fn=text_to_speech,\n",
|
| 33 |
" inputs=[\n",
|
| 34 |
" gr.Textbox(label=\"Введите текст\", placeholder=\"Введите текст здесь...\"),\n",
|
| 35 |
-
" gr.Dropdown(label=\"Выберите язык\", choices=
|
| 36 |
" ],\n",
|
| 37 |
" outputs=gr.Audio(label=\"Аудио\"),\n",
|
| 38 |
" title=\"Text-to-Speech Converter\",\n",
|
| 39 |
-
" description=\"Преобразуйте текст в речь с помощью gTTS
|
| 40 |
")\n",
|
| 41 |
"\n",
|
| 42 |
"# Запускаем интерфейс\n",
|
|
|
|
| 20 |
"from gtts import gTTS\n",
|
| 21 |
"import os\n",
|
| 22 |
"\n",
|
| 23 |
+
"# Список поддерживаемых языков и их кодов\n",
|
| 24 |
+
"LANGUAGES = {\n",
|
| 25 |
+
" \"Английский\": \"en\",\n",
|
| 26 |
+
" \"Русский\": \"ru\",\n",
|
| 27 |
+
" \"Испанский\": \"es\",\n",
|
| 28 |
+
" \"Французский\": \"fr\",\n",
|
| 29 |
+
" \"Немецкий\": \"de\",\n",
|
| 30 |
+
" \"Итальянский\": \"it\",\n",
|
| 31 |
+
" \"Китайский (упрощенный)\": \"zh-cn\",\n",
|
| 32 |
+
" \"Японский\": \"ja\",\n",
|
| 33 |
+
" \"Корейский\": \"ko\",\n",
|
| 34 |
+
" \"Арабский\": \"ar\",\n",
|
| 35 |
+
" \"Хинди\": \"hi\",\n",
|
| 36 |
+
" \"Португальский\": \"pt\",\n",
|
| 37 |
+
" \"Турецкий\": \"tr\",\n",
|
| 38 |
+
" \"Голландский\": \"nl\",\n",
|
| 39 |
+
" \"Польский\": \"pl\",\n",
|
| 40 |
+
" \"Шведский\": \"sv\",\n",
|
| 41 |
+
" \"Финский\": \"fi\",\n",
|
| 42 |
+
" \"Греческий\": \"el\",\n",
|
| 43 |
+
" \"Чешский\": \"cs\",\n",
|
| 44 |
+
" \"Венгерский\": \"hu\",\n",
|
| 45 |
+
" \"Датский\": \"da\",\n",
|
| 46 |
+
" \"Норвежский\": \"no\",\n",
|
| 47 |
+
" \"Тайский\": \"th\",\n",
|
| 48 |
+
" \"Вьетнамский\": \"vi\",\n",
|
| 49 |
+
" \"Индонезийский\": \"id\",\n",
|
| 50 |
+
" \"Украинский\": \"uk\",\n",
|
| 51 |
+
" \"Каталанский\": \"ca\",\n",
|
| 52 |
+
" \"Румынский\": \"ro\",\n",
|
| 53 |
+
" \"Словацкий\": \"sk\",\n",
|
| 54 |
+
" \"Словенский\": \"sl\",\n",
|
| 55 |
+
" \"Филиппинский\": \"tl\",\n",
|
| 56 |
+
" \"Малайский\": \"ms\",\n",
|
| 57 |
+
" \"Хорватский\": \"hr\",\n",
|
| 58 |
+
" \"Эстонский\": \"et\",\n",
|
| 59 |
+
" \"Латышский\": \"lv\",\n",
|
| 60 |
+
" \"Литовский\": \"lt\",\n",
|
| 61 |
+
" \"Сербский\": \"sr\",\n",
|
| 62 |
+
" \"Болгарский\": \"bg\",\n",
|
| 63 |
+
" \"Исландский\": \"is\",\n",
|
| 64 |
+
" \"Македонский\": \"mk\",\n",
|
| 65 |
+
" \"Африкаанс\": \"af\",\n",
|
| 66 |
+
" \"Суахили\": \"sw\",\n",
|
| 67 |
+
" \"Валлийский\": \"cy\",\n",
|
| 68 |
+
" \"Ирландский\": \"ga\",\n",
|
| 69 |
+
" \"Мальтийский\": \"mt\",\n",
|
| 70 |
+
" \"Баскский\": \"eu\",\n",
|
| 71 |
+
" \"Галисийский\": \"gl\",\n",
|
| 72 |
+
" \"Шотландский (гэльский)\": \"gd\",\n",
|
| 73 |
+
" \"Бенгальский\": \"bn\",\n",
|
| 74 |
+
" \"Тамильский\": \"ta\",\n",
|
| 75 |
+
" \"Телугу\": \"te\",\n",
|
| 76 |
+
" \"Каннада\": \"kn\",\n",
|
| 77 |
+
" \"Малаялам\": \"ml\",\n",
|
| 78 |
+
" \"Сингальский\": \"si\",\n",
|
| 79 |
+
" \"Урду\": \"ur\",\n",
|
| 80 |
+
" \"Персидский\": \"fa\",\n",
|
| 81 |
+
" \"Иврит\": \"he\",\n",
|
| 82 |
+
" \"Йоруба\": \"yo\",\n",
|
| 83 |
+
" \"Зулу\": \"zu\",\n",
|
| 84 |
+
" \"Кхмерский\": \"km\",\n",
|
| 85 |
+
" \"Лаосский\": \"lo\",\n",
|
| 86 |
+
" \"Монгольский\": \"mn\",\n",
|
| 87 |
+
" \"Бирманский\": \"my\",\n",
|
| 88 |
+
" \"Непальский\": \"ne\",\n",
|
| 89 |
+
" \"Пушту\": \"ps\",\n",
|
| 90 |
+
" \"Синдхи\": \"sd\",\n",
|
| 91 |
+
" \"Сомали\": \"so\",\n",
|
| 92 |
+
" \"Таджикский\": \"tg\",\n",
|
| 93 |
+
" \"Узбекский\": \"uz\",\n",
|
| 94 |
+
" \"Курдский\": \"ku\",\n",
|
| 95 |
+
" \"Татарский\": \"tt\",\n",
|
| 96 |
+
" \"Чувашский\": \"cv\",\n",
|
| 97 |
+
" \"Уйгурский\": \"ug\",\n",
|
| 98 |
+
" \"Башкирский\": \"ba\",\n",
|
| 99 |
+
" \"Чеченский\": \"ce\",\n",
|
| 100 |
+
" \"Аварский\": \"av\",\n",
|
| 101 |
+
" \"Адыгейский\": \"ady\",\n",
|
| 102 |
+
" \"Кабардино-черкесский\": \"kbd\",\n",
|
| 103 |
+
" \"Карачаево-балкарский\": \"krc\",\n",
|
| 104 |
+
" \"Лакский\": \"lbe\",\n",
|
| 105 |
+
" \"Лезгинский\": \"lez\",\n",
|
| 106 |
+
" \"Табасаранский\": \"tab\",\n",
|
| 107 |
+
" \"Агульский\": \"agx\",\n",
|
| 108 |
+
" \"Рутульский\": \"rut\",\n",
|
| 109 |
+
" \"Цахурский\": \"tkr\",\n",
|
| 110 |
+
" \"Арчинский\": \"aqc\",\n",
|
| 111 |
+
" \"Ахвахский\": \"akv\",\n",
|
| 112 |
+
" \"Багвалинский\": \"bgl\",\n",
|
| 113 |
+
" \"Ботлихский\": \"bph\",\n",
|
| 114 |
+
" \"Годоберинский\": \"gdo\",\n",
|
| 115 |
+
" \"Гунзибский\": \"gun\",\n",
|
| 116 |
+
" \"Дидойский\": \"ddo\",\n",
|
| 117 |
+
" \"Каратинский\": \"kpt\",\n",
|
| 118 |
+
" \"Тиндинский\": \"tin\",\n",
|
| 119 |
+
" \"Хваршинский\": \"khv\",\n",
|
| 120 |
+
" \"Цезский\": \"ddo\",\n",
|
| 121 |
+
" \"Чамалинский\": \"cji\",\n",
|
| 122 |
+
" \"Чеченский (кистинский)\": \"che\",\n",
|
| 123 |
+
" \"Эрзянский\": \"myv\",\n",
|
| 124 |
+
" \"Мокшанский\": \"mdf\",\n",
|
| 125 |
+
" \"Марийский\": \"chm\",\n",
|
| 126 |
+
" \"Удмуртский\": \"udm\",\n",
|
| 127 |
+
" \"Коми\": \"kv\",\n",
|
| 128 |
+
" \"Коми-пермяцкий\": \"koi\",\n",
|
| 129 |
+
" \"Карельский\": \"krl\",\n",
|
| 130 |
+
" \"Вепсский\": \"vep\",\n",
|
| 131 |
+
" \"Саамский\": \"smi\",\n",
|
| 132 |
+
" \"Ненецкий\": \"yrk\",\n",
|
| 133 |
+
" \"Селькупский\": \"sel\",\n",
|
| 134 |
+
" \"Хантыйский\": \"kca\",\n",
|
| 135 |
+
" \"Мансийский\": \"mns\",\n",
|
| 136 |
+
" \"Эвенкийский\": \"evn\",\n",
|
| 137 |
+
" \"Эвенский\": \"eve\",\n",
|
| 138 |
+
" \"Нанайский\": \"gld\",\n",
|
| 139 |
+
" \"Ульчский\": \"ulc\",\n",
|
| 140 |
+
" \"Орокский\": \"oaa\",\n",
|
| 141 |
+
" \"Удэгейский\": \"ude\",\n",
|
| 142 |
+
" \"Орочский\": \"oac\",\n",
|
| 143 |
+
" \"Негидальский\": \"neg\",\n",
|
| 144 |
+
" \"Нивхский\": \"niv\",\n",
|
| 145 |
+
" \"Кетский\": \"ket\",\n",
|
| 146 |
+
" \"Юкагирский\": \"yux\",\n",
|
| 147 |
+
" \"Чукотский\": \"ckt\",\n",
|
| 148 |
+
" \"Корякский\": \"kpy\",\n",
|
| 149 |
+
" \"Ительменский\": \"itl\",\n",
|
| 150 |
+
" \"Алеутский\": \"ale\",\n",
|
| 151 |
+
" \"Эскимосский\": \"ipk\",\n",
|
| 152 |
+
" \"Алюторский\": \"alr\",\n",
|
| 153 |
+
" \"Керекский\": \"krk\",\n",
|
| 154 |
+
" \"Нивхский (амурский)\": \"niv\",\n",
|
| 155 |
+
" \"Нивхский (сахалинский)\": \"niv\",\n",
|
| 156 |
+
" \"Орокский (ульчский)\": \"oaa\",\n",
|
| 157 |
+
" \"Орокский (нанайский)\": \"oaa\",\n",
|
| 158 |
+
" \"Орокский (удэгейский)\": \"oaa\",\n",
|
| 159 |
+
" \"Орокский (орочский)\": \"oaa\",\n",
|
| 160 |
+
" \"Орокский (негидальский)\": \"oaa\",\n",
|
| 161 |
+
" \"Орокский (нивхский)\": \"oaa\",\n",
|
| 162 |
+
" \"Орокский (кетский)\": \"oaa\",\n",
|
| 163 |
+
" \"Орокский (юкагирский)\": \"oaa\",\n",
|
| 164 |
+
" \"Орокский (чукотский)\": \"oaa\",\n",
|
| 165 |
+
" \"Орокский (корякский)\": \"oaa\",\n",
|
| 166 |
+
" \"Орокский (ительменский)\": \"oaa\",\n",
|
| 167 |
+
" \"Орокский (алеутский)\": \"oaa\",\n",
|
| 168 |
+
" \"Орокский (эскимосский)\": \"oaa\",\n",
|
| 169 |
+
" \"Орокский (алюторский)\": \"oaa\",\n",
|
| 170 |
+
" \"Орокский (керекский)\": \"oaa\",\n",
|
| 171 |
+
" \"Орокский (нивхский амурский)\": \"oaa\",\n",
|
| 172 |
+
" \"Орокский (нивхский сахалинский)\": \"oaa\"\n",
|
| 173 |
+
"}\n",
|
| 174 |
+
"\n",
|
| 175 |
"# Функция для преобразования текста в речь\n",
|
| 176 |
+
"def text_to_speech(text, language):\n",
|
| 177 |
+
" lang_code = LANGUAGES[language]\n",
|
| 178 |
+
" tts = gTTS(text=text, lang=lang_code)\n",
|
| 179 |
" audio_file = \"output.mp3\"\n",
|
| 180 |
" tts.save(audio_file)\n",
|
| 181 |
" return audio_file\n",
|
|
|
|
| 185 |
" fn=text_to_speech,\n",
|
| 186 |
" inputs=[\n",
|
| 187 |
" gr.Textbox(label=\"Введите текст\", placeholder=\"Введите текст здесь...\"),\n",
|
| 188 |
+
" gr.Dropdown(label=\"Выберите язык\", choices=list(LANGUAGES.keys()), value=\"Английский\")\n",
|
| 189 |
" ],\n",
|
| 190 |
" outputs=gr.Audio(label=\"Аудио\"),\n",
|
| 191 |
" title=\"Text-to-Speech Converter\",\n",
|
| 192 |
+
" description=\"Преобразуйте текст в речь с помощью gTTS. Выберите язык из списка.\"\n",
|
| 193 |
")\n",
|
| 194 |
"\n",
|
| 195 |
"# Запускаем интерфейс\n",
|