Spaces:
Runtime error
Runtime error
import gradio as gr | |
from pydub import AudioSegment | |
from ffmpy import FFmpeg | |
from PIL import Image | |
import torchvision.transforms as transforms | |
import torch | |
import numpy as np | |
import sympy as sp | |
import websockets | |
import asyncio | |
import tomlkit | |
import svgwrite | |
import sniffio | |
import shellingham | |
import semantic_version | |
import ruff | |
import python_multipart | |
import pygments | |
import pydantic_core | |
import orjson | |
import networkx as nx | |
import mdurl | |
import markupsafe | |
import h11 | |
import fonttools | |
import exceptiongroup | |
import annotated_types | |
import aiofiles | |
import uvicorn | |
import pydantic | |
import markdown_it_py | |
import jinja2 | |
import httpcore | |
import anyio | |
import starlette | |
import rich | |
import httpx | |
import typer | |
import safehttpx | |
import gradio_client | |
import fastapi | |
# Функция для обработки аудио | |
def process_audio(audio_file): | |
""" | |
Обрабатывает аудиофайл: увеличивает громкость на 10 dB. | |
""" | |
audio = AudioSegment.from_file(audio_file) | |
audio = audio + 10 # Увеличиваем громкость | |
output_file = "processed_audio.mp3" | |
audio.export(output_file, format="mp3") | |
return output_file | |
# Функция для обработки изображений | |
def process_image(image_file): | |
""" | |
Обрабатывает изображение: изменяет яркость. | |
""" | |
image = Image.open(image_file) | |
transform = transforms.ToTensor() | |
tensor_image = transform(image) | |
tensor_image = tensor_image * 0.5 # Уменьшаем яркость | |
image = transforms.ToPILImage()(tensor_image) | |
output_file = "processed_image.png" | |
image.save(output_file) | |
return output_file | |
# Функция для решения математического уравнения с использованием sympy | |
def solve_equation(equation): | |
""" | |
Решает математическое уравнение с помощью sympy. | |
""" | |
x = sp.symbols('x') | |
solution = sp.solve(equation, x) | |
return str(solution) | |
# Функция для создания графа с использованием networkx | |
def create_graph(): | |
""" | |
Создает и визуализирует простой граф с помощью networkx. | |
""" | |
G = nx.Graph() | |
G.add_edges_from([(1, 2), (2, 3), (3, 4), (4, 1)]) | |
pos = nx.spring_layout(G) | |
nx.draw(G, pos, with_labels=True) | |
output_file = "graph.png" | |
plt.savefig(output_file) | |
return output_file | |
# Функция для генерации SVG с использованием svgwrite | |
def generate_svg(): | |
""" | |
Генерирует простой SVG файл с помощью svgwrite. | |
""" | |
dwg = svgwrite.Drawing('test.svg', profile='tiny') | |
dwg.add(dwg.line((0, 0), (100, 100), stroke=svgwrite.rgb(10, 10, 16, '%'))) | |
dwg.add(dwg.text('Hello, SVG!', insert=(10, 20))) | |
dwg.save() | |
return 'test.svg' | |
# Создание интерфейсов Gradio | |
audio_interface = gr.Interface( | |
fn=process_audio, | |
inputs=gr.Audio(type="filepath"), | |
outputs=gr.Audio(type="filepath"), | |
title="Обработка аудио", | |
description="Увеличиваем громкость аудио на 10 dB." | |
) | |
image_interface = gr.Interface( | |
fn=process_image, | |
inputs=gr.Image(type="filepath"), | |
outputs=gr.Image(type="filepath"), | |
title="Обработка изображений", | |
description="Изменяем яркость изображения." | |
) | |
equation_interface = gr.Interface( | |
fn=solve_equation, | |
inputs=gr.Textbox(label="Введите уравнение (например, x**2 - 4)"), | |
outputs=gr.Textbox(label="Решение"), | |
title="Решение уравнений", | |
description="Решает математические уравнения с помощью sympy." | |
) | |
graph_interface = gr.Interface( | |
fn=create_graph, | |
inputs=None, | |
outputs=gr.Image(type="filepath"), | |
title="Генерация графа", | |
description="Создает и визуализирует простой граф с помощью networkx." | |
) | |
svg_interface = gr.Interface( | |
fn=generate_svg, | |
inputs=None, | |
outputs=gr.File(label="SVG файл"), | |
title="Генерация SVG", | |
description="Генерирует простой SVG файл с помощью svgwrite." | |
) | |
# Объединение интерфейсов в одно приложение | |
app = gr.TabbedInterface( | |
[audio_interface, image_interface, equation_interface, graph_interface, svg_interface], | |
["Обработка аудио", "Обработка изображений", "Решение уравнений", "Генерация графа", "Генерация SVG"] | |
) | |
# Запуск приложения | |
if __name__ == "__main__": | |
app.launch() |