{ "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 }