| --- |
| title: IOAI |
| emoji: 🎙️ |
| colorFrom: green |
| colorTo: blue |
| sdk: gradio |
| sdk_version: 5.23.1 |
| app_file: app.py |
| python_version: "3.10" |
| pinned: false |
| license: mit |
| short_description: Any sound as speech — transcribe & respond in same timbre |
| --- |
| |
| # IOAI — Interactive Omnivocal Audio Interpreter |
|
|
| Интерактивная аудиомодель для **бесплатного CPU-тарифа** Hugging Face Spaces. |
|
|
| ## Концепция |
|
|
| Любой входящий звук читается как речевое высказывание. На выходе: |
|
|
| 1. **Текстовая транскрипция** — что звук «сказал» |
| 2. **Звуковой ответ** — собран из зёрен входного сигнала (тот же тембр) |
|
|
| ## Архитектура (free tier) |
|
|
| ``` |
| Входной звук |
| → Perceive (Whisper tiny, CPU) |
| → Interpret (Qwen2.5-0.5B для речи, шаблоны для шума/тишины) |
| → Synthesize (речь espeak+тембр или гранулы из входа) |
| ``` |
|
|
| ## Локальный запуск |
|
|
| ```bash |
| pip install -r requirements.txt |
| python app.py |
| ``` |
|
|
| ## Переменные окружения |
|
|
| | Переменная | По умолчанию | Описание | |
| |---|---|---| |
| | `IOAI_WHISPER_MODEL` | `tiny` | Модель faster-whisper | |
| | `IOAI_LLM_MODEL` | `Qwen/Qwen2.5-0.5B-Instruct` | Лёгкая LLM для диалога | |
| | `IOAI_LLM_ENABLED` | `1` | `0` — только шаблоны | |
| | `IOAI_LLM_MAX_NEW_TOKENS` | `80` | Длина ответа LLM | |
| | `IOAI_WORK_DIR` | temp | Рабочая папка | |
|
|
| ## Ограничения free tier |
|
|
| - CPU only, без GPU |
| - Макс. длина входа: 15 с |
| - LLM — Qwen2.5-0.5B на CPU (~5–15 с на ответ после загрузки) |
| - Для шума/тишины — по-прежнему шаблоны и гранулы |
| - Первый холодный старт дольше: загрузка Whisper + Qwen |
|
|