В VoxBase iCloud не является мозгом системы.
Он работает курьером.
iPhone
› iCloud переносит запись
› Mac обрабатывает её локально
› Markdown возвращается в iCloud
Саму транскрибацию выполняет мой Mac:
• Silero VAD находит речь
• ffmpeg подготавливает аудио
• whisper-cli запускает модель large-v3
• Metal GPU ускоряет обработку
• внешний API для транскрибации не нужен
Нет оплаты за минуты.
Нет лимита запросов.
Нет необходимости отправлять разговор стороннему сервису.
Но локальность сама по себе ничего не решает, если каждый файл приходится запускать руками.
Поэтому VoxBase работает через launchd, системный планировщик macOS.
В конфигурации worker есть простая логика:
<key>StartInterval</key>
<integer>60</integer>
Это означает: примерно раз в минуту macOS запускает проверку новых записей.
Worker смотрит:
• полностью ли файл скачался из iCloud
• перестал ли меняться его размер
• не был ли он обработан раньше
• не работает ли уже другой экземпляр
• можно ли безопасно начать транскрибацию
Если все готово, начинается pipeline.
Если нет, файл просто ждет следующей проверки.
Я отдельно проверял сценарии с разрывами:
iPhone без интернета
› появился Wi-Fi
› запись синхронизировалась
› VoxBase сделал транскрипт
И другой вариант:
worker остановлен
› записи накапливаются
› worker запускается
› очередь обрабатывается
То есть система не требует идеального момента, когда одновременно доступны iPhone, интернет и Mac, она продолжает работу, когда условия снова становятся нормальными.
Еще одно важное решение появилось после проблем с CloudKit.
Сначала часть рабочих файлов тоже находилась в iCloud. Но chunks, временное аудио, логи и постоянно меняющийся state начали раздувать локальный кэш облака.
После этого архитектура стала жестче.
В iCloud:
• готовые Markdown-транскрипты
• metadata
• постоянные копии оригиналов
Локально на Mac:
• временная обработка
• chunks
• логи
• state
• ошибки
• locks и cache
Правило получилось простым:
iCloud должен хранить артефакты, а не внутренности работающей машины.
Отдельный агент ночью удаляет временные улучшенные аудиофайлы. Оригиналы при этом не удаляются никогда.
В итоге роли разделены:
iCloud переносит
› launchd следит
› Mac обрабатывает
› Markdown сохраняет результат
VoxBase работает самостоятельно не потому, что в нём много AI.
А потому, что обычные системные детали собраны в устойчивый цикл: проверить, обработать, сохранить, не повторить и очистить временное.
В следующем посте расскажу про следующий слой: как система может определить не только что было сказано, но и где именно говорю я.
#VoxBase@annsFlow
Оглавление темы 📌
Навигация по проектам канала 📍
Все каналы 🎶