vnggncb/giga-am
0
GigaAM - API для распознавания русской речи
REST API для распознавания русской речи на базе GigaAM-v3-e2e-RNNT.
Использование
API Эндпоинты
POST /api/transcribe- Распознавание речи из аудиофайлаPOST /api/debug-embeddings- Диагностика проблем с диаризацией спикеровGET /api/health- Проверка работоспособностиGET /api/info- Информация о приложенииGET /api/metrics- Метрики производительностиGET /api/cache/stats- Статистика кэшаGET /docs- Swagger документация
Пример запроса
curl -X POST "https://your-space.hf.space/api/transcribe" \
-F "file=@audio.mp3"Ответ
{
"success": true,
"segments": [
{
"text": "Привет, как дела?",
"start": 0.5,
"end": 2.1,
"start_formatted": "00:00:00.500",
"end_formatted": "00:00:02.100",
"duration": 1.6
}
],
"total_duration": 2.1
}Поддерживаемые форматы
MP3, WAV, FLAC, M4A, AAC, OGG, WEBM (макс. 100MB)
Диаризация спикеров (Speaker Diarization)
API автоматически определяет разных спикеров в диалоге.
Автоматическое улучшение качества аудио ✨
Сервис автоматически апсемплирует аудио до 16kHz, если sample rate ниже. Это значительно улучшает качество диаризации без дополнительных действий.
Пример:
- Входное аудио: 8000 Hz → Автоматически → 16000 Hz
- Результат: Корректное определение спикеров
Настройка:
# Включено по умолчанию
export AUTO_RESAMPLE_ENABLED=true
export TARGET_SAMPLE_RATE=16000
# Отключить (не рекомендуется)
export AUTO_RESAMPLE_ENABLED=falseПодробнее: AUTO_RESAMPLE.md
Проблемы с диаризацией?
Если все сегменты получают SPEAKER_01, используйте диагностику:
curl -X POST "http://localhost:7860/api/debug-embeddings" \
-F "file=@audio.mp3" | jq .Система автоматически выдаст рекомендации по настройке параметров.
Документация:
- QUICK_FIX_DIARIZATION.md - Быстрое решение
- DIARIZATION_ANALYSIS.md - Детальный анализ
- DIARIZATION_DEBUG.md - Полная диагностика
- docs/CLUSTERING_TUNING.md - Настройка параметров
Параметры кластеризации
# Строгая кластеризация (больше спикеров)
export CLUSTERING_BASE_THRESHOLD=0.30
# Мягкая кластеризация (меньше спикеров)
export CLUSTERING_BASE_THRESHOLD=0.45
# Другие параметры
export CLUSTERING_MIN_SEGMENT_DURATION=0.3
export CLUSTERING_TEMPORAL_WEIGHT=0.1
export CLUSTERING_CONFIDENCE_THRESHOLD=0.6Настройка
Для работы с длинными аудио добавьте HF_TOKEN в Repository Settings → Secrets:
- Получите токен: https://huggingface.co/settings/tokens
- Примите условия: https://huggingface.co/pyannote/segmentation-3.0
- Добавьте токен в Secrets как
HF_TOKEN
Переменные окружения
TRANSCRIPTION_TIMEOUT- Таймаут распознавания в секундах (по умолчанию 900 = 15 минут)MODEL_LOADING_TIMEOUT- Таймаут загрузки модели в секундах (по умолчанию 1800 = 30 минут)HF_TOKEN- Токен для доступа к pyannote/segmentation-3.0
