Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bd01abff8b | ||
|
|
9272ce4123 | ||
|
|
8ba0f89f89 |
@@ -5,8 +5,8 @@ from pathlib import Path
|
||||
class GlueAudio():
|
||||
def glue(self, audio_files: list, output_path: str, output_filename: str) -> Path:
|
||||
"""
|
||||
Склеивает аудиофайлы РАЗНЫХ форматов с помощью FFmpeg и filter_complex.
|
||||
Это универсальный и эффективный по памяти метод.
|
||||
Склеивает аудиофайлы с помощью FFmpeg, используя промежуточный список файлов.
|
||||
Этот метод чрезвычайно эффективен по памяти и скорости.
|
||||
|
||||
Args:
|
||||
audio_files (list): Список путей к исходным аудиофайлам.
|
||||
@@ -58,4 +58,4 @@ class GlueAudio():
|
||||
print("Stderr:", e.stderr)
|
||||
raise RuntimeError(f"Ошибка FFmpeg при склейке файлов: {e.stderr}")
|
||||
|
||||
return final_audio_path
|
||||
return final_audio_path
|
||||
|
||||
@@ -9,7 +9,7 @@ class GradioHandlers:
|
||||
self.ga = GlueAudio()
|
||||
self.ConvertMdToPdf = ConvertMdToPdf()
|
||||
self.FasterWhisper = FasterWhisper()
|
||||
self.llm_factory = llm_factory # Сохраняем фабрику
|
||||
self.llm_factory = llm_factory
|
||||
|
||||
def handleRecognizeBtn(
|
||||
self, audioFiles, model, device, compute_type, beamSize, vadFilter,
|
||||
|
||||
115
requirements.txt
115
requirements.txt
@@ -100,3 +100,118 @@ uvicorn==0.35.0
|
||||
webencodings==0.5.1
|
||||
websockets==15.0.1
|
||||
zopfli==0.2.3.post1
|
||||
aiofiles==24.1.0
|
||||
aiohappyeyeballs==2.6.1
|
||||
aiohttp==3.13.0
|
||||
aiosignal==1.4.0
|
||||
annotated-types==0.7.0
|
||||
anyio==4.10.0
|
||||
attrs==25.4.0
|
||||
audioop-lts==0.2.2
|
||||
av==15.1.0
|
||||
beautifulsoup4==4.13.5
|
||||
Brotli==1.1.0
|
||||
bs4==0.0.2
|
||||
certifi==2025.8.3
|
||||
cffi==2.0.0
|
||||
charset-normalizer==3.4.3
|
||||
click==8.2.1
|
||||
coloredlogs==15.0.1
|
||||
colour==0.1.5
|
||||
cssselect2==0.8.0
|
||||
ctranslate2==4.6.0
|
||||
distro==1.9.0
|
||||
dotenv==0.9.9
|
||||
exceptiongroup==1.3.0
|
||||
fastapi==0.116.1
|
||||
faster-whisper==1.2.0
|
||||
ffmpeg-python==0.2.0
|
||||
ffmpy==0.6.1
|
||||
filelock==3.19.1
|
||||
flatbuffers==25.2.10
|
||||
flatlatex==0.15
|
||||
fonttools==4.59.2
|
||||
frozenlist==1.8.0
|
||||
fsspec==2025.9.0
|
||||
future==1.0.0
|
||||
g4f==0.6.3.5
|
||||
gradio==5.44.1
|
||||
gradio_client==1.12.1
|
||||
groovy==0.1.2
|
||||
h11==0.16.0
|
||||
hf-xet==1.1.9
|
||||
httpcore==1.0.9
|
||||
httpx==0.28.1
|
||||
huggingface-hub==0.34.4
|
||||
humanfriendly==10.0
|
||||
idna==3.10
|
||||
iso639-lang==2.6.3
|
||||
Jinja2==3.1.6
|
||||
jiter==0.10.0
|
||||
joblib==1.5.2
|
||||
langdetect==1.0.9
|
||||
littleutils==0.2.4
|
||||
markdown-it-py==3.0.0
|
||||
markdown_pdf==1.9
|
||||
MarkupSafe==3.0.2
|
||||
mdurl==0.1.2
|
||||
mpmath==1.3.0
|
||||
multidict==6.7.0
|
||||
nest-asyncio==1.6.0
|
||||
nltk==3.9.1
|
||||
numpy==2.2.6
|
||||
onnxruntime==1.22.1
|
||||
openai==1.106.1
|
||||
orjson==3.11.3
|
||||
outdated==0.2.2
|
||||
packaging==25.0
|
||||
pandas==2.3.2
|
||||
pillow==11.3.0
|
||||
propcache==0.4.0
|
||||
protobuf==6.32.0
|
||||
pycparser==2.22
|
||||
pycryptodome==3.23.0
|
||||
pydantic==2.11.7
|
||||
pydantic_core==2.33.2
|
||||
pydub==0.25.1
|
||||
pydyf==0.11.0
|
||||
Pygments==2.19.2
|
||||
pylatexenc==2.10
|
||||
pymultidictionary==1.3.2
|
||||
PyMuPDF==1.26.4
|
||||
pyperclip==1.9.0
|
||||
pyphen==0.17.2
|
||||
python-dateutil==2.9.0.post0
|
||||
python-dotenv==1.1.1
|
||||
python-multipart==0.0.20
|
||||
pytz==2025.2
|
||||
PyYAML==6.0.2
|
||||
regex==2025.9.1
|
||||
requests==2.32.5
|
||||
rich==14.1.0
|
||||
ruff==0.12.12
|
||||
safehttpx==0.1.6
|
||||
semantic-version==2.10.0
|
||||
setuptools==80.9.0
|
||||
shellingham==1.5.4
|
||||
six==1.17.0
|
||||
sniffio==1.3.1
|
||||
soupsieve==2.8
|
||||
starlette==0.47.3
|
||||
sympy==1.14.0
|
||||
tinycss2==1.4.0
|
||||
tinyhtml5==2.0.0
|
||||
tkmacosx==1.0.5
|
||||
tokenizers==0.22.0
|
||||
tomlkit==0.13.3
|
||||
tqdm==4.67.1
|
||||
typer==0.17.4
|
||||
typing-inspection==0.4.1
|
||||
typing_extensions==4.15.0
|
||||
tzdata==2025.2
|
||||
urllib3==2.5.0
|
||||
uvicorn==0.35.0
|
||||
webencodings==0.5.1
|
||||
websockets==15.0.1
|
||||
yarl==1.22.0
|
||||
zopfli==0.2.3.post1
|
||||
|
||||
19
test.py
Normal file
19
test.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from handlers.convertMdToPdf import ConvertMdToPdf
|
||||
import re
|
||||
# Создаем экземпляр класса
|
||||
converter = ConvertMdToPdf()
|
||||
|
||||
# Тестовые примеры дробей
|
||||
test_cases = [
|
||||
r"$\frac{1}{2}$", # простая дробь
|
||||
r"$\dfrac{3}{4}$", # дробь с displaystyle
|
||||
r"$\frac{a}{b} + \frac{c}{d}$", # сложение дробей
|
||||
r"$$\frac{x^2}{y^3}$$", # блочная дробь
|
||||
r"$\frac{\partial f}{\partial x}$" # частная производная
|
||||
]
|
||||
|
||||
for latex in test_cases:
|
||||
result = converter.replace_math(re.search(r'\$\$(.*?)\$\$|\$(.*?)\$', latex))
|
||||
print(f"Input: {latex}")
|
||||
print(f"Output: {result}")
|
||||
print("---")
|
||||
Reference in New Issue
Block a user